完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 eggeggice 于 2015-1-22 14:11 编辑
板子到了几天了,之前因为忙别的事没时间来玩,昨天玩了一下午,终于写进了第一个程序。 因为我不是按照论坛上的攻略走的,所以遇到了很多问题,我觉得可以写下来,尤其适用和我一样觉得固件库和jlink太高端不敢用的。后来看了官方的manual,感觉很多问题讲的很全面很基础。资源:
MDK V4.xx Lab for Freescale Freedom KL25Z Board.pdf
(1.16 MB, 下载次数: 63
)
废话不多,先上图(左边是同学自制的没有任何外设的51的板子,右边是freescale的板子,真的很小巧。。。) 首先要认识一下这块板子,可以参见群主大大的帖子:https://bbs.elecfans.com/jishu_464492_1_1.html和@ccly0208 的帖子:https://bbs.elecfans.com/jishu_464663_1_2.html。 很多问题论坛里的帖子里已经解释了,建议大家多去看看论坛的帖子,能学到不少知识。 然后就是连线。我刚开始看到两个miniUSB接口(不是正常那种大号的USB和现在流行的microUSB,而是以前MP3流行的miniUSB),以为需要两根线,后来才知道只要一根线就好了。如下图, 接下来是安装驱动、升级openSDA和安装keil了。 首先是安装驱动。
OpenSDA驱动安装.rar
(17.95 MB, 下载次数: 110
)
运行fslkinetisdriversv120.exe后一直点下一步,默认会把驱动给装上的。可能需要重启,否则不会被识别。我就是重启后才连上的。 如果出现以下状况,我建议重启试试: 1、右下角显示连上了硬件 2、非bootloader模式(也就是没有长按复位键再连线)我的电脑中显示为bootloader 3、双击该bootloader会卡住,然后……慢慢……就变为不可识别了→_→…… 在我的电脑里看是这样, 或者这样, 或者这样, 楼主当时就抓狂了,在群里问了半天也没搞清楚,最后还是重启好了。 然后是升级openSDA,这个也蛮重要的,因为升级后可以免去很多麻烦。升级可以参照群主大大的帖子: https://bbs.elecfans.com/jishu_464564_1_1.html。 非常详细,我就不重复了。
OpenSDA固件升级.rar
(272.72 KB, 下载次数: 23
)
配置openSDA:这一步很重要,因为@初代饭影 大大用的@suyong_yq 大大的固件库,与我直接用官方默认的openSDA(也就是ARM的CMSIS-DAP标准,openSDA是freescale给它取的新名字)debug有区别。 使用openSDA前,有一步很重要的工作要做,就是让系统将这个芯片识别为芯片,而不是以大容量存储设备。 可能大家都注意到了,把芯片插上电脑,debug LED(也就是那个绿色的小LED)一直亮着。 这是因为芯片的openSDA接口没有被正确配置,也就是说端口不知道你要用openSDA还是别的什么协议来通信。 附件里有一个后缀名比较奇怪的文件CMSIS-DAP.S19
CMSIS-DAP.rar
(10.71 KB, 下载次数: 31
)
这一步必须做,否则后面会出现一些错误,我后面讲到debug的时候会讲。 最后就是安装keil了。因为我电脑里装了用于编译c51的keil4,所以我不敢升级到keil5怕搞坏了,后来才意识到这种考虑是多余的,因为安装MDK的时候会自动把编译器给升级了。不过4.72版确实好用,我再也不想用4.12了。 下载链接见群主大大的网盘: htt删p://pa掉n.b中aidu.c文om/s/1eQCeToQ#path=%252FKeil。 破解自行百度或者去群里下,群共享的第一个文件就是。 破解有一个很明显的好处,每次调试的时候不会跳出提示框,告诉你是测试版,只能运行小于32k的代码。 安装完了keil后,就可以建立第一个程序了。我们可以按照群主大大的这个帖子来操作: https://bbs.elecfans.com/jishu_464502_1_1.html。 当然可以更简单一些,也不需要建立子文件夹,不需要改include路径了。也就是参@初代饭影 大大的这个帖子里的视频: https://bbs.elecfans.com/jishu_465108_1_1.html,建立一个简单的工程并且编译(源码:
红灯闪烁的源代码.rar
(391 Bytes, 下载次数: 21
)
要理解这个问题可以参见这篇文章:h删ttp://blog.s掉ina.c中om.c文n/s/blog_4d1854230101a0q0.html 我粘贴过来: Undefined symbol SystemInit,翻译过来就是SystemInit 这个符号没有定义,随后的小括号告诉你了,是在 startup_STM32f0xx.o 这个文件里面被提及的。在STM32库函数中,void SystemInit(void)主要用于初始化系统时钟。在system_stm32f10x.c这个文件中。 要解决这个错误,有三种方法: 1)在外部(其他任何.c文件里面)定义SystemInit这个函数(哪怕是空的也行),比如在main函数前加上这段代码就行了
2)在工程目录下,用记事本打开startup_MKL25Z4.s找到
把这三句话注释掉。(不推荐) 3)在库中的例找到system_stm32f10x.c文件,然后添加进工程里 按@初代饭影 大大的视频教程创建了第一个工程,编译成功后,这时候该往板上下载程序了。需要进行的设置是,点击target option(或者按Alt+F7),选择debug, 选择右侧的use ULINK PRO Cortex Debugger,并且在下拉菜单中选择CMSIS-DAP Debugger 单击settings,应该显示为 如果右边的设备框内没有设备,那就要检查连线是否正确,和上面提到的配置openSDA是否正确。 如果还不看不到设备,重启试试。 开个玩笑,把keil重启一下应该就好了。 选择两次OK,点击target option左边的load,这样程序就被正确地下载到板子上了。 debug LED(绿灯)亮了一会儿,板上的三色LED会开始周期性地闪着红光了。 如果之前没有配置openSDA口或者debug设置错误,直接下载的话会出现错误: 如果这个简单的小程序没法满足你,可以去keil的安装目录KeilARMBoardsFreescaleFRDM-KL25ZBlinky文件夹找一个例子来试试。 双击Blinky.uvproj,点击Built,在target左边的下拉菜单里选择CMSIS-DAP-MTB Flash。然后Load,完成,LED开始以三种颜色闪烁了。 恭喜你,你已拿到了first blood(大误)。 |
|
相关推荐
|
|
本帖最后由 eggeggice 于 2015-1-12 19:29 编辑
原来只是不能发外链,还好。。。今天就当熟悉一下论坛发帖环境好了。。。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
好东西,谢谢分享,从零开始
|
|
|
|
|
|
很好很好,学习了!!!!!!!
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1934个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36427 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4963 浏览 1 评论
6114 浏览 1 评论
6821 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4250 浏览 0 评论
653浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
646浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
647浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
736浏览 2评论
848浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 15:17 , Processed in 1.386313 second(s), Total 96, Slave 77 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号