5372|15

1976

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

LaunchPad G2553 + PetitFatFs + SD卡实现修改SmartRF04EB调试器Bootloadter实现在... [复制链接]

最近在搞Zigbee通信,在淘宝上淘了几块CC2530的开发板来学习,想同时用2个RF04EB进行在线调试的时候才发现电脑只能识别出一个,查了一下原因就是因为2个RF04EB的usb ID都是0x50,所以只识别出一个,于是在网上查找修改USB ID的方法,确实是有几个较好的教程,看了比较详细的帖子:赶紧下下来研究一番,有前辈的经验就好办了,顿时喜上眉梢,就要开始着手准备了,才发现手头没有Slicon公司C80051F320这个单片机的烧写器,一下整个人都感觉不好了,又百度了C8051单片机的烧写程序的方法,基本都要烧写器的,淘宝上有卖,但是想想就这么点需求还是不要买了,看到芯片资料里有一个C2接口可以实现烧写程序,找了相关资料,发现有人利用电脑并口转C2/JTAG接口配合相应的上位机程序能实现程序烧写,就在公司找带并口的老电脑,终于还是发现一台,跟同事说明情况后,他同意我在他电脑上拆腾,并口转C2/JTAG的电路图如下:

    找齐所需的器件就开始在万用板上面开焊了,搞了一下午才弄好(线路太乱了,看得眼睛都花了,所以焊得很慢很小心,怕给弄错了),怀着激动的心情和电脑连上,结果就是死活提示识别不了未知设备,对一下原理图发现中间的那个电容C2是连在时钟引脚的,怎么会加个电容呢,用来隔直?真搞懂加这个电容的意义是什么,于是把它给短路掉,再连电脑,竟然能顺利识别出来了,信息都是对的,很激动,接下来就擦除,烧写,问题又来了,擦除的时候一路顺风,到写的时候就是写不进去,总是说写操作在0x0010的位置就被终止了,写保护开关也都清了都写不进去,折腾了一上午还是一个样,很气馁,都不想搞了,真想在淘宝上买个新的算了,最后还是抱了一丝希望在Slicon官网上寻找关于C2的资料,还真是有所收获,官方有关于C2接口的通信协议,写得很详细,而且还有示例代码,顿时萌生了“为什么不自己根据协议做个烧写器”想法,脑子里在不断构思要实现烧写器要做的事情,觉得还是可行的,唯一不好处理的是怎么读取hex程序文件问题,虽然hex格式的程序文件解码还是相对比较简单的,但是里面的的每个字都是字符数据,而不是16进制数据,电脑上位机我不会写,把hex文件加载烧写器的Flash中又太复杂(得定义一个16K的常量数组,不好弄啊)。转念一想,前段时间有搞过FatFS文件系统移植,可以把程序文件存在SD卡中,再读出来一个一个再写入就好了,思路定下来后,就开始在LaunchPad上开搞了(最熟悉的平台了,而且才在上面做完12864的三种接口的驱动程序统一化,LCD都还没有取下来呢,顺便能打印一些信息)。
花了一晚上时间,把文件系统和SD卡还有C2接口的功能都调通了,接下来就是按照前辈的方法来修改bootloader并且烧进去了。一开始我先用Hex转Bin文件的小工具把要修改的srf04dd_bootloader.hex转为Bin格式的文件,发现了个问题,转出来的文件中hex文件中没有用到的存储空间全部被0给填充了,由于我使用的是整个Flash从头到尾的写入模式,如果不对这些0进行处理,肯定会是有问题的,我尝试着烧进去,果真是一点用都没有,后来还是对着hex文件把换成0的部分进行替换,替换成FF,烧进去就OK了,以下是我的操作步骤:
1、使用记事本打开srf04dd_bootloader.hex文件,将DD改为EB,再将50改为你想要USB ID(只要不和其他的调试器一样就行),8E为检验和,要保证修改完后此行所有字节加起来要为0。再将第20行的第一个44改为45(字符E),第二个44改为42(字符B),相应的校验和也要改。(前辈的帖子里没说要改这个地方,导致烧进去电脑无法识别)。
2、用HexBin工具 Bin_Hex.exe把修改后的bootloader转成Bin文件,再用UEUltra Editor软件)打开刚才的Bin文件
会看到很多地方都被填充为00了,我没有找到可以选择填充内容的转换工具,只能对着hex文件把填充为00的地方改为FF,中间有一大片的00,都得改为FF,在最后面的部分从3db0h3df0h也要改为FF
转出来的Bin文件只到3da0h这一行,需要再往后插入FF(复制前面的FF,插入到后面)到3df0h这一行就可以,C8051F3203e00h3fffh512个字节是保留区,不能擦除也不能写入数据,到此就修改完成了,接下来只需要把此程序文件烧进去就大功告成。

3、打开SmartRF Studio 7,重新插上RF04EB,就能识别出来了,双击就会提示是否要升级固件,点yes就开始在级升级固件,到此就完结了。
4、连接图

此帖出自单片机论坛

最新回复

这块430板子你用的很到位! 依靠自己解决了问题,很不错。 c8051f320在十年前是很了不起的芯片!  详情 回复 发表于 2015-6-4 17:24
点赞 关注(1)
 

回复
举报

3404

帖子

6

TA的资源

裸片初长成(初级)

沙发
 
此帖出自单片机论坛
 
 

回复

300

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
收下我的膝盖!
此帖出自单片机论坛

点评

谢谢支持,今天我把步骤简化了,把修改好的hex文件改名为update.hex放到SD卡里就能直接烧写,不用再先转成Bin文件  详情 回复 发表于 2015-6-4 11:01
 
个人签名世间万物皆系于一键之上~
 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

4
 
07611128 发表于 2015-6-4 10:35
收下我的膝盖!

谢谢支持,今天我把步骤简化了,把修改好的hex文件改名为update.hex放到SD卡里就能直接烧写,不用再先转成Bin文件
此帖出自单片机论坛
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

5
 
太牛了!赞一个!
话说G2有那么多管脚么?能同时支持TF卡,12864液晶和这个烧录器
此帖出自单片机论坛

点评

SD卡使用SPI接口进行驱动,使用P1.2~P1.5,12864用串行接口驱动,使用P2.0~P2.4,烧录用的C2口用的P1.0和P1.1,由于2553的RAM太小,只能运行Petit FatFs,SD卡读写有点慢,7K的bootloader烧了快6、7分钟的样子  详情 回复 发表于 2015-6-4 13:42
 
 
 

回复

300

帖子

0

TA的资源

一粒金砂(高级)

6
 
我也很好奇,您的引脚是怎么分配的?
此帖出自单片机论坛

点评

SD卡使用SPI接口进行驱动,使用P1.2~P1.5,12864用串行接口驱动,使用P2.0~P2.4,烧录用的C2口用的P1.0和P1.1  详情 回复 发表于 2015-6-4 13:42
 
个人签名世间万物皆系于一键之上~
 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

7
 
本帖最后由 bobde163 于 2015-6-4 13:49 编辑
qiushenghua 发表于 2015-6-4 11:31
太牛了!赞一个!
话说G2有那么多管脚么?能同时支持TF卡,12864液晶和这个烧录器

SD卡使用SPI接口进行驱动,使用P1.2~P1.5,12864用串行接口驱动,使用P2.0~P2.4,烧录用的C2口用的P1.0和P1.1,由于2553的RAM太小,只能运行Petit FatFs,SD卡读写有点慢,7K的bootloader烧写带校验快3分钟的样子
此帖出自单片机论坛
 
 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

8
 
07611128 发表于 2015-6-4 13:25
我也很好奇,您的引脚是怎么分配的?

SD卡使用SPI接口进行驱动,使用P1.2~P1.5,12864用串行接口驱动,使用P2.0~P2.4,烧录用的C2口用的P1.0和P1.1
此帖出自单片机论坛
 
 
 

回复

1300

帖子

0

TA的资源

纯净的硅(中级)

9
 
速度好快
此帖出自单片机论坛

点评

额~~~几个意思?  详情 回复 发表于 2015-6-4 13:50
 
 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

10
 

额~~~几个意思?
此帖出自单片机论坛

点评

楼主移植c2通信代码速度快 我做过并口,串口,usb的c8051烧录器  详情 回复 发表于 2015-6-4 14:05
 
 
 

回复

1300

帖子

0

TA的资源

纯净的硅(中级)

11
 
bobde163 发表于 2015-6-4 13:50
额~~~几个意思?

楼主移植c2通信代码速度快
我做过并口,串口,usb的c8051烧录器


此帖出自单片机论坛

点评

厉害,我做的并口不成功,才想着要做C2接口的,搞了快一个星期,算是能简单地烧写了  详情 回复 发表于 2015-6-4 16:29
 
个人签名

 

 

 
 

回复

1300

帖子

0

TA的资源

纯净的硅(中级)

12
 
现在做的脱机一带三烧录器可以烧写cc2530/2531以及蓝牙2540/2541芯片
很不错
此帖出自单片机论坛

点评

还是你专业,我这就是满足个人小需求的小打小闹,有机会向您请教  详情 回复 发表于 2015-6-4 16:33
 
个人签名

 

 

 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

13
 
大秦正声 发表于 2015-6-4 14:05
楼主移植c2通信代码速度快
我做过并口,串口,usb的c8051烧录器

厉害,我做的并口不成功,才想着要做C2接口的,搞了快一个星期,算是能简单地烧写了
此帖出自单片机论坛
 
 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

14
 
大秦正声 发表于 2015-6-4 14:13
现在做的脱机一带三烧录器可以烧写cc2530/2531以及蓝牙2540/2541芯片
很不错

还是你专业,我这就是满足个人小需求的小打小闹,有机会向您请教
此帖出自单片机论坛

点评

这块430板子你用的很到位! 依靠自己解决了问题,很不错。 c8051f320在十年前是很了不起的芯片!  详情 回复 发表于 2015-6-4 17:24
 
 
 

回复

1300

帖子

0

TA的资源

纯净的硅(中级)

15
 
bobde163 发表于 2015-6-4 16:33
还是你专业,我这就是满足个人小需求的小打小闹,有机会向您请教

这块430板子你用的很到位!
依靠自己解决了问题,很不错。
c8051f320在十年前是很了不起的芯片!
此帖出自单片机论坛

点评

谢谢您的鼓励,带我入门的就是这块板子,硬件资源上相比C8051F320还是差很多,不论是主频还是RAM空间,但是比较有优势的就是低功耗了  详情 回复 发表于 2015-6-4 19:07
 
个人签名

 

 

 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

16
 
大秦正声 发表于 2015-6-4 17:24
这块430板子你用的很到位!
依靠自己解决了问题,很不错。
c8051f320在十年前是很了不起的芯片!

谢谢您的鼓励,带我入门的就是这块板子,硬件资源上相比C8051F320还是差很多,不论是主频还是RAM空间,但是比较有优势的就是低功耗了
此帖出自单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表