智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 16530|回复: 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

查看全部评分

回复

使用道具 举报

68

主题

439

帖子

2

精华

版主

Rank: 9Rank: 9Rank: 9

积分
4618
QQ
威望
2342
贡献
1290
兑换币
1175
注册时间
2009-12-24
在线时间
493 小时
2#
发表于 2014-10-21 09:26:20 | 只看该作者
支持一下 哈哈,JLINK确实容易出问题,如果你想全面掌握K60,或者想用Keil的话,可以参考这个帖子 http://www.znczz.com/thread-202246-1-1.html
回复 支持 反对

使用道具 举报

27

主题

1517

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
11255

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章资源大师奖章

威望
4350
贡献
2795
兑换币
2704
注册时间
2013-10-16
在线时间
2055 小时
毕业学校
并没有毕业
3#
发表于 2014-10-21 09:33:54 | 只看该作者
经验丰富啊
回复 支持 反对

使用道具 举报

21

主题

763

帖子

0

精华

跨届大侠

刚来不久的插班生

Rank: 10Rank: 10Rank: 10

积分
7604

在线王奖章优秀会员奖章活跃会员奖章论坛元老奖章

威望
3657
贡献
1199
兑换币
1613
注册时间
2014-6-17
在线时间
1374 小时
4#
发表于 2014-10-21 09:45:59 | 只看该作者
顿悟啊,原来我用的是山寨中的山寨啊,虽然很早就知道了
回复 支持 反对

使用道具 举报

3

主题

276

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2465
威望
1088
贡献
809
兑换币
733
注册时间
2014-7-26
在线时间
284 小时
5#
 楼主| 发表于 2014-10-21 10:00:52 | 只看该作者
yandld 发表于 2014-10-21 09:26
支持一下 哈哈,JLINK确实容易出问题,如果你想全面掌握K60,或者想用Keil的话,可以参考这个帖子 http://w ...

非常感谢分享资料!!
回复 支持 反对

使用道具 举报

3

主题

276

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2465
威望
1088
贡献
809
兑换币
733
注册时间
2014-7-26
在线时间
284 小时
6#
 楼主| 发表于 2014-10-21 10:04:40 | 只看该作者
1200 发表于 2014-10-21 09:33
经验丰富啊

言重了,算不上丰富,对芯片接触的时间并不长,编程的经验也很欠缺,像帖子最后贴出的问题,到现在还是一头 雾水,有点郁闷啊!

回复 支持 反对

使用道具 举报

3

主题

276

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2465
威望
1088
贡献
809
兑换币
733
注册时间
2014-7-26
在线时间
284 小时
7#
 楼主| 发表于 2014-10-21 10:05:53 | 只看该作者
0818 发表于 2014-10-21 09:45
顿悟啊,原来我用的是山寨中的山寨啊,虽然很早就知道了

嘿嘿,毕竟天朝特色,大家都懂,能用就行了,哈哈!
回复 支持 反对

使用道具 举报

5

主题

833

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6207

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

威望
3103
贡献
1968
兑换币
1747
注册时间
2014-5-8
在线时间
568 小时
8#
发表于 2014-10-21 12:22:02 | 只看该作者
好强大
回复 支持 反对

使用道具 举报

1

主题

293

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3329
威望
1699
贡献
954
兑换币
920
注册时间
2012-3-5
在线时间
339 小时
9#
发表于 2014-10-21 12:23:57 | 只看该作者
都是老司机
回复 支持 反对

使用道具 举报

16

主题

1096

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7306

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
3288
贡献
2098
兑换币
2140
注册时间
2013-7-18
在线时间
960 小时
10#
发表于 2014-10-21 12:51:36 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 12:18 , Processed in 0.101953 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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