完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 本帖最后由 xmgbit 于 2015-2-11 22:20 编辑 首先要感谢 suyong-yg,将自己的固件库开源供大家使用!使用ARM我的感想之一就是希望相应的半导体公司能够发布比较完善的固件库。因为ARM内核的单片机,一般寄存器都比较复杂,有了固件库,就能够快速开发了,可以避免底层寄存器级别的耗费过多时间。这方面感觉ST公司做的不错。以前曾经接触过K60的单片机,也是用的第三方的固件库,感觉在这方面飞思卡尔公司做的不是很够。再次感谢suyong-yg,也希望他能够把这个固件库越做越好! 这篇帖子主要是记录我是如何在suyong-yg的固件库基础上搭建工程的。我的环境为Windows 8.1 下 Keil(MDK5)。 如果不了解这个固件库,可以到这个帖子看看。固件库介绍 首先,我们需要把固件库下载下来,之后解压,应该是长这个样子的。 我们分析一下这个固件库的结构: /board文件夹下面应该是和我们这个KL25Z FRDM板子有关的一些东西。 /document文件夹下面是一些文本资料。 /driver文件夹下面是suyong-yg实现的对单片机硬件资源的操作,可以看到有GPIO之类的。 /example文件夹下面是一些样例,比如HelloUART是对串口的操作等等。 /include文件夹下面是一些公共的头文件,放到了一起。 /libary文件夹下面是一个已经编译好的静态链接LIB文件,这样可以不用每次都重复编译驱动部分了。但我发现在添加了这个LIB之后,在Keil里面无法跳转到相应的函数,所以在我的项目里面,不打算弄这么个东西。 /tool里面是一个SDA文件,应该和另一篇帖子有关,可以让OpenSDA集成上JLink的功能。戳我 好了,接下来就是我们的工作了,我们要建立一个比较纯净的工程模板,以供将来学习使用。 我们建立一个文件夹,名叫template就好。 在这个文件夹下面再建立文件夹,对应的直接将固件库里面的/board, /driver, /include copy过来。再建一个/User文件夹,作为一会UV工程的文件夹。建一个叫/App的文件夹,和我们具体应用相关的代码放在这个里面。打开固件库中/example下的一个样例,将里面的/application里面的文件拷进来。我找的是gpio_led的。再建立一个Output文件夹,可以将编译输出的目标文件啥的放到里面,不和源代码文件啥的混着,这样看起来比较清楚一点。最终的文件结构如图: 然后,我们打开Keil,新建项目template,选择单片机型号,就得到了一个空白工程,把工程文件存到/User文件夹下面。然后,我们就可以添加文件了。 在左侧的Project中游记,选择Manage project items。分别建立不同的组/App, /Driver, /Board,分别和外面这些文件夹相对应,添加文件。注意在/board文件夹下面有一个.s文件,别把它漏了。。。 接着,我们设置项目属性,点击那个魔术棒。 点击“target”选项卡,选上“Use MicroLIB”选项,这是为了实现标准输入输出库stdio; 点击“Output”选型卡,选择“为目标文件选取目录”,选择我们的Output文件夹; 点击“C/C++”选项卡 ,选择“包含文件”,把我们的头文件的目录加进去: 选择“Debug”选项卡,选择使用“JLink”调试,点击Settiing,把JTAG改为SW。 至此,我们就设置完了。 打开/App下面的main.c文件,试着编译链接,应该是没有警告和错误提示的,而且可以通过下载小图标下载到板子上。下面的代码是我自己测试时所用。
`
template.rar
(91.35 KB, 下载次数: 21
)
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1932个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36414 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4796 浏览 1 评论
6100 浏览 1 评论
6807 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4244 浏览 0 评论
641浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
637浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
639浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
725浏览 2评论
835浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 06:48 , Processed in 1.404794 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号