【发布时间】:2018-11-30 08:11:30
【问题描述】:
我想创建一个软件,稍后可以在我的微控制器上对某些功能(或块)进行编程,而不必再次刷新整个软件(闪存将由通信接口完成,例如 SPI)。 新块都将具有相同的 API(例如,5 个字节作为参数,1 个字节返回)。
内存架构将如图所示组织:Block architecuture。
目前,如果我只在新函数中使用局部变量,我认为没有任何问题,因为变量将被压入堆栈并且不会在 .bss 段中初始化。但是如果我想在我的函数中添加一个静态变量,我会遇到一些麻烦,因为启动代码不会在.bss(或.data)段中初始化这个变量。
我的问题是,该事件是否可以在 C 代码中实现这样的架构?如果是,我该如何调整我的启动代码来初始化我的新变量?你认为 C++ 更适合做这样的事情吗?
非常感谢!
【问题讨论】:
标签: c architecture block microcontroller iar