nor flash : char device
nand flash : block device
usb는 block device
버퍼링하다가 쓰는 시점이 달라지기 때문에 데이터가 모두 날아갈 수 있는 상황이 생긴다.
nand 에 부트로더를 올리면, 바로 실행이 불가능하다.. 다른 방법 사용
nor에 부트로더를 올리면 바로 실행이 가능하다.
nor가 nand보다 비싸다..
리눅스 커널은 램에서 실행이 되는데, 부트로더에 대한 이해가 필요하다.
부트로더가 먼저 커널을 실행시키는데, 어떤 nor 를 쓰느냐에 따라서 속도가 달라진다.
(즉 적재할 떄가지가 중요하다.)
요즘에 나오는 스마트폰은 flash (nand)를 사용하는데, startup 코드가 다른 구조를 가진다.
파워를 키면, 조금만한 sram 또는 nor를 두고, 분리해서 넣도록 한다.
이때부터 거기서 bootloader가 읽어와서 nand에 있는 정보를 읽어온다.
SOC (system on chip) : 칩하나에 시스템을 운영할 것들이 들어가 있다
cpu, ram, io 가 구성되어 있다. 키보드/led는 밖에 있다.
대부분은 nor를 쓴다. kb 단위의 작은 용량이다. bootcode를 집어넣을 수 있도록 되어 있다.
그래야 device driver에 대한 감을 잡을 수 있다.
'scribbling' 카테고리의 다른 글
오픈 소스 라이센스 내용 (0) | 2011.05.02 |
---|---|
RTOS 참고 블로그 (0) | 2011.04.21 |
리눅스에서 임베디드 드라이버 추가할 때마다.. (0) | 2011.04.18 |
OS 이해 (0) | 2011.04.18 |
fosdem, 동영상 자료 (0) | 2011.04.12 |