임베디드 시스템 실험 : Device Driver를 이용한 TFT-LCD구동
- 최초 등록일
- 2009.05.23
- 최종 저작일
- 2008.12
- 23페이지/ 압축파일
- 가격 2,000원
소개글
연세대학교 임베디드 시스템 실험 보고서와 소스 코드이다. 마지막 프로젝트로 대부분 나오는 TFT-LCD 구동과 관련된 보고서이다. HDL 코드와 리눅스에서 사용하는 코드등이 다 수정되어서 들어가 있다.
목차
수행과정
1)프로젝트의 전반적인 이해
2 )Hardware Filter 설계
3)Device Driver 설계
3)응용프로그램 작성
코드분석
1)Hardware Filter 부분
2 )Device Driver 부분
3)응용프로그램 부분
하드웨어구조
토 의 및 소감
본문내용
1) 프로젝트의 전반적인 이해
이번 프로젝트를 해결하기 위해서는 이번 학기 동안 해왔던 실험에 대한 전반적인 지식을 갖추어야 했다. 이전에 해왔던 실험은 기말 프로젝트를 위한 기초가 되었다.
기말 프로젝트의 전반적인 이해를 위해서 우선 리눅스 환경을 이해하는 것이 필요했다. 이번 실험은 교차개발환경에서 이루어졌다. 실험에서는 리눅스를 직접 사용하는 대신 가상머신을 이용하였다. VMware라는 프로그램을 사용하여 리눅스를 사용할 수 있었다. 우리는 리눅스를 사용하여 처음으로 리눅스 Kernel을 적재해주는 Bootloader를 기말 프로젝트가 실시되기 몇 주 전에 설치해보았다. Bootloader는 Target Board 부팅 시 하드웨어를 초기화하고, Kernel을 램에 올린 후 실행 권한을 kernel로 전달하는 프로그램으로 PC의 메인 Board에 올라와 있는 롬 바이오스와 비슷한 역할을 한다. 다시 말해, 리눅스 Kernel을 부팅하기 위해 Target Board의 하드웨어에 관련된 초기화와 부팅 파라미터 전달과 같이 부팅에 필요한 초기화 작업을 담당한다. 그리고 Kernel은 운영체제를 구성하고 있는 기능 중 핵심이라고 할 수 있는 부분이다. Kernel은 Target Board의 DRAM에 상주하여 시스템의 구동에 필요한 환경을 만들고 Target Board 상에서 수행되는 프로그램을 관리하는 소프트웨어이다. 이상이 리눅스 환경부분에서 필요한 내용의 핵심이다.
그 다음으로 이해해야 할 부분이 디바이스 드라이버였다. 디바이스 드라이버는 상위개념으로 모듈을 가지고 있다. 모듈은 간단히 말해 리눅스에 kernel을 확장하거나 제거할 수 있는 기능을 제공할 수 있고 모듈을 통해 디바이스 드라이버, 파일시스템 등을 만들 수 있게 해준다. 디바이스 드라이버는 하드웨어 장치, 디바이스를 제어하고 관리하는 방법을 컴퓨터에 알려주는 응용프로그램이라고 생각할 수 있다. 디바이스를 구동시키기 위해 반드시 필요한 프로그램이다. 우선 우리는 led_driver.c의 소스를 제공받아서 수정하는 형태로 led를 몇 주 전에 제어해 본 것에서 Filter를 제어하는 driver에 관한 정보를 얻을 수 있었다. 그리고 기말프로젝트에서 그 파일을 다시 한번 수정하여 TFT-LCD를 제어하는 프로그램을 제작하게 된다. 그리고 제공받은 lcd.c도 새롭게 수정하여 lcd를 제어하는 driver를 만들게 된다.
참고 자료
없음
압축파일 내 파일목록
Project#2.hwp
apb_seg_charlcd.v
Top_Edge.v
vpbGTC.vhd
apb_seg_charlcd_rec.vhd
Makefile
picture.c
lcd.c
led_driver.c