[004] [STM32] MDK工程配置与调试

STM32
工程配置
仿真调试
常规调试窗口
观察窗口

本文为百问网&韦东山【物联网智能家居实战训练营】课程笔记

1 工程配置

1.1 Device

在这里插入图片描述

1.2 Target

在这里插入图片描述
不使用软件仿真可以不用管Xtal参数。

MrcroLIB对C库进行了裁剪优化,很多C库函数不能直接使用,添加下列代码可以在不使用微库下,正常使用printfscanf重定向到串口等输出设备:

#pragma import(__use_no_semihosting)
struct __FILE
{
	int a;
};
FILE __stdout;
FILE __stdin;

void _sys_exit(int x)
{
	
}

1.3 Output

在这里插入图片描述
不勾选Browse Information无法F12跳转。

1.4 ListIng

在这里插入图片描述

  • .LST:Listing file generated by the C Compiler or Assembler. C及汇编编译器产生的列表文件。
  • .I: C Preprocessor Output File. 预处理后的文件。
  • .map:存储镜像文件,比较重要,可以分析生成代码的详细信息,如代码大小、变量所占用的存储器地址等。

1.5 User

在这里插入图片描述
在“After Build/Rebuild”添加fromelf --bin -o "$L@L.bin" "#L",同时勾选“Run #1”,表示在编译完后,执行fromelf命令生成bin文件。

1.6 C/C++

在这里插入图片描述
使用cubemx生成MDK工程,则不用添加文件路径。

1.7 Asm

Asm界面一般配置汇编代码,不常用。

1.8 Linker

在这里插入图片描述

  • Use Memory Layout from Target Dialog:使用分散文件加载对话框Target页面
  • Make RW Sections Position Independent:使RW段独立(–rwpi)
  • Make RO Sections Position Independent:使RO段独立(–ropi)
  • Don't Search Standard Libraries:禁用默认编译器运行时库的扫描(–noscanlib)
  • Report 'might fail' Conditions as Errors:报告的条件可能导致失败的错误,而不是警告(–strict)
  • xx BASE:X/O、R/O、R/W基地址(–xo_base=address)
  • disable Warnings:警用警告(–diag_suppress)

1.9 Debug

在这里插入图片描述

  • Load Application at Startup:启动时加载应用程序。
    Run to main():进入调试模式时,main(),即跳过汇编代码,直接跳转到 main函数开始仿真。
  • 复位调试会话设置Restore Debug Session Settings:如果勾选上,点击一下“复位”就会恢复到之前的状态。包括:断点Breakpoints、窗口Watch Windows、性能分析器 Performance Analyzer、内存窗口Memory Window、工具箱Toolbox、系统查阅器System Viewer等。
  • Dialog DLL - Parameter:会话框DLL文件和参数;CPU/Driver DLL - Parameter:CPU驱动文件和参数。
    Dialog DLL分别为: DARMSTM.DLLTARMSTM.DLL; Parameter均为:pSTM32F103RC(p+具体芯片信号),用于设置支持相应芯片的软硬件仿真(即可以通过Peripherals选择对应外设的对话框观察仿真结果)。
  • Manage Component Viewer Description Files:管理组件描述文件(一般不用)

硬件仿真下载配置:
在这里插入图片描述
在这里插入图片描述

2 仿真调试

在这里插入图片描述

2.1 常规调试窗口

在这里插入图片描述

2.2 观察窗口

查看变量的值
在这里插入图片描述
默认16进制显示,可修改。

查看内核和外设寄存器值
在这里插入图片描述
如查看GPIOA寄存器:
在这里插入图片描述
查看内核外设寄存器NVIC:
在这里插入图片描述

  • E:使能/失能中断
  • P:中断是否挂起
  • A:中断是否得到响应

也可以点击Peripherals选择相应外设查看:
在这里插入图片描述
在这里插入图片描述
查看函数调用栈
在这里插入图片描述

注意

  • Keil软件仿真时出现no ‘write’ permission”,no ‘read’ permission的错误:没有设置debug选项中的DLL。
  • 逻辑分析仪也要设置DLL,并且只能在软件仿真下使用,不能用于硬件仿真,否则提示Unknown Signal.,或者出现如下错误:
    在这里插入图片描述

Keil系列教程参考

  1. Keil(MDK-ARM)介绍、下载、安装与注册
  2. Keil(MDK-ARM)系列教程(一)_新建软件工程详细过程
  3. Keil(MDK-ARM)系列教程(二)_工具栏详细说明
  4. Keil(MDK-ARM)系列教程(三)_工程目标选项配置(Ⅰ)
  5. Keil(MDK-ARM)系列教程(四)_工程目标选项配置(Ⅱ)
  6. Keil(MDK-ARM)系列教程(五)_Configuration(Ⅰ)
  7. Keil(MDK-ARM)系列教程(六)_Configuration(Ⅱ)
  8. Keil(MDK-ARM)系列教程(七)_菜单

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯西的彷徨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值