|
继续学习,使用不同的软件调试XiP 应用 一、使用 STM32CubeIDE 调试 XiP 应用 1、FSBL ,编译,Sign, 并烧录FSBL-Trusted.bin 到0x7000 0000 2、编译应用,Sign, 烧录AppS-trusted.bin (已签)到 0x7010 0000或者烧录Template_XIP_AppS.bin (未签)到 0x7010 0400 3、Debugger 设置
4、Debug Startup 设置
5、断电,切换到Dev模式,上电 6、切换BOOT1开关(不断电)至 Flash启动模式,按Reset键;此时,可看到板上 LED1 绿灯闪烁 7、STM32CubeIDE 工具栏点击甲壳虫开启Debug,等待Debugger停在main入口 8、此时,可以开始按流程调试,基本调试功能正常 9、设置断点后改为Hardware断点,则可以正常停止。 二、使用 IAR IDE 调试 XiP 应用 1、FSBL 代码中屏蔽跳转,编译,签名;烧录FSBL-Trusted 到0x7000 0000, 2、烧录App-Trusted.bin(已签)到 0x7010 0000或者烧录Apps(未签)到 0x7010 0400 3、Application 设置 Software Reset
4、断电,切换到Dev模式,上电 5、切换BOOT1开关(不断电)至 Flash启动模式,按Reset键; 6、IAR 直接Debug 应用(Debug without Downloading) 三、使用 Keil uVision 调试 XiP 应用 1、FSBL 中屏蔽跳转,编译,Sign;烧录FSBL-Trusted 到0x7000 0000 2、应用设置, Optimization –O0, 为了断点好设置。 3、编译应用,烧录Appli-Trusted.bin(已签)到 0x7010 0000或者烧录Appli.bin(未签)到 0x7010 0400 4、Debug 设置,使用Appli.ini ①使用Initialization File;创建Appli.ini (\MDK-ARM\Appli) ②Edit Appli.ini //LOAD %[email]L@L.axf[/email] incremental // Load project binary LOAD .\Objects\Appli.axf CLEAR INCREMENTAL PC = _RDWORD(0x70100404); G,main
5、断电,切换到Dev模式,上电 6、切换BOOT1开关(不断电)至 Flash启动模式,按Reset键; 7、Start Debug Session,然后既可以正常调试了 四、FSBL + Load&Run工程开发 1、FSBL + Load&Run工程介绍
2、使用 IAR 的开发 ①使用Nucleo 或 DK 板,设置 “DEV 模式
②基本设置
3、分别编译FSBL与应用 4、编译完成后,签名您的二进制文件以添加头部信息
5、使用 STM32CubeProgrammer 签名工具为您的FSBL二进制文件签名
6、使用 STM32CubeProgrammer 为您的应用Project二进制文件签名
7、将签名后的bin文件烧录到 DK或Nucleo板上的外部Flash. ①使用STM32CubeProgrammer GUI
②使用命令行烧录 DK 板 • FSBL STM32_Programmer_CLI.exe -c port=SWD mode=HOTPLUG ap=1 -w FSBL-trusted.bin 0x70000000 -el C:\<您的STM32CubeProgrammer安装目录>\STM32CubeProgrammer_V2.20.0\bin\ExternalLoader\MX66UW1G45G_STM32N6570-DK.stldr • Application STM32_Programmer_CLI.exe -c port=SWD mode=HOTPLUG ap=1 -w project-trusted.bin 0x70100000 -el C:\<您的STM32CubeProgrammer安装目录>\STM32CubeProgrammer_V2.20.0\bin\ExternalLoader\MX66UW1G45G_STM32N6570-DK.stldr Nucleo 板 • FSBL STM32_Programmer_CLI.exe -c port=SWD mode=HOTPLUG ap=1 -w FSBL-trusted.bin 0x70000000 -el C:\<您的STM32CubeProgrammer安装目录> \STM32CubeProgrammer_V2.20.0\bin\ExternalLoader\MX25UM51245G_STM32N6570-NUCLEO.stldr • Application STM32_Programmer_CLI.exe -c port=SWD mode=HOTPLUG ap=1 -w project-trusted.bin 0x70100000 -el C:\<您的STM32CubeProgrammer 装目录>\STM32CubeProgrammer_V2.20.0\bin\ExternalLoader\MX25UM51245G_STM32N6570-NUCLEO.stldr 8、独立运行 Load & Run 应用
板子设置为 “从Flash启动” 后,再从新上电板子。 STM32N6 会从外部Flash启动并执行Load&Run 工程代码。 可观察到LED等闪烁。 然后就可以开始调试了 |
《STM32N6视频课程》学习笔记+STM32N6启动与调试技巧(二)
《STM32N6视频课程》学习笔记+STM32N6启动与调试技巧(一)
《STM32N6视频课程》学习笔记+STM32N6硬件系统设计及注意事项
STM32N6的开发日记(3):如何利用CubeMX快速部署我们的神经网络模型
STM32N6的开发日记(2):配置、签名、烧录,配置外部Flash实现LED灯闪烁
STM32N6的开发日记(1):上手难度拉满的N6有哪些不同?
【经验分享】LAT1491 STM32N6 的 FSBL 基本流程介绍
【经验分享】LAT1494 STM32N6 平台如何使用 MCO2 输出 Clock
STM32N6 PSRAM 代码调试实操:Attach模式实现外部存储器调试
实战经验 | STM32N6x勘误手册解读:开发避坑核心指南
微信公众号
手机版