Rockchip AP는 세가지의 Booting Mode를 가지고 있으며, BootLoader 가 이상이 있거나, 업데이터를 이용하여 업그레이드가 불가능해졌을때 Mask Rom 모드를 통하여 수정하거나 하는 등의 동작 수행이 가능하다.
Rockchip AP의 부팅 순서는 다음과 같다.
-
power-up initialization (전원 인가)
-
특정 저장장치 안의 부트로더를 확인하기 위하여 BootRom code를 SRAM 에서 동작 시킨다.
-
부트로더가 확인 된 후, 부트로더의 부트 코드를 불러와 실행한다.
-
부트로더의 부트 코드는 DDR 메모리를 초기화 하고, 부트로더의 전체 코드를 초기화된 DDR 메모리로 적재하고 부트로더를 실행한다.
-
부트로더가 지정된 주소로부터 커널을 읽어 램에 적재하고, 커널로 점프 및 실행 한다
Loading Mode
Rockchip에는 BootRom 과 내부 SRAM을 통해 초기화 코드가 진행된다. 초기화 동작 및 하기의 메모리들로 부터 데이터를 읽어 들일 수 있도록 로드한다.
-
8-bit Async Nand Flash
-
8-bit toggle Nand Flash
-
SPI interface
-
eMMC interface
-
SDMMC interface
추가적으로, 이 펌웨어는 USB OTG 인터페이스를 통해 다운로드 및 변경이 가능하다.
Boot Mode
Rockchip AP는 크게 세가지의 부팅 모드를 지원한다.
-
Normal mode
: 일반적인 startup procress로, 각 필요 요소들을 로드하여 시스템을 정상적으로 부팅하는 모드 -
Loader mode
: 부트로더에서 업그레이드 상태로 전환하고 호스트의 업그레이드 명령을 기다린다. 일반적으로 부트로더를 통하여 업그레이드가 필요한 상태일 경우 접근하는 방법
이 모드로 전환하려면, 지정된 RECOVERY KEY를 눌러 부트로더에서 해당 Pin을 체크하여 전환한다. 또한 지정된 USB OTG 포트가 연결되어 있어야 한다. -
MaskRom mode
: MaskRom mode는 부트로더가 정상적이지 않을 시 시스템 복구에 사용된다.
일반적으로, BootRom 코드는 MaskRom mode로 전환되지 않으며, BootRom 코드 동작 시 부트로더가 읽을 수 없거나 손상으로 인하여 확인할 수 없는 상황에서만 진입이 가능하다.
그 후 BootRom 코드는 USB interface를 통하여 Bootloader code가 전송되는 것을 기다리며, 인식된 Host PC 에서 로더 및 코드를 USB를 통하여 전달되면 실행되며 Loader 모드와 같이 업그레이드 할 수 있는 상태로 전환된다.
참조 : http://opensource.rock-chips.com/wiki_Main_Page
'System Programming > Tips' 카테고리의 다른 글
git svn 이관 시 사용 명령어들 (0) | 2020.03.20 |
---|---|
LInux History command 자동 저장 및 환경 설정 파일 (0) | 2020.03.16 |
Samba Memory Leak 및 Out of memory 에러 수정 (0) | 2020.02.21 |
[TSLIB] selected device is not a touchscreen I understand 문제 (0) | 2017.05.10 |
크로스 컴파일 실행파일 no such file or directory 문제 (0) | 2017.01.17 |