1. STM32WB开发板的boot顺序需要从组织结构的角度来分析。明显,这个比GD32要复杂得多。2. 首先是这么多信息源,如何交互,这里是用了matrix来组织的。NXP LPC54114使用了不同的组织结构。
内存分配时4G地址,8段,每段512M。
3. 启动顺序由下面的引脚定义,
分别从主存,系统内存和SRAM中启动,启动访问别名地址都是0x080000,但是物理地址分别是0x000000,
0x1FFF000,0x200000.
这个也是,可以把firmware写在不同内存区域需要了解的。用keil是可以选择写入内存起始地址的,这样就可以更好运用编程工具。
CPU1,可以从用户选择的地址启动,同时st出厂时也设定了嵌入式boot loader,可以通过USART和I2C,SPI进行flash 写入。
CPU2,启动需要在CPU1设定C2BOOT为之后才能启动。
4. Flash的写入
Flash可以用ICP或者IAP的方式写入,这里就存在很大的访问失败可能性,多核系统,建议用semaphores的方式写入,避免这样的冲突。
这意味着如果,变砖不要紧,只要知道代码的起始位置就可以重置flash。
程序写入分为标准写入和快速写入两种方式,
5. 关于radio的无线部分,说明文件很少,只是说明是由cpu2来控制底层代码的,通过多核的mailbox消息系统实现。这样,也比单核的更精简,用户可以专心在cpu1上编写应用程序,从逻辑上,很像用一个MCU来控制的蓝牙模块SoC。这个也是一个简便的射频实现方式。
此内容由EEWORLD论坛网友北方原创,如需转载或用于商业用途需征得作者同意并注明出处
本帖最后由 北方 于 2019-5-9 14:52 编辑