Skip to content

常用的开发工具

image-20231106180608502

image-20231106180745537

安装分为软件安装以及器件支持包的安装

Keil Product Downloads

Arm Keil | Devices

有的扩展Flash以后需要再下载一个扩展的算法放在MDK5.xx\ARM\Flash里面

编译

Code: Flash里面存放的是代码

RO-Data: Flash只读数据, 一般是指const修饰的数据

RW-Data: Flash和RAM初始值为非0的可读可写数据

ZI-Data: SRAM初始值为0的可读可写数据

串口下载

image-20231107092423821

在不同的芯片里面通过设置BOOT引脚的状态可以开启bootloader进行串口下载, 不同芯片的串口支持的波特率不同, 下载的时候使用的是HEX文件

image-20231108090630878

模式0: 0x08000000

模式1: ISP下载, 这里面有一个bootloader程序, 可以进行ISP下载一般使用的是串口1

模式2: 内部的SRM一般是用来进行调试的

image-20231108090909230

之后的芯片里面还支持其他的下载模式

image-20231108091144783

image-20231108091157908

image-20231108091329951

image-20231108091823635

一般情况下两个引脚都是直接接得地, 会直接进入正常的模式, 在使用一键下载的时候设置为DTR低电平进行复位, RTS高电平进Bootloader

image-20231108092017985

不使用的时候的原理图

DAP下载

image-20231108092047241

支持JTAG和SWD模式

image-20231108093517259

调试程序

Cortex-M内核含有硬件调试模块,该模块可在取指(指令断点)或访问数据(数据断点)时停止。内核停止时,可以查询内核的内部状态和系统的外部状态。完成查询后,可恢复程序执行。

image-20231108094308690

image-20231108094424475

这几个引脚的使用以及释放的几种状态

F1系列可以通过AFIO_MAPR寄存器的SWJ_CFG[2:0]位来释放部分或者全部SWJ-DP引脚

F4/F7/H7系列默认全部SWJ-DP引脚为复用功能并映射到复用功能0(AF0)

image-20231108094745368

image-20231108095410934

黄色的箭头会使得指向下一行要执行的程序

image-20231108100952746

image-20231108180756920

在这里可以看到运行的时间

在结束仿真以后由于对中文的支持不友好, 路径里面存在中文的时候, 有断点的时候没有办法直接退出, 退出的时候需要把所有的断点删去或者换一个路径

image-20231108181301648

image-20231108213918787

image-20231108213957860

函数调用关系

image-20231108214122644

image-20231108214159140

image-20231108214709205

image-20231108215150944

调试断点的时候只是内核停止了, 外设会继续进行

断点设置的时候考虑是否会打断正常的通讯

代码美化

image-20231109110600610

添加自己的关键字

image-20231109110912514

设置保存在这里