在线时间84 小时
UID353552
注册时间2012-4-17
NXP金币0
TA的每日心情 | 奋斗 2016-12-22 09:09 |
---|
签到天数: 12 天 连续签到: 1 天 [LV.3]偶尔看看II
高级会员

- 积分
- 876
- 最后登录
- 2019-3-8
|
本帖最后由 digua96 于 2016-5-20 11:04 编辑
最近一直在做用FRDM-K64板的USB口跟新程序,目前基本完成,下班之前先上传一个官方例程,之后慢慢再写点东西,大家相互交流;
如果第一次做没有例程还是很难入门的,附件里是给予K60的loader程序,目前手头也没有K60,开始就直接上FRDM-K64板卡了,显然是不行的;
主题思路:飞卡支持的loader方式很多,串口、网口、USB、SPI、IIC等,基本都是差不多的;
模式选择——检测硬件通道——读取S19文件——解析文件——擦除Flash——写入Flash。。。整体来说就是这样
1、首先要有一个外部信号,告诉程序,我是要跑loader程序还是应用程序;
2、跑loader程序也就是想更新我的程序了,这是我们要做的;在未插入优盘之前程序等待就可;
3、当插入优盘后,初始化优盘,读取image.s19文件,擦除烧写FLash就完成了
下面是移植过程中涉及到的更改:
a、中断改写:K64的中断分部和K60还是有一定区别的,开始没注意,定时器,USB都无法使用
原因就是没有打开对应的中断,导致中断无法进入,中断设置NVICI寄存器自己研究一下吧,
移植必须用的。
b、Flash操作:这也算是重点了,涉及到Flash的操作包括读写保护、擦除煽情大小、烧写指令,
K64和K60有较大区别,指令编号不同,一次烧写字节数量不同等等,看看相关章节,内容较多。
c、usb模块:这部分我也不太明白怎么回事,刚开始不能用,主要就改了一下中断,程序完成什么枚举、例化什么的能够读到优盘信息(这部分烦人),然后就是通过一些文件读取的函数,直接调用就可以了
有熟悉的朋友可以给讲讲,USB设计的内容多,一时半会弄不很明白。
d、image.s19文件:有了正确的loader程序还要有正确的S19文件,找一下S19文件的内容讲解,用之前打开看看你的S19文件能否和loader程序正确搭配(目前我是S19文件是需要更改才能用的,这样别人的程序写不进去,呵呵!把这部分看明白,都可以解决)。
大体写了一下,时间久了也想不起什么来了,就这些吧!有错误之处还请指正。
最后就是还有一个按键,用来告知程序我要更新程序用的,正常情况下你应用程序有的话是直接跑应用程序的,当按下按键时,进入程序更新流程。
|
|