== [0PlayerProject/커널업로드작업정리] == * 하드웨어 메모리 주소 * 앞번지 (0x000000~2M) : NOR Flash 영역 (NOR Flash는 RAM과 구조가 유사하기 때문에 메모리 매핑이 가능) * 중간 (0x030000?~) : RAM 영역. * NAND Flash는 기록 방식이 다르기 때문에 독자적인 메모리 영역을 가짐. * OS 올리기 * 방법 1: 리눅스를 바로 부트영역에 올린다. (단 리눅스가 NOR Flash를 RAM으로 간주하지 않아야만 가능) * 방법 2: U-Boot 사용 (현재 사용하고 있는 방법) * 방법 3: ARMDown 사용 (ARM 부트로더가 올려져 있어야 하며 약간 느림) * 통신을 위한 COM Port 설정 * 속도 : 115200 bps * 제어 : 없음 * 통신방법 - TFTP * 리눅스 서버쪽에 TFTP서버를 인스톨한뒤, 메뉴얼대로 설정을 해준다. * 명령어 * tftp 파일명 위치 : 해당 파일을 지정한 메모리 주소에 기록한다. * go 위치 : 해당 위치의 프로그램을 실행한다. * finfo : NorFlash의 상태를 볼 수 있다. (R0 - U-Boot위치, E - Empty(꼭 지워야만 기록이 가능하다.) * erase 시작위치 끝위치 : 시작 지점에서 끝 지점까지의 내용을 삭제한다. * cp.b 시작위치 끝위치 크기 : 메모리의 시작지점에서 NOR Flash의 위치에 지정한 크기만큼을 복사한다. * MTD * 메모리를 하드디스크처럼 만들어 주는 것. * 종류 : JFFS2 ( 메모리를 위한 것이지만 조금 느림), yaffs ( 안정성이 보장되지 않지만, 그나마 나음) * 현재는 yaffs로 설정되어 있음 * 보드 리눅스 명령어 세팅 * BusyBox를 인스톨해서 모든 명령어를 BusyBox로 링크함. * 라이브러리 * 크로스 컴파일러 안에 들어있는 것을 사용함. * 그래픽 지원 * 큐티 라이브러리를 사용했으나, 매우 느림.. (더군다나 8M..) 그래서 사용하지 않을 계획. ---- [0PlayerProject]