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