智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: 孔继尧
打印 上一主题 下一主题

个人原创K60教程 欢迎批评指正

    [复制链接]

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
11#
发表于 2013-11-8 21:37:11 | 只看该作者
孔继尧 发表于 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 影响不大。

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




回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
12#
发表于 2013-11-8 21:40:37 | 只看该作者
艾瑞ge 发表于 2013-11-8 21:31
DMA那块说的太少了,,是不是我用DMA采集了一次数据之后必须释放总线,,就是清除DMA通道标志,,然后再下 ...

什么例程?锁死了吗?

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

只有 开中断,才需要清中断标记
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

注册会员

Rank: 2

积分
122
威望
78
贡献
30
兑换币
36
注册时间
2013-9-29
在线时间
7 小时
毕业学校
长沙理工大学
13#
发表于 2013-11-8 21:44:56 | 只看该作者
回复 支持 反对

使用道具 举报

11

主题

61

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1741
威望
851
贡献
520
兑换币
546
注册时间
2013-8-22
在线时间
185 小时
14#
发表于 2013-11-8 21:52:23 | 只看该作者
野火 发表于 2013-11-8 21:40
什么例程?锁死了吗?

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

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

回复 支持 反对

使用道具 举报

93

主题

1166

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7879

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

QQ
威望
4108
贡献
2161
兑换币
2705
注册时间
2013-8-14
在线时间
805 小时
15#
发表于 2013-11-8 22:33:40 | 只看该作者
感觉怎么样。。。。。。
回复 支持 反对

使用道具 举报

0

主题

86

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2510
威望
1167
贡献
879
兑换币
755
注册时间
2013-7-5
在线时间
232 小时
16#
发表于 2013-11-8 23:01:39 | 只看该作者
先收藏着!
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
180
威望
101
贡献
53
兑换币
53
注册时间
2013-7-24
在线时间
13 小时
毕业学校
华科
17#
 楼主| 发表于 2013-11-9 00:24:52 | 只看该作者

个人原创K60入门教程 欢迎交流

野火 发表于 2013-11-8 21:37
给出一个 初学者 的 学习方向,这个是 不错的一份文档,很有指导性。

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

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

使用道具 举报

1

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
180
威望
101
贡献
53
兑换币
53
注册时间
2013-7-24
在线时间
13 小时
毕业学校
华科
18#
 楼主| 发表于 2013-11-9 00:36:39 | 只看该作者
vison 发表于 2013-11-8 18:55
求一份k60的英文原版资料,谢谢学长!!

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

使用道具 举报

31

主题

370

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6026

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

威望
3707
贡献
1593
兑换币
1043
注册时间
2012-12-27
在线时间
363 小时
毕业学校
三江学院
19#
发表于 2013-11-9 09:35:31 | 只看该作者
支持啊
回复 支持 反对

使用道具 举报

0

主题

346

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
8979

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

威望
3260
贡献
2073
兑换币
1933
注册时间
2013-9-25
在线时间
1823 小时
20#
发表于 2013-11-9 09:35:55 | 只看该作者
谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-5 20:47 , Processed in 0.049642 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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