Загрузчик и основное приложение для обмена общим кодом / функциональностью - PullRequest
0 голосов
/ 05 марта 2020

Я борюсь с вопросом, в котором я хотел бы получить помощь ...

У меня есть загрузчик, который может загрузить другое приложение в мой чип. В моем случае Bootloader и основное приложение имеют много одинаковых функций, и я хотел бы создать 3 раздела в памяти моего чипа - один для BL, один для общего FW и один для реального приложения.

У меня был небольшой эксперимент, в котором я высветил функцию в определенном c месте в памяти, а затем в реальном приложении «перепрыгнул» на эту функцию, используя ее жестко закодированный адрес, такой как PO C Я думаю, это сработает ...

Дело в том, что у меня много функций / классов, и с ними будет очень трудно справиться, поэтому мой вопрос - есть ли аккуратный способ "связать" все эти 3 «приложения» вместе?

Я работаю над процессором Cortex-M4FP и использую KEIL uVision 5 в качестве своей IDE.

Спасибо за вашу помощь: )

1 Ответ

0 голосов
/ 07 марта 2020

Например, вы можете решить, что загрузчик - это тот, который предоставляет услуги, общие с вашим приложением. В нем будет реализован обработчик SV C, который будет отвечать за предоставление этих общих служб приложению.

Ссылки - также должен применяться к Cortex-M4:

Я утверждаю очевидное, я думаю, но, пожалуйста, обратите внимание, что совместное использование кода через приложение вместо вашего загрузчика было бы очень опасно в случае, если новая реализация общих служб будет содержать ошибки. Обновление общего кода всегда требует обновления загрузчика.

...