智能车制作

标题: 个人原创K60教程 欢迎批评指正 [打印本页]

作者: 孔继尧    时间: 2013-11-8 18:03
标题: 个人原创K60教程 欢迎批评指正
     参加过两届比赛,做过光电和摄像头,用过XS128和K60,画过板子写过程序,拿过华南赛区一等奖,含恨告别哈尔滨。算是小有心得,拿出来分享一下!
作者: 青青水草    时间: 2013-11-8 18:10

作者: 野火    时间: 2013-11-8 18:13
我全部看完了
作者: 孔继尧    时间: 2013-11-8 18:15
野火君觉得如何?
作者: vison    时间: 2013-11-8 18:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: vison    时间: 2013-11-8 18:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 问乐寻音    时间: 2013-11-8 19:13
赞一个
作者: 戒灬    时间: 2013-11-8 19:19
写得真好,,感觉自己这一年来都只是学了皮毛,只是会用而已,,
作者: 焱火三千    时间: 2013-11-8 20:04
  谢了
作者: 艾瑞ge    时间: 2013-11-8 21:31
野火 发表于 2013-11-8 18:13
我全部看完了

DMA那块说的太少了,,是不是我用DMA采集了一次数据之后必须释放总线,,就是清除DMA通道标志,,然后再下次DMA采集之后再清楚??火哥,,我用例程烧了几次,,板子都被锁了
作者: 野火    时间: 2013-11-8 21:37
孔继尧 发表于 2013-11-8 18:15
野火君觉得如何?

给出一个 初学者 的 学习方向,这个是 不错的一份文档,很有指导性。

不过有些内容可以再补充一下。
JTAG 和 JLINK 两种 ,一般 人纠结的是 BDM 和 jlink 。BDM 是用 jtag 模式下载,jlink 有 jtag模式 和 swd模式。
关于中断,楼主给出了个 设置中断优先级,不过 嵌套中断方面,没讲没配置(我们之前的教程也没讲,不过准备出的教程就讲到了,很多人问)。

中断使能的控制,通常情况下,我们并不希望嵌套中断出
现(因为高优先级打断低优先级发生的时机不确定,正常时序可能会
被打乱),在进入中断服务函数后往往会关闭中断,程序执行完毕后
再打开,这样就保证了该中断服务程序在运行时不会被其他中断源干



这句话 ,我认为不对,嵌套中断 的 目的是 在于 可以运行更加 重要的 中断,如果时序不可被打断,那么 就应该 优先级配置 最高。
如果多个 不可打断的 中断,那配置 同等优先级即可。另外,m4 分为 抢占优先级 和 亚优先级,只有抢占优先级才能高优先级抢占低优先级,k60 默认是 全部亚优先级,即不产生嵌套中断。


串口是调试利器,尤其是对于 K60
这类内核结构复杂、在线调试不太方便的高档 MCU 来说!寻找程序中
的逻辑错误需要对系统中的关键环节进行实时监视,此时就需要通过
串口将重要的变量发至 PC 端的上位机用于观测。


这句话,其实 k60 的调试非常方便的,可以全速运行的时候实时看到 变量的变化的(很多人以为不行,实际上是可行的),还能计时一段代码的执行时间,很多人也不知道。
例如产生 断言,数组越界、死机问题,其实 k60 是很好调试的,我们后面 做 教程,就是针对这方面进行讲解。


关于调试参数,我比较偏向于 NRF无线调试, 很多人喜欢 蓝牙串口调试,在于串口调试简单,不过 SPI 的通信 远比 RS232 协议快得多,采用中断收发,传输时对 CPU 影响不大。

不得不说,这文档的指导性 挺强的,推荐 初学者 看看。





作者: 野火    时间: 2013-11-8 21:40
艾瑞ge 发表于 2013-11-8 21:31
DMA那块说的太少了,,是不是我用DMA采集了一次数据之后必须释放总线,,就是清除DMA通道标志,,然后再下 ...

什么例程?锁死了吗?

DMA , 是配置好 传输条件 和次数 后,DMA 就根据 配置 来自行传输数据,传输完毕后就关闭 硬件,我们开启硬件使能后才能继续传输。

只有 开中断,才需要清中断标记

作者: 笑傲天下    时间: 2013-11-8 21:44

作者: 艾瑞ge    时间: 2013-11-8 21:52
野火 发表于 2013-11-8 21:40
什么例程?锁死了吗?

DMA , 是配置好 传输条件 和次数 后,DMA 就根据 配置 来自行传输数据,传输完毕 ...

恩恩解开了。。还有DMA必须要硬件触发的???没有软件触发的方法吗?


作者: 头上两只角    时间: 2013-11-8 22:33
感觉怎么样。。。。。。
作者: 萬伟    时间: 2013-11-8 23:01
先收藏着!
作者: 孔继尧    时间: 2013-11-9 00:24
标题: 个人原创K60入门教程 欢迎交流
野火 发表于 2013-11-8 21:37
给出一个 初学者 的 学习方向,这个是 不错的一份文档,很有指导性。

不过有些内容可以再补充一下。

多谢野火君指教!我开始用DMA时就是参考阁下的库改编的!野火库封装和接口特性俱佳,如同MFC一样,是广大程序员的福利,只是细节隐藏的太多,难免灵活性会受到点影响,而且基本的硬件原理也是要掌握的,见过很多人只会用例程,自己构造不了程序框架,有点问题就HLOD不住了,各种问,各种求助,这样有失智能车比赛的本意,当然本来很多人就是只冲着证书来的,也没辙……
关于中断嵌套的问题,我同意阁下的观点,但我认为在智能车的应用中,最好不要有嵌套中断,最简单的例子就是串口传数据时被打断会导致传回来的图像乱码。在同时有中断请求时用优先级判优,对于已经进入的,首先保证当前实时任务准确完成再来响应其他任务。
当然这只是我个人观点,还请野火君赐教!
作者: 孔继尧    时间: 2013-11-9 00:36
vison 发表于 2013-11-8 18:55
求一份k60的英文原版资料,谢谢学长!!

这个资料很多,有介绍硬件配置的还有专门的编程指南,不同型号文档版本也不一样,建议自己上网找,当然这个找系统板的卖家要最合适

作者: wangyao19920204    时间: 2013-11-9 09:35
支持啊{:soso_e179:}
作者: Bandari    时间: 2013-11-9 09:35
谢谢!
作者: vison    时间: 2013-11-9 12:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: beichen    时间: 2013-11-9 12:29

作者: 飞鸿印雪    时间: 2013-11-9 14:01
上网找了k60的  英文版的额datasheet     貌似和你的不太一样      就是翻到你说的那几页   不是你说的那个内容    能否给个    在此先谢了   1315941904@qq.com
作者: 大杰‘’    时间: 2013-11-9 14:28
写的太好啦!
作者: delay_18    时间: 2013-11-9 19:16
谢谢。。。分享
作者: wmslecz    时间: 2013-11-10 10:02
好给力的资料O(∩_∩)O~~
作者: 蓝天下的心    时间: 2013-11-10 14:36

作者: 车如风行    时间: 2013-11-10 16:23
学习了
作者: 雨子    时间: 2013-11-10 16:52

作者: new_life    时间: 2013-11-10 18:06
学长,你说让研究你的库,我怎么没看见呢,给传份呗
作者: new_life    时间: 2013-11-10 18:06
157146418@qq.com
作者: ぢ夏☆亞ざ    时间: 2013-11-10 19:34
很强大,谢谢楼主!!
作者: 什么你说    时间: 2013-11-12 14:53
谢谢分享。
作者: 什么你说    时间: 2013-11-12 14:53
谢谢分享。
作者: litingfeng    时间: 2013-11-12 19:49
谢了。。。。。。。。。。。
作者: xiaoboss    时间: 2013-11-12 20:13
谢了。好好学习
作者: 博进    时间: 2013-11-12 20:16
漂亮,像你学习
作者: qq1715497152    时间: 2013-11-13 17:59
呵呵,看看,O(∩_∩)O谢谢
作者: 音乐·因悦    时间: 2013-11-13 18:45
楼主好人
作者: wensenchao    时间: 2013-11-13 19:32
顶一个
作者: guangqy    时间: 2013-11-14 08:37
:D
作者: kelvin    时间: 2013-11-16 09:20
赞一个
作者: 小橙子    时间: 2013-11-16 14:20
{:soso_e179:}讲的浅显易懂 赞一个
作者: zypxaut    时间: 2013-11-23 20:00
说的非常真诚,很有感触,赞一个
作者: zhou1994    时间: 2013-12-1 15:28
:lol:lol:lol:lol:lol:lol:lol:lol:lol
作者: DEMOK    时间: 2013-12-4 10:59
非常赞,期待后续的更新
作者: DEMOK    时间: 2013-12-4 11:00
LZ华科的?
作者: 彡钢铁侠    时间: 2013-12-4 12:28
刚画完板子,准备摸摸K60,很有用!!
作者: InnerSong    时间: 2013-12-4 15:25
野火 发表于 2013-11-8 21:40
什么例程?锁死了吗?

DMA , 是配置好 传输条件 和次数 后,DMA 就根据 配置 来自行传输数据,传输完毕 ...

火哥 我最近遇到了一个比较蛋疼的问题 我给我的j-link升级之后 然后就用j-link给k60下载了一次程序 第一次没有问题,再次下载,j-link就找不到内核了,打开commonder,发现j-link没有找到任何core,我以为是k60坏了,然后就换了一个k60,j-link刷会最初版本v8,结果有事相同的情况,排除硬件电路的问题,3.3v稳定供电,程序我也没有变动过,还请火哥指点一下,可能是什么原因

作者: 527568984@qq.co    时间: 2013-12-4 15:47

作者: SmartCarBreeze    时间: 2013-12-5 00:40
给力~~
作者: 穿拖鞋上篮    时间: 2014-3-23 22:35
初学者,一齐向前辈学习!
作者: '佬々大§    时间: 2014-4-10 19:39
野火 发表于 2013-11-8 21:37
给出一个 初学者 的 学习方向,这个是 不错的一份文档,很有指导性。

不过有些内容可以再补充一下。

火哥,一天攻破K60里,哪里讲到了设置中断优先级了?我没找到,在此谢过火哥了

作者: '佬々大§    时间: 2014-4-10 21:41
野火 发表于 2013-11-8 21:40
什么例程?锁死了吗?

DMA , 是配置好 传输条件 和次数 后,DMA 就根据 配置 来自行传输数据,传输完毕 ...

火哥,在你的底层中,在哪里设置的中断优先级啊?我找到了void set_irq_priority (int irq, int prio)这个函数,但是我没有找到你是在哪了写的默认优先级的,要是我不更改默认设置,只是在程序执行前,把我用到的两个优先级分别是14,15的中断设置成7和8行吗,这样会不会收到原来的优先级的7和8影响啊
作者: 碛北的孤狼    时间: 2014-4-11 16:53
学习啦!
作者: 开明    时间: 2014-4-11 18:37
谢啦

作者: 逆袭队    时间: 2014-7-9 00:25
野火 发表于 2013-11-8 21:37
给出一个 初学者 的 学习方向,这个是 不错的一份文档,很有指导性。

不过有些内容可以再补充一下。

大师,我很好奇K60为什么那么容易锁?也不知道为什么锁的!求指点!
作者: 飘渺孤鸿~    时间: 2014-7-9 13:29
非常感谢!
作者: xshenpan    时间: 2014-7-10 20:44
先MARK了
作者: QMXi    时间: 2016-1-26 15:25
先赞一个





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2