4回答

0收藏

SAM-4S Xplained--KEIL 开发环境搭建及LED测试(库函数版本)

其他 其他 4798 人阅读 | 4 人回复 | 2013-01-10

本帖最后由 fengye5340 于 2013-1-10 18:26 编辑

   KEIL开发环境搭建及LED测试(固件库版本)
在搭建IAR开发环境过程中,发现缺少了像TIST那样的启动文件,这个文件自己编写的话,很耗费时间和精力。幸好,在用KEIL MDKV4.6调试其他板子的过程中,发现这个MDK版本支持SAM4S16C这个器件,最初也建立了一个小过程,里面有启动文件和系统时钟配置函数,这个配置还是比较趁手的,平时用惯了这个环境去开发TIST的器件,如果换用其它的开发环境,一方面不容易调试成功,另一方面耗费精力太多。看到论坛上有网友在KEIL下用寄存器的方式实现了LED流水灯,那么我再用库函数的方式来实现一个LED的闪灯程序,丰富一下开发方式,呵呵。从个人观点,对于配置比较复杂的ARM内核来讲,采用寄存器方式来写程序,上手比较慢。
     第一步:安装 KEIL-MDK460.EXE
   
这个程序网上搜起来也很多,注册机用以前的MDKV450注册机就可以,不像
现在的IAR那样,最新的6501已经更换了破解方式,现在偶也没有找到一个合适的和谐文件。

MDK460下载地址:
     MDK-KeyGen-450.rar下载地址:
       
   
第二步:建立工程文件夹并配置工程文件

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


其中:
driver文件夹放置你要写的各种驱动文件
driverlib 对照TIST风格设计的驱动库,里面放置官方提供的驱动库文件及编译好的SAM4S16.lib库。
MDK  存储工程文件,里面可以自行设置目录,用于输出.list或可执行文件等。
SAM4S16C 可以放置跟这个器件相关的一些宏定义文件,比如chip.H.
Startup 文件夹放置的是启动文件
User 文件夹放置的是用户的main.csystem_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函数,在里面输入以下代码:
        
然后,编译链接、运行,将程序下载就可以看到一个灯在不停地闪烁了。
程序测试完毕!
上图:
        
        

SAM4S-XPLAINED--KEIL开发环境搭建及LED闪灯测试(固件库版本).pdf

441.74 KB, 下载次数: 47

分享到:
回复

使用道具 举报

回答|共 4 个

倒序浏览

沙发

┗SKY┛

发表于 2013-1-10 19:27:46 | 只看该作者

沙发            
板凳

ldlylry

发表于 2013-1-12 00:07:48 | 只看该作者

楼主上传一个工程吧,按你的方法做还是报错,可能有的东西搞错了
地板

fengye5340-272571

发表于 2013-1-12 09:39:42 | 只看该作者

本帖最后由 fengye5340 于 2013-1-12 11:29 编辑
ldlylry 发表于 2013-1-12 00:07
楼主上传一个工程吧,按你的方法做还是报错,可能有的东西搞错了


楼主说的是哪个地方报错了,这个要修改它里面的资源,我的工程文件还不成熟,成熟后再上传,以免误导别人,有问题回帖吧,
ATMEL STUDIO 6 对SAM4S XPLD的支持比较好,里面有个ASF向导非常好用,楼主如果目前KEIL问题多多,建议换环境哦
5#

xiaopaohu123

发表于 2013-1-20 15:38:20 | 只看该作者

最近要出作品,急啊
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条