2017-04-04 24 views
0

헤딩이 약간 이상해 보입니다. 정확히 어떤 것을 써야할지 모르겠지만, 내가 정확히하고 싶은 것을 이해하게 만들 수 있기를 바랍니다. - 기본 부트 로더와 보조 부트 로더가 모두 다른 메모리 영역 (부트 플래시 또는 프로그램 플래시 일 수 있음)에있을 것입니다. - 부트 로더 중 하나가 한 번에 활성화되고 다른 하나는 비활성화됩니다. - 기본 부트 로더가 활성화되어 있고 이제는 응용 프로그램 펌웨어를 다운로드합니다. 또한 응용 프로그램 펌웨어에서 활성 부트 로더 버전을 읽으므로 부트 로더를 업데이트해야하는지 확인할 수 있습니다. - 부트 로더를 업데이트해야하는 경우 비활성 부트 로더가 활성화되고 이전에 활성화 된 부트 로더가 업데이트 된 부트 로더로 바뀝니다. 보조 부트 로더는 다시 비활성 모드로 전환됩니다. 따라서 보조 부트 로더는 기본 부트 로더를 업데이트해야 할 때만 활성화됩니다. - 전체 과정에서 기본 부트 로더 버전, 보조 부트 로더 버전 및 고정 메모리 위치가있는 사용자 정의 구성 데이터에 대한 일부 메모리 영역을 예약하고 응용 프로그램 펌웨어뿐만 아니라 기본, 보조에서 액세스 할 수 있습니다.동일한 PIC32MZ에 여러 부트 로더가 있습니까?

답변

0

링커 파일을 이해해야합니다. 나는 MX/MZ 라인을 위해 이것을 아직하지 못했다. 그러나 나는 많은 dsPIC33에 이런 종류의 것을 가지고 있지 않다. 꽤 많이 다음과 같은 방법 : 부트 로더는 일반적으로 .gld 전용으로 설정된 양의 플래시를 가져 오므로 지우기가 쉽습니다 (0x400). Superboot 로더 (보조 부트 로더)는 실제로로드 할 때 PIC에로드됩니다 새로운 부트 로더. 그래서 슈퍼 부트 로더는 단순히 부트 로더를 업데이트 한 다음 부트 로더의 재설정 주소로 건너 뛰도록 설계된 더 작은 응용 프로그램입니다. 개인적으로는 나중에 혼란을 피하기 위해 항상 보조/수퍼 부트로드 코드를 유지하지 않을 것입니다. PIC 외부의 업데이트 기술을 사용하여 실제로이 작업을 수행 할 수 있습니다. PIC32 라인에 직접적인 도움을 줄 수는 있지만 dsPIC33 라인에 대한 예제 링커 파일을보고 싶으면 필자에게 제공 할 수 있습니다.

+0

PIC32MZ에서 사용할 수있는 부팅 플래시 메모리가 있으며 실시간 업데이트 부트 로더를 사용하면 어떻게 작동합니까? –