Bootloader和主要应用共享公用固件

问题描述 投票:0回答:1

我正在想获得一些帮助的问题...

我有一个引导加载程序,可以将另一个应用程序上传到我的芯片中。就我而言,Bootloader和主应用程序共享许多相同的功能,我想在芯片的内存中创建3个分区-一个用于BL,一个用于普通FW,一个用于实际App。

我做了一个小实验,在其中我先将一个函数闪存到内存中的特定位置,然后在实际的应用程序中通过使用其硬编码地址将其“跳转”到该函数,因此我认为它可以用作POC ...

事实是,我有很多函数/类,并且将很难处理,所以我的问题是-是否有一种巧妙的方法将所有这三个“应用程序”“绑定”在一起?

我正在使用Cortex-M4FP CPU,并使用KEIL uVision 5作为我的IDE。

感谢您的帮助:)

shared-libraries bootloader keil cortex-m firmware
1个回答
0
投票

例如,您可以确定引导加载程序是提供与您的应用程序相同的服务的引导加载程序。它将实现一个SVC处理程序,该处理程序负责向应用程序提供那些通用服务。

参考文献-也应适用于Cortex-M4:

我要说的是显而易见的,但是请注意,如果新的公共服务实现有问题,则通过应用程序而不是Bootloader共享代码将非常危险。更新共享代码应始终需要更新引导加载程序。

© www.soinside.com 2019 - 2024. All rights reserved.