智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 16528|回复: 41
打印 上一主题 下一主题

正在学K60,说说我碰到的问题

    [复制链接]

3

主题

276

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2465
威望
1088
贡献
809
兑换币
733
注册时间
2014-7-26
在线时间
284 小时
跳转到指定楼层
1#
发表于 2014-10-21 00:00:06 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 Okabe 于 2014-10-21 00:09 编辑

    作为新手,碰到了不少纠结的问题,由于解决的过程颇为辛酸,所以想记录一下作为纪念,也顺便给以后的初学者作参考。
    记得第一天拿到K60核心板和JLink的时候,颇为兴奋,觉得从51迈入ARM,从8位跳到32位想必颇为刺激。然后作严肃脸,庄重的拿起板子接上转接板和Jlink,接通PC,结果“惊喜”地发现K60板上电源指示灯不亮。接下来就是反复地调整插拔的位置,但是依然无效!后来用万用表测了一下,发现对应的脚(1号脚)没有输出电压,于是板子的USB口接上外接电源,这次终于能用了。但是用了一会儿发现电源指示灯不稳定,摇了几下,原来供电的USB线接触不良。这可不好,容易出事,然后琢磨着能不能让JLink给板子供电,应该能做到,因为我看到别人和我一样也是用Segger的Jlink V8,而别人的可以,我的就是不行,这可不科学。网上搜了一下,发现JLink默认不对外供电,想供电需要改装。于是果断拆开盖子观察,发现确实有一个3脚的排针,而短路帽就短接在NC端。顿时又兴奋起来,马上把短路帽揪起来接到3.3V端。但是当我把Jlink的1脚和GND接到K60上时,还是不会亮。纳闷了一会儿,我用万用表测了一下,发现3脚排针的中间脚是接在Jlink的2脚上的,也就是说现在2脚接在3.3V上,再测电压,果然如此,再把2脚往板上接,灯亮了。但这次我高兴不起来,因为这和别人的不一样。别人的Jlink是1脚直接输出3.3V。此时我也懒得纠结是不是碰到山寨货了,接着琢磨改装线路。刚开始最直接的想法是把1脚和2脚用杜邦线短接,但这想法一冒出来就马上否决了,杜邦线把管脚占用了那排线怎么插,转接板怎么接?但是提到杜邦线我一个激灵,反正转接板效果不好,干脆舍弃,用杜邦线直连!说干就干,我在转接板上测出Jlink和K60板上Jtag口的对应管脚,连上后,灯亮了,但是不能下载程序,更别说仿真了。想想不得其解,就打开JLink的中文说明看,发现这个JLink的1脚是参考电压输入端,不是输出。为了验证这一点,我把外接的3.3V接到1脚,再尝试仿真,确实能行了,看来1脚不能空。然而问题是先前已经发现外接的USB线接触不良,我也不打算换,毕竟拖着一个外接电源确实麻烦,必须把1、2号脚短接,接下来只是怎样短接的问题。最后想的办法是把2脚扩展一下,引出3.3V接到1脚,具体做法是割下一小块洞洞板焊上一组3*2的排针,全部连着一起,相当于把2号脚扩展出了6个引脚。随后我把2脚接到扩展脚上,引出两个分支,一边接3.3V,一边接1脚,这次再调试,发现终于能正常供电和仿真了!(PS:今天发现杜邦线有点乱,而且容易脱落不稳定,还是舍弃了,改用飞线在内部把3.3V和1脚短接,接上排线和转接板连到K60上,也能用,如下图。)


      由于第一天解决了Jlink的问题,所以后面调试程序还是挺顺利的,接下来的几天都没出问题。但是几天前终于出事了。当时我准备弄一个LCD1602的驱动程序,想调试一下引脚的输出电平是否正常,接上LED后,点击仿真,准备看LED的亮灭,可是程序下进去后(注意这里,后面会解释)再准备仿真时出故障了,拔出JLlink在重新插上去,还是不行,反复几次皆如此。然后就傻眼了!总之,噩梦开始了,后来我一点仿真要么提示找不到设备,要么提示芯片被锁。这时Debug Log里说的某个引脚持续低电平引起了我的注意,在网上搜了这个Log里的关键词,试了各种办法,没效果!后来在论坛里看到一位大神说点击下载瞬间按住复位可以解决,然后找了一个野火的例程准备试试看能否下载,结果还真灵了,高兴之余火速回帖感谢那位大神,这里再次感谢这位大神@安安安然。。可惜好景不长,我再次下载先前那个LCD1602的程序准备调试,结果K60又病了。接线那天一直在尝试解决,皆以失败告终。此刻我是真的有些沮丧了,索性放下,准备再找时间弄。
      离开实验室会宿舍后还是不甘心,决定参考一下这个帖子http://www.znczz.com/thread-225970-1-1.html。把帖子贴的附件下载下来看了一下,感觉可能有戏,于是准备明天试试。第二天回实验室试了一下,先用JFlash ARM把K60刷了几下,再用J-Link Commander解锁,完了再试着仿真,终于通了。可是作为战5渣,我犯了极大的二,又去下载那个诡异的程序,然后芯片再次挂,再用先前的办法恢复,又去下载,接着又挂……反复几次,我突然想起大神说的管脚复用的问题,用万用表一测,确实如此,A0到A3都复用为Jtag口,而我的代码里竟然把它们设置成IO口,顿感膝盖中了一箭!重新解锁K60,把修改后的代码烧进去,这次确实没出问题!我以为世界就此安静,但是我错了。
      晚上回寝准备继续弄下程序,结果插上JLink发现出事,状态指示灯不亮!当时真想泪奔了!努力冷静下来后,继续在网上搜解决办法。发现山寨JLink普遍容易出这种问题,这种情况需要给Jlink重新刷固件。然后我就按照教程刷固件,发现我JLink板上的两组排针正好对应教程里的A、B端,执行到准备点击”Write flash"来刷固件是出问题了,就是那个"Write Flash"键一直无效。先前以为是操作问题,反复按教程操作皆无效后,我意识到应该是其他问题。这时我瞄上了驱动的问题,教程里虽然说电脑会自动给JLink装驱动而且不用管,但是事实上系统自动装的驱动确实怪,没有截图习惯所以就不贴图了,只记得那个驱动好像是GPS***Camera之类的,反正和JLink风马牛不相及,去网上搜了一下这个驱动,发现确实有大神说这个驱动不对,需要自己调整,于是我试着手动安装驱动,装好后再试着刷固件,这次起到了立竿见影的效果,一插上JLink那个"write flash"就亮了,然后顺利的刷好固件,再打开J-Link Commander,提示固件升级,选择确定后也顺利升级了,在返回IAR调试,也很顺利!至此终于送了一口气。
      折腾完JLink,继续弄程序,发现了一个奇怪的问题。按野火的3天入门 K60的教程快速建立一个工程模板后,在主函数里添加延时函数后,仿真时会一直卡死在这个函数,进去一看发现是卡死在这里


后来在”LPTMR0_CMR = ms;“前添加”LPTMR0_CSR = 0x00;(在上图顶部)这条语句吧lptmr的CSR寄存器清零后就不会卡了。

可是问题又来了,单步调试时是可以执行完延时函数的,如图

可是一旦全速运行就又卡住了,很奇怪。
与之相比,野火的那个GPIO例程也是会出现延时函数卡死的情况,被我按上述办法修改代码后也不会卡了,而且全速运行也没问题,可是不知为何我的工程就不能全速运行,这个问题僵住好几天了,还请大神赐教!
再提一下,我的程序在仿真时首先进入的不是main函数,而是底层启动函数,如图

这一点,野火的GPIO例程也是这样,很让人疑惑,求指教!

再次求指点,先谢过了!大家晚安!



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

1

查看全部评分

回复

使用道具 举报

1

主题

6

帖子

0

精华

注册会员

Rank: 2

积分
84
威望
54
贡献
18
兑换币
21
注册时间
2016-9-30
在线时间
6 小时
毕业学校
奥呢
42#
发表于 2016-10-1 10:53:42 | 只看该作者
想问一下,怎么一步步来做的,最开始学51吗?学到什么程度......
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

高级会员

Rank: 4

积分
633
威望
314
贡献
189
兑换币
197
注册时间
2015-11-22
在线时间
65 小时
毕业学校
安徽师范大学
41#
发表于 2016-7-17 01:49:02 | 只看该作者
我也遇到很多问题,包括锁死,网上解决了,但是,没有整理。以后向LZ学习,整理发出来,与人与己都十分方便。
回复 支持 反对

使用道具 举报

1

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
654
QQ
威望
330
贡献
190
兑换币
199
注册时间
2015-10-21
在线时间
67 小时
毕业学校
sseg
40#
发表于 2016-4-9 18:27:34 | 只看该作者
大神,百折不挠的精神值得学习!
回复 支持 反对

使用道具 举报

1

主题

53

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3066
威望
1599
贡献
917
兑换币
923
注册时间
2011-12-6
在线时间
275 小时
39#
发表于 2016-3-12 23:36:55 | 只看该作者
技术好贴,必须顶:):)
回复 支持 反对

使用道具 举报

3

主题

276

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2465
威望
1088
贡献
809
兑换币
733
注册时间
2014-7-26
在线时间
284 小时
38#
 楼主| 发表于 2016-3-6 12:49:49 | 只看该作者
lukeyue 发表于 2015-3-5 21:20
没遇到过你说的这些问题……

        你一定使用了更合适的方法,不管是有意还是无意,祝贺你!
回复 支持 反对

使用道具 举报

3

主题

276

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2465
威望
1088
贡献
809
兑换币
733
注册时间
2014-7-26
在线时间
284 小时
37#
 楼主| 发表于 2016-3-6 12:48:57 | 只看该作者
fandeyan 发表于 2015-11-17 09:42
你好可以加我QQ:614670987吗?想请教你下

      论坛大神很多,我只是菜鸟一枚。况且好久没折腾单片机也已经生疏了。      善用搜索引擎和论坛,你一定行的,况且过了这么久,相信你一定也进步了很多了!

回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
59
威望
31
贡献
16
兑换币
18
注册时间
2015-10-19
在线时间
6 小时
毕业学校
深圳大学
36#
发表于 2015-11-17 09:42:18 | 只看该作者
你好可以加我QQ:614670987吗?想请教你下
回复 支持 反对

使用道具 举报

4

主题

10

帖子

0

精华

注册会员

Rank: 2

积分
52
QQ
威望
33
贡献
9
兑换币
11
注册时间
2015-6-24
在线时间
5 小时
毕业学校
巢湖学院
35#
发表于 2015-8-14 14:12:52 | 只看该作者
还有没有k60驱动的lcd1602程序了???
回复 支持 反对

使用道具 举报

0

主题

188

帖子

0

精华

高级会员

Rank: 4

积分
647
威望
287
贡献
184
兑换币
191
注册时间
2014-3-27
在线时间
88 小时
34#
发表于 2015-4-28 20:55:34 | 只看该作者
:):)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 10:54 , Processed in 0.071993 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表