快乐赛车 > 应用 > 单片机应用
[导读]单片机编程软件的重要性不言而喻,而Keil单片机编程软件更是诸多单片机编程软件中的佼佼者之一。本文对Keil单片机编程软件的讲解基于Keil 5版本,主要为大家介绍这款单片机编程软件中有关MDK的一些功能小技巧,以帮助大家提高对Keil的掌握程度。

单片机编程软件的重要性不言而喻,而Keil单片机编程软件更是诸多单片机编程软件中的佼佼者之一。本文对Keil单片机编程软件的讲解基于Keil 5版本,主要为大家介绍这款单片机编程软件中有关MDK的一些功能小技巧,以帮助大家提高对Keil的掌握程度。

主要技巧点如下:

1.并不是所有源文件(.c)都需要加进工程中,只需要添加必要的源文件即可。无论是什么开发环境,只要是C/C++的工程,工程编译时间的决定因素就是工程中的源文件,以STM32 HAL库的工程为例,单片机外设的驱动文件一般是【stm32fxxx_hal_xxx.c】的格式,里面有多少个这样的源文件,就代表这个工程启用了多少个STM32单片机的外设。我们可以做个对比:

image1.jpg

我们使用STM32CubeMX生成一个工程,工程用到了外部高频、低频晶振、SPI1、USART1,CubeMX自动生成的工程里面,源文件只有必要的十来个:

image2.jpg

然后我们把一些不必要用到的源文件也加进去,我这里索性把CubeF1固件库里面的全部外设驱动都加进去了,甚至包括一些完全没有必要加进去的template.c模版:

image3.jpg

可以看到,生成的Code大小差得非常远,我这里还是用ARMCCV6版本的编译器,还看不出前后两个工程的编译时间,如果是用ARMCCV5版本的,估计时间要差好几倍。实际上前后两个工程,实现的效果完全是一样的,那些原本没有必要加进去的源文件,除了浪费编译空间和编译时间以外,没有任何用处。

2。头文件(。h)可以随便加进工程中。在MDK的代码开发工程中,头文件是必不可少的。头文件在工程的作用是提供宏定义/常量、结构体声明、枚举量声明统一放置的地方、函数的声明(甚至可以直接把函数的实现写在头文件里面,没有任何问题)。在实际的开发过程中,经常要频繁修改宏定义,而传统MDK开发者的习惯一般是工程只添加源文件而不添加头文件,这样就使得修改宏定义变得非常麻烦了,我们应该摒弃这个习惯,把频繁使用的头文件加进工程中。

image4.jpg

3。编译器版本选V6。在MDK 5。24和MDK 5。25中,有个非常重要的更新,那就是MDK开始逐步支持完善ARMCC_V6编译器了。在以前的5。20以下的版本中,时常听说大佬们有用ARMCC_V6编译器的,但大多都是放礼炮,按照例程走也是一大堆报错,真正能实现的没几个,而从5。24版本开始,MDK使用V6编译器一般不会再出现报错了。使用V6编译器的步骤:

1)添加cmsis_armcc_V6。h头文件进我们的工程中,并设置包含路径;

image5.jpg

2)工程的Tatget选项卡的编译器版本选V6.9;

image6.jpg

3)Misc Controls留空,C语言和C++语言都选gnu11版本,优化等级随意,没有关系;

image7.jpg

这样,MDK使用V6编译器编译工程就没有任何问题了。

4.生成bin文件。MDK还有一个重要的功能就是生成bin文件,直接在工程的User选项卡下面的After Build里面添加一行【fromelf.exe --bin -o"$L@L.bin" "#L"】:

image8.jpg

工程编译输出如下信息即代表bin文件成功生成:

image9.jpg

在工程文件的目录下可看到与工程文件同名的bin文件:

image10.jpg

5.注释与缩进快捷键

MDK Keil 5中一个非常实用的新功能:批量注释/取消注释和代码批量缩进/后退。如果需要把一大段代码全部注释掉,只需要点一个按钮便可。

image11.jpg

image12.jpg

image13.jpg

6.一级文件目录

MDK的工程,说到底是由众多的头文件和源文件组成的,这些头文件和源文件被分装在了不同的目录,MDK工程通过链接这些文件夹目录来找到对应的源文件和头文件。可是,在ST官方的例程中,头文件,源文件,库文件,启动文件放在了多层混乱的目录中,虽说官方这样做的目的是为了更好地对驱动文件进行分类和管理,但对于我们开发者来说,要移植他们官方的例程,真的不是一件容易的事,我就放几张截图看看官方的例程是怎么存放工程文件和驱动文件的:

image14.jpg

image15.jpg

反观原子的例程,除了个别第三方库如DSP和FATFS是二级目录外,只有一级目录,结构清晰:

image16.jpg

image17.jpg

image18.jpg

我们应该提倡在MDK里面只使用一级目录,无论是文件查找还是例程移植,都非常方便:

image19.jpg

7.使能MicroLIB

在MDK中有一个跟标准C库非常接近的功能,那就是MicroLIB,在工程配置菜单里面可以找到这个设置:

image20.jpg

这个库是缺省标准C库的备选库,选上这个之后,可以用标准C库的一些经过简化的库函数,如fputc memcpy等等,其中最常用的当然是fputc了,这个函数写好之后可以直接用printf函数打印数据,外设可以是串口,也可以是显示屏。

8。手动KeilKill

大家应该都知道MDK有个KeilKill脚本,这个脚本的作用是把编译生成的obj等中间文件删掉,这样工程要进行复制黏贴或是打包的时候就不会太过于占用空间,中间文件生成的大小与工程中的源文件代码量直接相关。实际上KeilKill是可以手动进行的,就是把与工程文件(.uvprojx)同一目录下的其它文件全部删除,效果与KeilKill脚本完全一样。

image21.jpg

以上便是小编此次为大家带来的相关内容,希望大家有所收获。

换一批

延伸阅读

[单片机应用] Keil单片机编程软件高级篇,Keil单片机编程软件单片机变量用法

Keil单片机编程软件高级篇,Keil单片机编程软件单片机变量用法

单片机编程软件是老生常谈的话题,往期文章中,小编主要讲解IAR单片机编程软件的教程。而此次,将带来Keil单片机编程软件教程,主要内容为Keil单片机编程软件中C51变量方法,以此帮助大家更好掌握Keil单片机编程软件。......

关键字:Keil 单片机编程软件 变量用法

[单片机应用] 单片机编程软件keil 4、5的区别,keil 5单片机编程软件安装破解教程

单片机编程软件keil 4、5的区别,keil 5单片机编程软件安装破解教程

单片机编程软件是单片机开发不可缺少的工具,缺少单片机编程软件便如同回到原始社会。单片机编程软件目前使用较多的为keil单片机编程软件和IAR单片机编程软件。本文中,主要为大家讲解keil4与keil5的区别以及keil5的安装激活方法,以帮......

关键字:单片机编程软甲 IAR keil

[单片机应用] IAR单片机编程软件很简单,轻松搞定IAR单片机编程软件3大问题

IAR单片机编程软件很简单,轻松搞定IAR单片机编程软件3大问题

对于单片机编程软件,小编个人较为推崇IAR。本文将基于3大方面介绍IAR单片机编程软件:一、IAR单片机编程软件开发环境界面设置,二、IAR单片机编程软件快捷键,三、IAR单片机编程软件使用小技巧。通过IAR单片机编程软件3方面内容介绍,希。。。。。。

关键字:IAR 单片机编程软件 快捷键

[单片机应用] 单片机编程软件经验贴,搞定IAR单片机编程软件设置问题

单片机编程软件经验贴,搞定IAR单片机编程软件设置问题

目前,流通度较大的单片机编程软件为KEIL、IAR。其中,IAR单片机编程软件深受用户喜爱。初接触IAR单片机编程软件时,很多用户对其设置充满疑惑。故本文将对IAR单片机编程软件设置加以介绍,帮助大家掌握这款单片机编程软件的使用过程。。。。。。。

关键字:IAR 单片机编程软件 设置

[单片机应用] IAR单片机编程软件高级篇,IAR单片机编程软件编译优化过程

IAR单片机编程软件高级篇,IAR单片机编程软件编译优化过程

单片机编程软件是单片机开发不可缺少的工具之一,目前市场流通的单片机编程软件主要为IAR单片机编程软件和KEIL单片机编程软件。本文中,将为大家讲解IAR单片机编程软件编译优化问题,一起来了解下吧。......

关键字:IAR 单片机编程软件 编译优化

[单片机应用] 搞定单片机编程软件,窥探IAR单片机编程软件

搞定单片机编程软件,窥探IAR单片机编程软件

单片机编程软件在实际工程中具备诸多应用,每一款单片机编程软件乃至不同版本的单片机编程软件皆兼具自身特色。本文将涉及两方面内容,一是IAR单片机编程软件的简单介绍,二是阐述IAR单片机编程软件从建立工程到烧录程序的过程。如果你对这两方面内容存......

关键字:单片机编程软件 IAR 烧录程序

[单片机应用] 吃透单片机编程软件,IAR单片机编程软件创建stm32工程

吃透单片机编程软件,IAR单片机编程软件创建stm32工程

Keil和IAR单片机编程软件,是当前流通度庞大的两款单片机编程软件。而对于单片机编程软件的使用,各自存在一定区别。本文中,将为大家讲解IAR单片机编程软件建立stm32工程的详细方法,希望大家通过本文能够有所收获哦。......

关键字:单片机编程软件 IAR stm32

[单片机应用] 单片机编程软件一点通,IAR单片机编程软件工程调试方法

单片机编程软件一点通,IAR单片机编程软件工程调试方法

单片机编程软件通常以Keil和IAR为主,大家在选择适合自己的单片机编程软件时可依据工程要求而定。本文内容针对IAR单片机编程软件,主要讲解该单片机编程软件的工程调试使用方法。如果你对本文将要讲解的内容存在疑惑,不妨一起来学习下哦。......

关键字:单片机编程软件 IAR 工程调试

[单片机应用] 单片机编程软件基础篇,IAR单片机编程软件菜单栏讲解

单片机编程软件基础篇,IAR单片机编程软件菜单栏讲解

单片机编程软件是单片机编程不可或缺的利器,一款好的单片机编程软件更能极大程度提高开发效率。在本文中,主要为大家介绍IAR单片机编程软件的菜单栏,以帮助大家更好了解这款单片机编程软件。......

关键字:单片机编程软件 IAR 菜单栏

[单片机应用] 大佬讲解单片机编程软件,IAR单片机编程软件之基础教程

大佬讲解单片机编程软件,IAR单片机编程软件之基础教程

好的单片机编程软件受到众多开发人员青睐,而对单片机编程软件了解较多的朋友都知道,目前市场上主要流通的单片机编程软件为Keil和IAR。本文中,主要为大家讲解IAR单片机编程软件的基础教程。如果你对IAR存在一定兴趣,不妨继续往下看。......

关键字:单片机编程软件 IAR 基础教程

[单片机应用] 单片机编程软件学不会?看看这篇keil4、5单片机编程软件使用教程吧!

单片机编程软件学不会?看看这篇keil4、5单片机编程软件使用教程吧!

单片机编程软件以Keil和IAR使用最多,而其中又以keil单片机编程软件为主。本文中,将为大家带来keil4、5单片机编程软件的使用教程,希望本文教程对学习单片机编程软件的朋友有所帮助。。。。。。。

关键字:单片机编程软件 keil 使用教程

[单片机应用] 大牛分享单片机编程软件使用经验,Keil C51单片机编程软件使用教程

大牛分享单片机编程软件使用经验,Keil C51单片机编程软件使用教程

Keil C51是最知名的单片机编程软件之一,也是从事单片机开发人员必定会使用的单片机编程软件。对于Keil C51单片机编程软件,很多新手朋友并不熟知它的使用方法。为此,小编特地带来这篇有关Keil C51单片机编程软件的使用教程,希望为......

关键字:单片机编程软件 Keil C51 使用教程

[单片机应用] 单片机编程软件超神篇,轻松搞定Keil单片机编程软件安装、破解

单片机编程软件超神篇,轻松搞定Keil单片机编程软件安装、破解

谈及单片机编程软件,Keil和IAR乃必提软件。其中,Keil作为大家更加深受喜爱的单片机编程软件,自然受到更多关注。对于单片机编程软件Keil,许多新手朋友对安装以及破解过程不太熟悉。为此,小编特地带来这篇单片机编程软件Keil的安装、破......

关键字:单片机编程软件 Keil 安装

我 要 评 论

网友评论

技术子站

更多

项目外包

推荐博客

极速快乐8 秒速快3 全民彩票 江苏快三质合走势图 幸运赛车 欢乐生肖 上海时时乐开奖 幸运飞艇官网 三分PK拾平台 快乐赛车