Appearance
常用的开发工具
安装分为软件安装以及器件支持包的安装
有的扩展Flash以后需要再下载一个扩展的算法放在MDK5.xx\ARM\Flash里面
编译
Code: Flash里面存放的是代码
RO-Data: Flash只读数据, 一般是指const修饰的数据
RW-Data: Flash和RAM初始值为非0的可读可写数据
ZI-Data: SRAM初始值为0的可读可写数据
串口下载
在不同的芯片里面通过设置BOOT引脚的状态可以开启bootloader进行串口下载, 不同芯片的串口支持的波特率不同, 下载的时候使用的是HEX文件
模式0: 0x08000000
模式1: ISP下载, 这里面有一个bootloader程序, 可以进行ISP下载一般使用的是串口1
模式2: 内部的SRM一般是用来进行调试的
之后的芯片里面还支持其他的下载模式
一般情况下两个引脚都是直接接得地, 会直接进入正常的模式, 在使用一键下载的时候设置为DTR低电平进行复位, RTS高电平进Bootloader
不使用的时候的原理图
DAP下载
支持JTAG和SWD模式
调试程序
Cortex-M内核含有硬件调试模块,该模块可在取指(指令断点)或访问数据(数据断点)时停止。内核停止时,可以查询内核的内部状态和系统的外部状态。完成查询后,可恢复程序执行。
这几个引脚的使用以及释放的几种状态
F1系列可以通过AFIO_MAPR寄存器的SWJ_CFG[2:0]位来释放部分或者全部SWJ-DP引脚
F4/F7/H7系列默认全部SWJ-DP引脚为复用功能并映射到复用功能0(AF0)
黄色的箭头会使得指向下一行要执行的程序
在这里可以看到运行的时间
在结束仿真以后由于对中文的支持不友好, 路径里面存在中文的时候, 有断点的时候没有办法直接退出, 退出的时候需要把所有的断点删去或者换一个路径
函数调用关系
调试断点的时候只是内核停止了, 外设会继续进行
断点设置的时候考虑是否会打断正常的通讯
代码美化
添加自己的关键字
设置保存在这里