基于SAM4S XPLAINED开发板KEIL-MDK开发环境搭建及LED测试

作者: fengye5340
上传时间为: 2014-12-25 08:53 AM
2014-12-25
阅读:

           在搭建IAR开发环境过程中,发现缺少了像TI和ST那样的启动文件,这个文件自己编写的话,很耗费时间和精力。幸好,在用KEIL MDKV4.6调试其他板子的过程中,发现这个MDK版本支持SAM4S16C这个器件,最初也建立了一个小过程,里面有启动文件和系统时钟配置函数,这个配置还是比较趁手的,平时用惯了这个环境去开发TI和ST的器件,如果换用其它的开发环境,一方面不容易调试成功,另一方面耗费精力太多。看到论坛上有网友在KEIL下用寄存器的方式实现了LED流水灯,那么我再用库函数的方式来实现一个LED的闪灯程序,丰富一下开发方式,呵呵。从个人观点,对于配置比较复杂的ARM内核来讲,采用寄存器方式来写程序,上手比较慢。

            第一步:安装 KEIL-MDK460.EXE

这个程序网上搜起来也很多,注册机用以前的MDKV450注册机就可以,不像现在的IAR那样,最新的6501已经更换了破解方式,现在偶也没有找到一个合适的和谐文件。

MDK460下载地址:

http://www.mcuzone.com/down/Software.asp?ID=10000498

MDK-KeyGen-450.rar下载地址:

http://bbs.eeworld.com.cn/thread-323742-1-1.html

             第二步:建立工程文件夹并配置工程文件

在KEIL下编写程序,不同的人有不同的风格,像我就比较喜欢将所有的文件(库文件、顶层、中间层、上层,主函数)都放在一个工程文件里面,这样就算将工程文件转移到别的电脑上,也能正常编译。首先,建立一个如图的文件目录:

           

其中:

driver文件夹放置你要写的各种驱动文件

driverlib 对照TI和ST风格设计的驱动库,里面放置官方提供的驱动库文件及编译好的SAM4S16.lib库。

MDK 存储工程文件,里面可以自行设置目录,用于输出.list或可执行文件等。

SAM4S16C 可以放置跟这个器件相关的一些宏定义文件,比如chip.H.

Startup 文件夹放置的是启动文件

User 文件夹放置的是用户的main.c和system_SAM4S.c

MDK.bat 用于清零工程文件编译产生垃圾。

其次,配置工程文件内容,并加载各种文件。

在工程文件中,建立如下目录并加载文件,driverlib目录下,加载了SAM4S16.lib 这个库,以后直接调用库函数就可以了。

再就是要设置好路径,采用相对路径方式,把各种文件路径都设置好,方便编译链接。J-LINK仿真器设置界面比较简单,用过KEIL的都知道怎么回事,我的设置如下:

这样一个工程文件就建好了。下面进入关键的第三步。

第三步:制作驱动库文件及驱动库文件目录

采用驱动库文件来编写程序,驱动库.lib的制作是个比不可少的过程,不像TI那样,官方提供了一个drvierlib.lib文件,SAM4S-XPLD开发板,官网的库文件不是很系统,需要自己生成一个这样的文件。生成的过程如下:新建一个KEIL工程,将官网提供的.C文件和.H文件及CHIP.H文件加入,如图:

然后在选项卡下面,做如下设置:

进行编译链接,就可以生成想要的链接库了。当然,这个链接库也可以不用制作,当你用的那个库文件的时候,直接加载即可,只不过编译费些时间。ST现在就是这种开发方式。

第四步:编写一个简单的LED闪灯测试程序

建立一个main.c函数,在里面输入以下代码:

然后,编译链接、运行,将程序下载就可以看到一个灯在不停地闪烁了。程序测试完毕!

上图:

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示