我有固件升级的要求.我打算使用USB DFU类.但在我的情况下,固件升级命令将来自PC应用程序.所以我需要切换到系统内存中的bootloader.最初我正在运行应用程序,因此它从用户闪存启动,即我为用户闪存配置了Boot0和Boot 1引脚.由于DFU引导加载程序存在于系统闪存中,现在需要更改Boot0和Boot1引脚设置.有没有像启动0和启动1设置保持用户闪存相同的方式,在应用程序中我们跳转到系统内存?
首先我要说的是我开发基于 Cortex m4 的嵌入式设备应用程序。
我有引导加载程序和主应用程序常用的功能。现在我为引导加载程序和应用程序编译源文件两次。但我的双组 dfu 空间不足,我只想在 ROM 中使用这些功能一次。知道我怎样才能实现这个目标吗?
编辑:
在某些情况下使用函数指针可能存在危险,请检查我的问题 -使用指针函数 - 1 台设备上的 2 个独立应用程序
STM32应用笔记2606对此进行了讨论,但没有简单的代码示例.
我从下面的代码中得到未知大小错误,
atmel_device_info_t *info;
int *ptr = row->offset + (void *) info
Run Code Online (Sandbox Code Playgroud)
这是一个铸造问题,我该怎么做才能解决错误?谢谢您的帮助.