ST意法半导体
直播中

恐龙之家

8年用户 773经验值
私信 关注
[问答]

用FreeRTOS和运行网络服务器来上传固件可行吗

我现在准备好在通过我的网络服务器接收到文件上传时写入闪存。但是,我读到在擦除或写入闪存时,闪存读取被阻止。我可以看到这会导致问题。  
为 F407 编写的 LwIP_IAP 示例必须有效,但它不使用 FreeRTOS。我可以看到使用 F429 等 2 Bank 部件会更容易,因为我打算将闪光灯分成两半,这样我就可以从一个部分运行并升级另一个部分。
我看到过从 RAM 运行的建议,但是当你有 LwIP、FreeRTOS 和运行网络服务器来上传固件时,这似乎不太实用……
有任何想法吗?

回帖(1)

h1654155275.6347

2022-12-22 14:41:25
基本上就是这样。在 F407 上,您别无选择。如果 CPU 试图从 FLASH 执行代码,任何写/擦除 FLASH 操作都会使 CPU 停止。因此,要么构建代码以容忍停顿(使用 RTOS 很困难),要么将代码移入 RAM(也很困难,因为很难知道将调用哪些函数)。只要您从 bank 1 运行并写入 bank 2,就可以使用像 F429 这样的双 bank 部件。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分