学习笔记之Keil IDE

keil是一个集编辑,编译,仿真,下载于一体的开发环境,会针对于不同的硬件平台,有不同的开发流程。工程文件的创建,文件的添加,芯片的选择,目标文件生成的路径,代码生成的格式,执行档下载的目标位置,仿真工具的选择及方式,是否使用微库,是否下载到闪存,编译包含文件的路径等等环境的设置都是必不可少的。

如芯片选择与实际芯片类型不一致,直接导致执行档不能在芯片上运行;

如编译包含文件的路径未选择,导致文件编译不过。主要是在我们编写#include "xxx.h"时程序默认只会在当前文件所在的文件夹中寻找此.h文件,如果此.h文件不在当前文件夹下,而在另一个文件夹中时,编译器就会报错,因此你要在环境设置时将包含有此.h文件的文件夹包含进来。

如.c文件仅编写和保存完成还不够,必须要加到项目中时,编译器才会对其进行编译。

当未勾选使用微库,而程序中又使用了printf,scanf时,如未勾选下载到flash中调试时,都会跳入到硬件异常中断去.

上面是keil的开发环境的设置,下面讲讲keil下的开发。

1.setup文件(.s)

这个文件是用汇编写成的,主要是针对编译器和一些硬件相关的功能:系统时钟频率,中断向量,堆栈的初始化,地址重映射。当工程文件建立时,此文件可选择自动加载。

2.开发框架的设计。

着手开发前,了解这个平台提供了什么,我要做什么,需要用到什么,如何去用。keil C中为每种芯片,都提供了相应的驱动函数,我们需要根据自己的需要去了解这些函数是做什么用的,哪些能为我所用,从而减少开发时间。了解自己要做什么,先把大框架设计出来,再一层一层的去细分功能。这些可以先在纸上进行,根据框架流程图再去创建文件目录。

3.C语言

针对不同的硬件平台,用到的C语言也不尽相同。如在51系列中,会有sfr,sfr16,sbit,bit/xdata,pdata,idata,bdata,code,data/using,interrupt,reentrant/等C51特有的数据类型,存储类型,关键字等。如果换成别的硬件平台,这些语法可能就不适用了。


通常情况下,当选择好所需的芯片类型后,对应的FLASH以及SRAM的起始地址,空间大小,外部晶振频率会根据芯片手册上的值设定好,也可自己根据需求去改动;另外用户可以根据需求添加用户指令,实现所需要的功能,如需实现生成.bin文件,需要在编译完成后执行FromELF.exe可执行文件,则可以将此文件的路径写在User选项的Run User Program After Build/Rebuild 要配以特定的语法格式如"D:\Program Files\Keil\ARM\BIN40\fromelf.exe"  --bin -o  ./output./IO.bin  ./IO.axf"表明目录是在D盘下的....下,输出的.bin文件的名字称作IO.bin置于当前工程项目文件夹下的output文件夹下,如没有,则新建;通常.bin或者.hex文件的下载不能由keil来执行,而是由针对特定的IC制作的下载工具来完成的,这个下载工具与系统的启动方式有关即固化在片内flash中的bootloader,用户可自行选择启动方式,ISP模式采用从系统内存启动的方式,这样,程序的执行和下载互不干扰。正常情况皆为从flash中启动的方式。许多IC自带ISP功能,将USART1作为代码烧录接口,此定义以及接受的代码格式如.bin和hex均写在了bootloader中.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值