我在keil下下载测试STM32Cube\Repository\STM32Cube_FW_N6_V1.0.0\Projects\STM32N6570-DK\Templates\Template_FSBL_XIP工程,使用的开发板是STM32N6570-DK,KEIL版本是MDK5.41,电脑环境是windows10 已经按照readme.html中指导的操作方法将appli.bin和fsbl.bin都下载进了外部flash中, 此时我想在keil下仿真appli工程发现无法正常进入工程main函数中设置的第一行的断点(我是先激活fsbl工程点keil下的debug运行一次,然后再激活appli工程点keil下的debug运行发现无法运行到main函数中的),其中我测试的C:\Users\QIANXIAOPING\STM32Cube\Repository\STM32Cube_FW_N6_V1.0.0\Projects\STM32N6570-DK\Templates\Template仿真都没有问题。 解决方法:注意appli工程先不打断点,等appli正常运行后再打断点 1. 拔掉供电,boot0 =0,boot1=1 2. 上电 3. boot0 =0,boot1=0 4. 复位 5. 选中appli工程直接debug仿真 其他,通过STM32CubeProgrammer烧写固件到外部flash,要写烧写appli再烧写fsbl 烧写时需要将boot0 =0,boot1=1,再给开发板USB上电,然后再按照1-5就可以在appli中调试了,不行就多试验几次。 另外补充启动流程相关内容: 实际用于工程感觉比较合适的是: Template_FSBL_XIP
file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml189380/wps6.jpg file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml189380/wps2.jpg 启动流程如下 开机时,引导ROM将FSBL二进制文件复制到内部SRAM中。引导ROM任务完成后,FSBL 项目依次执行:在时钟和系统设置后,它配置包含内存映射模式下的应用程序二进制文件。当FSBL完成时,应用程序又在外部存储器执行。 即此种模式,appli大小不受STM32N6内部ram限制 其余flash运行相关的可参考下面2个地方 file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml189380/wps3.jpg Dev boot是在内部Ram中启动,Flash boot是bootrom 程序尝试从外部flash 启动,应用程序需要下载到外部的flash。 file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml189380/wps4.jpg 能下载能仿真,后续就可以快乐的码代码了! file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml189380/wps5.jpg
|