듀얼부팅을 위한 점프와 관련한 ST 로 부터의 조언을 상세히 기록했다. 새로이 알게된 사실들은 다음과 같다.
- 처음 부팅 후 초기화 시에, ICACHE 와 DCACHE 의 비활성화
- 점프를 위해서는 점프할 주소를 가진 HEX 파일, 부트로더 소스상에서의 점프할 주소 지정, CFG 파일에서의 점프할 주소 지정
- 각 블럭단위로 자유롭게 점프할 주소를 지정할 수 있음
- 점프하기 전에 했던 초기화 작업은 점프 후에도 역시 마찬가지로 수행해 주어야 함
다음은 ST 로 부터 소스파일들에 대한 설명이다.
- 16ref100 : 폴더 이름
- testapps : 부트 프로그램 관련
- config : 설정 파일들
또한 5516 을 기반으로 만들어졌기 때문에, mb361.cfg 파일을 참조하기로 한다.
실험 및 결과
실험해 본 결과, ICACHE 와 DCACHE 문제로 판명이 났다. 여기서 한가지 중요한 것은 가장 먼저 실행되는 부트로더 프로그램에서는 ICACHE, DCACHE 를 비활성화 시켜야 한다. 그래야만, 제대로된 점프를 할 수 있다.
하지만, 메인 프로그램에서는 활성화시켜주어야 한다. 어쨋든, 점프 문제는 이렇게 해결이 되었다.