ubnt解决方案
查看: 9511|回复: 35

[分享] 自制闪存编程器(STM32+SD卡脱机烧写)

[复制链接]

46

回帖

5639

积分

379 小时

在线时间

中校

注册时间
2014-1-10
金币
5524 个
威望
6 个
荣誉
0 个
累计签到:594 天
连续签到:0 天
[LV.730]常住居民
发表于 2015-5-4 14:37 |显示全部楼层
本帖最后由 jzzhl 于 2015-5-4 14:37 编辑



        给大家讲讲我是如何在手上没有编程器的情况下自制了一个编程器,然后成功的刷入固件的。基于STM32(ARM)开发,开源给大家,放出原理图,源代码,软件工具等(见附件或http://pan.baidu.com/s/1gdfCJE7),仅供个人学习研究,请不要用于商业用途。本文的目的在于分享经验,晒晒楼主的技术,没有开发过STM32经历的慎重折腾,建议还是用买来的编程器玩玩刷机就好。

一、
        前几天从网上收了一个二手腾达N300,v1版32m内存的,据说有很高的可玩性,所以同时买了个8M闪存,SMA转接线,打算用来刷磊科236固件,搞搞中继、宽带叠加神马的。到手后以为换上新闪存,像电脑换硬盘一样,通电直接在网页上刷固件就行了,结果焊好后通电啥也没有,后来才知道还有个叫做CFE的东东类似于电脑的BIOS,需要用编程器刷到flash里。。。瞬间蛋疼了,手上没有编程器啊。。。某宝上20多就能搞到,但是路途遥远不想花时间坐等,而且感觉只为了刷一次路由就买个编程器不是很划算。楼主是学电子的,主要研究ARM神马的,手上有STM32最小系统板,sd卡之类的,于是就利用这些,还有修改正点原子的读写FLASH的例程,用了2个小时成功搞出了flash脱机烧写器。在坛子上下载的磊科236编程器固件刷入Flash,焊好,成功进入路由。以后会发一篇路由改好后的帖子,在此先不提。烧写8M flash用了大约10分钟,如果优化下程序,估计8分钟就可以了。




二、
        先说下硬件结构,附件上会放出原理图,接线图及一些软件。
首先,是STM32核心板,图片上的型号是STM32F103ZET6(144脚),实际上用STM32F103C8T6(48脚)就够用了


其次是SD卡座,楼主这个是自制的。。。


最后,需要一块洞洞板,把主角(8M flash)放在上面(像不像蜘蛛。。。)


主要就是这3大块,还有就是杜邦线若干。
SD卡与flash都是通过SPI的方式读写的,所以可以共用一个SPI接口,通过片选脚区分,下面介绍下图中的卡座怎么接,看图就懂了


除此之外,还需一些工具,pl2303串口线是必须的,既可以下载程序,又能监控刷写进度。


j-link,如果你也是搞STM32开发的话,你肯定会有它的,就是用来给STM32下载程序的,串口线可以代替它,所以不是很重要



Stm32工程使用keil v4.0编译,工程在USER目录下的HZ.uvproj文件打开,已经编译好的源码在OUTPUT目录下的Flasher.hex。可以使用串口下载软件mcuisp.exe(见附件)将这个.hex文件下载到STM32中即可(这个.hex就是STM32编程器的程序(固件))。
目前只实现了烧写功能,稍加改进,实现固件的备份也是可以的。




三、
        介绍下如何使用。首先,把要写入的编程器固件改名为“update.bin”,找一张手机用的tf卡并格式化为FAT32格式,复制固件update.bin到TF卡中的根目录下,插入TF卡座。Stm32芯片已经下载好程序,硬件连接无误后,通电。这时会有LED指示灯,由熄灭变为常亮,表示是正在擦除全片flash,并写入固件。等LED变为闪烁状态时,固件写入完成,断电,取下flash焊接即可。刷写固件的同时也可以在串口端看到进度提示信息等,波特率9600。串口软件在附件中放出。
数字的意义:前面一直在变的是当前烧写的地址,后面不变的是固件总共的大小,图中的就是8MB,最后的是烧写进度的百分比。烧写成功后,会在串口端打印出flash前100个地址的数据,方便查看是否烧写成功(不是全ff就成功了),和winhex打开update.bin文件的前100个字节应该是一样的。


最后来张全家福~


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x

点评

羡慕学电子的人啊 搞开发  发表于 2015-5-4 22:31

评分

1

查看全部评分

790

回帖

6069

积分

548 小时

在线时间

中校

注册时间
2014-3-29
金币
5172 个
威望
2 个
荣誉
1 个
累计签到:495 天
连续签到:0 天
[LV.730]常住居民
发表于 2015-5-4 22:40 |显示全部楼层
jzzhl 发表于 2015-5-4 21:45
烧写8m的用了大约10分钟,16M应该在20分钟左右吧,有ic插座就好了,每次烧写都要把8根导线重新焊接一遍

优化一下程序,应该可以做到几分钟,我买的烧写器大约就是2,3分钟,好像用的也是stm32的芯片
----------------------
回复

使用道具 举报

commy 该用户已被删除
发表于 2015-5-4 14:40 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

2

回帖

58

积分

53 小时

在线时间

新兵上阵

注册时间
2011-9-18
金币
51 个
威望
0 个
荣誉
0 个
累计签到:1 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2015-5-4 14:43 来自手机 |显示全部楼层
楼主耍一手好牛刀。
回复

使用道具 举报

4417

回帖

2万

积分

1740 小时

在线时间

大校

灌水天才

注册时间
2013-12-3
金币
16365 个
威望
84 个
荣誉
1 个
累计签到:1452 天
连续签到:0 天
[LV.1825]无线元老
发表于 2015-5-4 14:57 |显示全部楼层
楼主 强淫啊
回复

使用道具 举报

1974

回帖

8765

积分

691 小时

在线时间

中校

注册时间
2014-4-23
金币
6526 个
威望
3 个
荣誉
1 个
累计签到:288 天
连续签到:0 天
[LV.365]无线熟人
发表于 2015-5-4 15:05 |显示全部楼层
麻烦给我个941V5的UBNT固件可以吗?
回复

使用道具 举报

322

回帖

632

积分

558 小时

在线时间

中尉

注册时间
2015-2-3
金币
184 个
威望
1 个
荣誉
0 个
累计签到:61 天
连续签到:0 天
[LV.100]试剑无线
发表于 2015-5-4 15:07 |显示全部楼层
对于我等手无任何材料的人来说就是垃圾
回复

使用道具 举报

46

回帖

5639

积分

379 小时

在线时间

中校

注册时间
2014-1-10
金币
5524 个
威望
6 个
荣誉
0 个
累计签到:594 天
连续签到:0 天
[LV.730]常住居民
发表于 2015-5-4 15:09 |显示全部楼层
qk796796 发表于 2015-5-4 15:05
麻烦给我个941V5的UBNT固件可以吗?

这个真没有
回复

使用道具 举报

953

回帖

5131

积分

1026 小时

在线时间

中校

初级工程师

注册时间
2011-9-13
金币
3974 个
威望
2 个
荣誉
1 个
累计签到:861 天
连续签到:0 天
[LV.1095]铁杆粉丝
发表于 2015-5-4 15:15 |显示全部楼层
高手啊,,,,
回复

使用道具 举报

54

回帖

639

积分

386 小时

在线时间

中尉

注册时间
2013-8-25
金币
540 个
威望
0 个
荣誉
0 个
累计签到:10 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2015-5-4 15:44 |显示全部楼层
STM32F103CBT6  的芯片能用吗

回复

使用道具 举报

46

回帖

5639

积分

379 小时

在线时间

中校

注册时间
2014-1-10
金币
5524 个
威望
6 个
荣誉
0 个
累计签到:594 天
连续签到:0 天
[LV.730]常住居民
发表于 2015-5-4 16:51 |显示全部楼层
q269900 发表于 2015-5-4 15:44
STM32F103CBT6  的芯片能用吗

可以用的,程序是STM32F103系列通用的
回复

使用道具 举报

46

回帖

5409

积分

173 小时

在线时间

中校

注册时间
2015-5-4
金币
5326 个
威望
2 个
荣誉
1 个
累计签到:622 天
连续签到:0 天
[LV.730]常住居民
发表于 2015-5-4 16:52 |显示全部楼层
楼主好强大淫
回复

使用道具 举报

7

回帖

42

积分

0 小时

在线时间

新兵上阵

注册时间
2015-5-4
金币
35 个
威望
0 个
荣誉
0 个
累计签到:1 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2015-5-4 17:10 |显示全部楼层
好强啊!!!
回复

使用道具 举报

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

本版积分规则

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-5-4 05:22

返回顶部 返回列表