发新帖本帖赏金 12.00元(功能说明)我要提问
返回列表
打印
[STM32F1]

上论坛这么久了,也为大家贡献点……

[复制链接]
楼主: tkyl01
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 tkyl01 于 2015-12-2 09:56 编辑

环境:103c8t6,项目是中途接手的,不知道前辈怎么想的没留下升级程序的接口,有一个micro usb,可是,只能充电,最D疼的是,PA11,PA12没有连接,想用USB更新程序也是不可能的了,每次一有问题都要拆壳子

后来想到了产品上有蓝牙,那就串口IAP吧,可是这是C8T6,SRAM只有20K,庙太小了,容不下我的程序啊!!!PS:之前的IAP都是 串口助手发送程序 存放到SRAM中 后再写入到FLASH,但是SRAM要足够大

没办法了?NO!得亏俺会点 WIN32 SDK,自己写个loader吧,思路就是->把程序分包发送,下位机每接收一包,就写入FLASH一次,待程序写入完成后执行jump,这样程序就直接写入flash了,SRAM大小只要够存下一包数据就可以了
(为什么不串口边接收边写入FLASH呢?没试过的可以试试)

上图:





界面虽然有点丑,大家不要见怪哦,
PS:暂时未加入校验,但留有CRC16功能,有心的可以自己把校验功能加上,程序就更可靠了,不过我用了几十块了,没出现问题,此程序经过修改可以应用任意无线设备 更新程序,我现在用的蓝牙。

无偿提供:
上位机源码: STM32IAPLoader.rar (2.61 MB) (VC6.0)    可执行程序: STM32IAPLoader.rar (67.85 KB)      下位机程序: IAPBootLoaderV1.0.rar (3.16 MB) (KEIL 4)

:handshake下位机程序部分用了  原子 的程序。

此程序还很不完善,上有源码,有心之人可以完善一下,也为想写上位机的童鞋提供一个范例。

打赏榜单

21ic小喇叭 打赏了 10.00 元 2015-12-24

21ic小管家 打赏了 2.00 元 2015-12-02

沙发
tkyl01|  楼主 | 2015-12-3 08:50 | 显示全部楼层
huaiqiao 发表于 2015-12-2 21:07
就是说,用IAP loader的这种方式,可以通过蓝牙给别的片子更新程序。可以这么理解吗。 ...

是的,这种方法支持->
(1)开机通过按键或其它方式进入IAP
(2)从APP跳转到IAP
(3)IAP和APP之间相互跳转(还没有实现,跳转的时候好像哪里没调整好)

使用特权

评论回复
板凳
tkyl01|  楼主 | 2015-12-4 10:58 | 显示全部楼层
枫暖寒冬 发表于 2015-12-4 09:29
QT?  谢谢你分享~收藏了先

WIN32  API,只涉及C语言,不涉及C++或其它,会C的都能写,起点低,要求少

使用特权

评论回复
发新帖 本帖赏金 12.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

71

帖子

1

粉丝