평소 GP2X를 Telnet으로 연결을 했을때 Backlight가 계속 켜져 있고 LCD가 활성화 되어 있는걸 보고 LCD의 수명을 늘리고저 이놈의 하드웨어 스펙을 찾아 보고 있었다.(주로 Telnet으로 가지고 논다.)
대부분의 하드웨어를 컨트롤하는 소프트웨어는 내부 IO를 관장하는 메모리 부분의 값으로 하드웨어를 제어 한다는 사실을 알았고, GP2X의 내부 IO메모리의 메모리 맵에 대한 정보를 찾던중 GPIO Reference를 찾아 응용해서 LCD 제어 프로그램을 만들어 봤다.
그런데 프로그램은 잘 만들었는데 AC 어뎁터를 장착한 다음에는 백 라이트가 꺼지질 않는것이다. 아직 이 문제는 해결하지 못했지만 반절의 성공으로 베터리를 장착한 다음에는 LCD가 100% 꺼진다.
mmap이라는 함수를 처음 써봤고, volatile 선언자를 처음 써봤다.
CPU도 제어해볼라고 했는데. ARM 스펙을 전부 알아야 한다는(좀 복잡하던데..) 한계에 직면해서 그냥 조이스틱이나 LCD, USB정보를 제어해 볼란다.
아래는 소스코드와 실행 파일이다.
GP2X 하드웨어 컨트롤 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.