Keil MDK配置和使用

本文介绍如何在Keil MDK中优化编程和调试体验,包括避免忘记下载最新axf文件、理解代码窗口箭头指示、使用gcc支持C99特性、编译器优化设置、查看局部变量的方法以及解决常见错误。通过遵循这些技巧,开发者可以更高效地进行嵌入式开发。
AI助手已提取文章相关产品:

参考http://blog.youkuaiyun.com/zhzht19861011/article/details/5964827或附近文档

补充:勾选Utilities选项卡中的Updata taget before debugging,可以避免在debug前忘记download最新生成的axf文件

 

有趣的Keil MDK细节

http://www.cnblogs.com/heiyue/p/3373178.html

 

Keil代码窗口中的黄色箭头表示program counter所在的位置,蓝绿色箭头表示鼠标所指向的位置,参考http://www.arm.com/files/pdf/mcbstm32c_lab.pdf

 

Keil官方文档http://www.keil.com/support/man/docs/uv4,其中包含文件后缀说明Error信息说明

 

编译器默认为keil自带的armcc,armcc默认支持C90,如需使用C99特性(如结构体元素的单独赋值,位于执行语句后的变量声明),需在Option for target-->C/C++-->Misc Controls栏填入--c99

如需使用gcc(直接支持c99),参考:

http://www.nuvoton-m0.com/forum.php?mod=viewthread&tid=4289

http://www.keil.com/appnotes/docs/apnt_199.asp

http://blog.youkuaiyun.com/zhaozzy/article/details/8774723

 

lesson learn:

1.调试时无法在源代码窗口设置断点

cause:option for target -- output 勾选 debug information和browse  information

2.error 122: AGDI: memory read failed

cause:执行了芯片擦除,需重新download一个程序

3.缩减代码体积的方法:

a) option for target -- C/C++ 勾选 one elf section per function

b) option for target -- target 勾选 use microlib

MicroLib 专为嵌入式设计,可获得更小的代码尺寸http://www.arm.com/zh/products/tools/software-tools/mdk-arm/compilation-tools/index.php

c) option for target -- C/C++ 提高optimization级别

参考http://www.keil.com/appnotes/files/apnt202.pdf

4.查看局部变量:

a)可通过symbol window从所在文件的所在函数内添加,由于局部变量的作用域只在函数内,因此只有运行到其所在函数处才可查看,否则会显示"out of scope"

b)执行到其所在函数时,可通过call stack window查看

c)若想在watch窗口查看,可将局部变量定义为static类型

 

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值