Keil/MDK:使用过程中的一些设置

Posted 何事误红尘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keil/MDK:使用过程中的一些设置相关的知识,希望对你有一定的参考价值。

目录

0. 概述

本文主要记录一些keil环境上的设置,不涉及具体芯片,不定期更新。

1. 背景颜色设置

keil默认是白色背景:
看久了比较刺眼睛,可以设置成相对护眼的颜色。方法如下:

这里搞一个自定义颜色:

除了下图标出的两项,需要依次进行设置:

参考链接:Keil 保护视力背景颜色设置

2. 设置Keil生成bin文件

以前设置后工程,使用路径方式。互相编译工程,还需要改keil的安装路径。使用下面的写法,就不用纠结路径了。

fromelf.exe --bin -o "$L@L.bin" "#L"

3. 界面出错

有时界面会出现问题,编译、下载栏一栏显示成了打开、保存。点击会正常编译、下载,但非常怪异,重新打开keil并不能解决:

可以通过reset解决:

最好选择restart,reset并不能解决:

4. 生成预编译文件

程序中经常使用到宏定义来实现一些简单的计算公式,减少函数调用跳转。有时考虑不周,宏定义展开后可能会导致一些异常,这种异常比较难以查找。
又或者Protothread,为了便于理解,最好查看展开后的代码。
宏定义替换是在预编译阶段,keil中可以通过设置,生成宏展开后的.i文件:

此时工程目录Listings文件夹下只有两个文件:

重新编译工程,即可.i生成:

这里以Protothread为例,源文件tasknbbus.c中:

查看PT_BEGIN宏定义如下:

我们打开tasknbbus.i文件,找到bms_nbbus_entry函数,可以看到:

更方便理解Protothread实现机制。

以上是关于Keil/MDK:使用过程中的一些设置的主要内容,如果未能解决你的问题,请参考以下文章

如何将keil(MDK)的文件方便的转为IAR

如何将keil(MDK)的文件方便的转为IAR

怎么让keil MDK 不把把宏定义给优化掉了

我安的keil中找不到想要的芯片,啥原因?如何设置keil中的芯片类型?KEIL MDK 与keil c51有啥区别?

开发工具Keil MDK升级至V5.29,有哪些改进?

使用keil5(MDK)软件的一些记录