맞춤 보드 (LPC1788) 용 임베디드 소프트웨어를 개발 중입니다. 내 목표는 임베디드 시스템 용 C 프로그래밍과 관련된 기술과 경험을 향상시키는 것입니다.LPC1788 - 부트 로더 및 공유 라이브러리
사용자 응용 프로그램이있는 경우이를 시작하는 USB 부트 로더를 구현했습니다. 그렇지 않으면 USB를 통해 응용 프로그램을 쉽게로드하는 데 사용됩니다. 내 USB 부트 로더는 정적 라이브러리 board.a
을 사용하며 사용자 응용 프로그램도 마찬가지입니다.
사용자 응용 프로그램에서 부트 로더의 이진 파일에 연결된 board.a
을 참조하는 트릭이 있습니까?
즉, board.a
코드와 데이터를 한 번만 입력하여 플래시 메모리 공간을 최적화하고 싶습니다.
NB : 나는 (GNU이 빌더를 확인/NXP MCU 도구)는 그냥 운영 체제에서 공유 라이브러리를 사용하여 같은 팔 - 없음 - EABI-GCC (GNU ARM 임베디드 툴체인)
나는 쉬운 방법이 없다고 생각하지만, 미래에 라이브러리 board.a가 향상 될 것이라고 가정하고, userApp 역시 개선합니다. 부트 로더를 건드리지 않고도 향상된 라이브러리로 새 앱을 업로드 할 수 있습니다. 이것은 정상적인 작동 방식입니다. 즉, 부트 로더를 한 번만 플래시하고 앱을 한 번 또는 여러 번 깜박입니다. 나는 도서관을 공유하는 것은 좋은 생각이 아니라고 생각한다. – linuxfan
네, 부트 로더를 업그레이드하기 위해 board.a 강제 업그레이드에 대해 완전히 이유가 있습니다 (비정상 작동). 방금 공간을 최적화하고 싶었습니다. 고마워요 :) – Abderrezak
이론상 나는 이것이 작동하지 않는 이유가 보이지 않습니다. 그러나 그것은 당신의 toolchain (컴파일러/링커)에 의존하므로, 질문을 편집하고 그 세부 사항을 추가하십시오. – user694733