Keil MDK从未有过的详细使用讲解.docx

上传人:b****3 文档编号:1790424 上传时间:2022-10-24 格式:DOCX 页数:12 大小:24.46KB
下载 相关 举报
Keil MDK从未有过的详细使用讲解.docx_第1页
第1页 / 共12页
Keil MDK从未有过的详细使用讲解.docx_第2页
第2页 / 共12页
Keil MDK从未有过的详细使用讲解.docx_第3页
第3页 / 共12页
Keil MDK从未有过的详细使用讲解.docx_第4页
第4页 / 共12页
Keil MDK从未有过的详细使用讲解.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Keil MDK从未有过的详细使用讲解.docx

《Keil MDK从未有过的详细使用讲解.docx》由会员分享,可在线阅读,更多相关《Keil MDK从未有过的详细使用讲解.docx(12页珍藏版)》请在冰豆网上搜索。

Keil MDK从未有过的详细使用讲解.docx

KeilMDK从未有过的详细使用讲解

KeilMDK从未有过的详细使用讲解

熟悉KeilC51的朋友对于KeilMDK上手应该比较容易,毕竟界面是很像的。

但ARM内核毕竟不同于51内核,因此无论在设置上还是在编程思想上,都需要下番功夫研究的。

本文以MDKV4.03为例,详细的写一下MDK的设置、界面、工具。

可能会有些杂乱,但我想所涉及的东西都是最常用的;可能不是那么的严谨清晰,我想谁也没把我期望成专家!

哈,有问题欢迎留言。

正式开始。

首先启动MDK.当然要先安装好MDK,如果找不到在哪里下载,可以翻翻我以前的博文。

启动后的MDK界面如图1所示。

图1MDK界面

第二.新建一个工程。

单击Project->NewμVisionProject...菜单项,μVision4将打开一个标准对话框,见图2,输入希望新建工程的名字即可创建一个新的工程,建议对每个新建工程使用独立的文件夹。

例如,这里先建立一个新的文件夹,然后选择这个文件夹作为新建工程的目录,输入新建工程的名字Project1,μVision将会创建一个以Project1.uvproj2为名字的新工程文件,它包含了一个缺省的目标(target)和文件组名。

这些内容在ProjectWorkspace->Files中可以看到。

图2

第三.选择设备

在创建一个新的工程时,μVision要求为这个工程选择一款CPU。

选择设备对话框显示了μVision的设备数据库,只需要选择用户所需的微控制器即可。

例如,选择PhilipsLPC2114微控制器,这个选择设置了LPC2114设备的必要工具选项、简化了工具的配置。

图3

注意:

当创建一个新的工程时,μVision会自动为所选择的CPU添加合适的启动代码。

对于一些设备而言,μVision需要用户手动地输入额外的参数。

请仔细阅读这个对话框右边的信息,因为它可能包含所选设备的额外配置要求。

无语了,一个钟头写的东西上传之后竟然丢失了一大段。

吐血中,继续写。

到这里一个工程就新建完成,下面就需要编写代码,然后设置目标配置,编译调试等等。

在这之前,我们先来了解一下MDK编译器的常用工具按钮,工欲善其事,必先利其器!

1.编译快捷按钮:

(1)编译当前文件

(2)编译已经修改的文件(仅编译已修改的文件,这样可以节省编译时间)

(3)编译所有文件(一般使用这个即可,当设置过目标配置选项后,必须使用它来重新编译。

(4)停止编译当前文件

2.程序下载快捷按钮:

具体使用参见我的博文:

3.查找快捷按钮:

(1)在文件中查找。

这是我最常用的查找方式,特别是有多个模块时,当你要找到一个函数或变量是在那个文件中定义的,就可以单击这个图标来在全工程文件中查找。

(2)在当前文件中查找。

在编辑框中输入要查找的关键字,按回车即可查到,连续按回车会跳到下一处。

(3)在当前文件中查找。

单击后会弹出查找对话框,能进行一些设置,比如大小写区分等。

4.设置书签快捷按钮:

(从左向右依次为标签1、2、3、4)

这个功能还是很实用的,想象一下,当你的一个文件有很多代码的时候,寻找你需要的代码行就变得很不容易,这个时候,设置书签快捷键就派上了用场!

(1)设置书签。

将鼠标定位到要标记的代码行,单击该图标则在代码行的左侧设下一个书签,再次单击该按钮,取消该代码行的书签。

(2)跳到上一书签。

(3)跳到下一书签。

(4)取消所有书签

5.调试快捷按钮:

(1)点击此按钮进入调试界面

(2)设置断电。

单击要设计断电的代码行,再单击此按钮,则为该代码行设置了断点,再次单击,取消所设的断点。

通常设置断点是在debug窗口的要设断点代码处双击,再次双击取消设置断点。

(3)使能/禁止断点。

将鼠标定位到一个已经设置了断点的代码行处,单击此按钮,该断点被禁止,再次单击该按钮,断点使能。

(4)使能/禁止所有断点。

(5)取消所有断点。

哎呀,有事要回去了,明天接着写。

一晚上过去,继续写。

6.工程视图和配置快捷按钮:

(1)工程视图快捷按钮。

这相当于一个下拉菜单,里面有绝大多说的工程窗口。

这个按钮用来显示/禁止工程内的窗口。

比如常常会有人把工程空间窗口或者编译输出窗口不小心关掉却又不能把它再显示出来,这个时候就可以通过单击这个快捷按钮的相应内容来显示。

另外,该按钮实现的功能都可以在菜单view中设置。

(2)配置快捷按钮。

点击一下出现图4所示的界面:

 

图4

(1)编辑选项卡。

用来设置一些编辑信息,比如缩进的设置,显示行号设置,界面显示效果等等。

(2)设置代码、关键的颜色和字体。

如果默认的关键字颜色,代码颜色,代码字体、大小不符合你的习惯,可以在这里进行更该,在这里还可以更改用户自定义关键字。

(3)设置用户关键字。

非常非常好用的一个功能,它可以使你自己定义的关键字像系统关键字一样高亮显示。

假如你有想写一个移植性比较高的程序,通常一些和编译器无关的变量类型需要这样定义:

typedefunsignedcharuint8;/*无符号8位整型变量*/

typedefsignedcharint8;/*有符号8位整型变量*/

typedefunsignedshortuint16;/*无符号16位整型变量*/

然后在其它模块中都是这样定义一个无符号8位整形变量:

uint8test;//定义变量

这样有一个什么问题呢?

就是uint8这个虽然是用户定义的关键字,但是它并不能像系统关键字那样高亮显示。

怎么办呢?

完全有办法解决,而且就是在这个标签卡中就可完成。

方法如下:

a.打开UserKeywords标签卡。

在左侧窗口选择文件类型,比如ARM:

EditorCFile;在右侧窗口点击

按钮,新建一个用户关键字编辑框,输入用户定义的关键字,比如uint8,这样在程序代码中,所有的uint8都会高亮显示。

(4)设置快捷键。

这个我没有用过,所以不多说明。

(5)模板代码。

这又是一个比较实用的功能,模板既有软件自带的,也可以自己编辑模板。

可以在你书写程序的时候使用这一功能加快代码的输入。

使用方法:

a.先在该选项卡中编辑自己的代码模板,也可以之用软件自带的模板。

b.使用上面6-

(1)所说的工程视图快捷按钮,保证该按钮下拉菜单中Templates被选中;选中后会在工程工作空间(ProjectWorkSpace)中出现:

标签。

c.在编写代码时,应用即可。

7.目标工具选项(TargetOptions…):

这个是最常用而且最重要的快捷按钮和设置点。

这里以LPC2114为例详细做讲述,其它CPU与之类似。

μVision可以设置目标硬件的选项。

通过上面的工具栏按钮或Project-OptionsforTarget菜单项打开OptionsforTarget对话框,如图5所示。

在Target页中设置目标硬件及所选CPU片上组件的参数。

(1)设备选项卡(device)。

 

图5

在这里可以在图中2区域更改所使用的CPU,图中3区域是该cpu的一些描述。

(2)硬件目标设置选项卡(Target),见图6所示。

图6

1:

选择硬件目标设置选项卡

2:

指定用于的晶振频率

3:

在应用中可以选择实时操作系统(RTOS)。

Keil提供:

RTXKernel:

它是一个非常有效的RTOS,支持抢占式的任务调度、消息和信号传送、信号量等等。

完整的版本带有源代码和包含一个Flash文件系统和TCP/IP协议栈。

4:

指定选择ARM或者Thumb模式进行代码生成。

5:

利用Cross-Module优化为全局代码优化创建一个链接反馈文件。

6:

使用MicroLib库。

为进一步改进基于ARM处理器的应用代码密度,RealViewMDK采用了新型microlibC库(用于C的ISO标准运行时库的一个子集),并将其代码镜像降低最小以满足微控制器应用的需求。

MicrolibC库可将运行时库代码大大降低。

7:

选择大端模式。

编译器默认都是小端模式,NXP的LPC2114处理器只支持小端模式,所以该项变成了灰色。

三星的S3C2440既支持大端也支持小端,这样的处理器该项就可以选择了。

8:

利用交叉模块优化创建一个链接反馈文件以实现全局代码优化。

11:

片外ROM设置,最多支持3块ROM(Flash),在Start一栏输入起始地址,在Size一栏输入大小。

若是有多片片外ROM,需要在13区域设置一个作为启动存储块,程序从该块启动;有几块ROM需要选中对应的9区域。

12:

片内ROM设置。

设置方法同片外ROM,只是程序的存储区在芯片内集成。

17:

片外RAM设置。

基本同片外ROM,只是若选中19、20区域后,对应的RAM不会被默认初始化为0。

18:

片内RAM设置。

设置方法与片外RAM相同,只是数据的存储区域在芯片内集成。

(3)输出选项卡(Output),见图7所示。

图7

1:

选择输出选项卡

2:

指定输出文件的文件夹,这样做可以减少工程文件夹文件的数目。

3.可执行文件的名字。

可执行文件指生成的.hex文件,因此应先使能4区域。

4:

使能后会产生可执行文件。

5.创建批文件

6.生成库文件

(4)列表选项卡(Listing),见图8。

 

图8

1:

选择列表选项卡

2:

指定输出文件的文件夹,这样做可以减少工程文件夹文件的数目。

3:

设置生成/禁止一些.lst、.txt文件。

4.设置生成/禁止一些.map文件(生成的代码详细信息就在这个文件里)

(5)用户程序选项卡(User),见图9。

 

图9

1:

选择用户选项卡。

2:

编辑源文件前运行用户程序。

3:

编译前运行用户程序。

4:

编译后运行用户程序。

图中所示的是运行fromelf.exe程序生成.bin文件,详细方法见博客:

(6)C/C++选项卡,见图10。

图10

1:

选择C/C++选项卡。

2:

定义预处理符号。

假如有一段代码使用了条件编译,如下所示:

#ifABC

voiddelay_tus(uint32dly)

{

uint8i;

for(;dly>0;dly--)

for(i=0;i<4;i++);

}

#endif

如果你想让编译器编译这段代码,有两种方法:

第一种方法:

使用#defineABC

第二种方法:

在图中2区域所示的编辑框中输入ABC。

多个符号用逗号隔开。

3:

使能/禁止ARM状态与Thumb状态交互。

为了更好的优化存储空间,请使能该选项。

4:

设置优化级别,共4级。

Level0为不优化,Level3为最高级别优化。

一般选择default,即Level2级优化。

5:

附加的优化选项。

6:

输出警告信息设置。

为了更好的检查程序,设置成All即可。

7:

头文件路径设置。

(7)Asm选项卡,见图11。

与C/C++选项卡。

 

图11

该选项卡与C/C++选项卡十分类似。

这里重点说说图中红色区域条件汇编控制符号的应用,因为这个在启动代码中可能会用到的。

摘录一段启动代码:

IF:

DEF:

EXTERNAL_MODE

LDRR0,=PINSEL2

LDRR1,=PINSEL2_Val

STRR1,[R0]

ENDIF

在这段代码中,如果在图中1区域的编辑框中输入了符号:

EXTERN

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1