请赐教:C8051F340单片机,如何实现通过USB更新程序

zhimu 2009-12-02 04:29:08
本人使用C8051f340单片机,不知道如何通过USB更新程序,请各位做过USB更新程序的哥哥姐姐赐教!
...全文
931 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ji532100 2010-02-06
  • 打赏
  • 举报
回复
学习
GTAI光钛 2010-02-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhimu 的回复:]
恩,你说对了一半,我是想通过USB接口(不是串口),通过PC软件把程序烧录到单片机FLASH中,没有外部中断,只有一个USB接口,估计要写个USB更新程序放在code区的某个位置,在单片机正常跑的情况下,接收到要更新程序的命令,然后跳到这个区域,执行更新程序的代码。


说是这样说,我感觉无从下手!再请赐教!
[/Quote]
我觉得你说的很清楚了,呵呵。
老人参 2010-02-03
  • 打赏
  • 举报
回复
我见过一篇文章,lpc单片机作的,

LPC2000系列处理器USB ISP Bootloader 使用说明.pdf

http://www.elechome.com/

一个人写的,我没有用过,

想法不错,但是不知道,这么做,单片机的程序,安全性好象有所降低,还要写一套加密的小程序代码,

而且还写了大量usb代码,给单片机的稳定性能也降低了,

如果升级失败会如何?送厂返修?回来再用usb仿真器写一下?

如果做复杂的效验程序,把主程序在flash区备份,如果升级失败再恢复主程序,这不是就是浪费flash么?

一个简单的usb程序,最小也要6k,带上你的附加的功能,会做得很大,

给自己造成不必要的麻烦,

我个人觉得,看过,知道原理就好了,

只是个人看法
ZhanweiXue 2010-02-02
  • 打赏
  • 举报
回复
得用汇编,给代码定位,BOOTLOADER里面,需要执行USB的数据收发处理、写FLASH操作,在非数据下载期间,BOOTLOADER将程序指针定位到用户代码区,如果不涉及中断操作,应该不太难。
gelu1040 2010-02-02
  • 打赏
  • 举报
回复
必须有个BOOTLOADER.
上电的时候把代码调到RAM中运行,监测USB状态。实行上位机命令,接收数据,写入程序存储器。
新下载的程序必须也有一样的bootloader,不然下次下载不了了
wackestar 2010-01-31
  • 打赏
  • 举报
回复
http://blog.ednchina.com/wacke/404482/Message.aspx
whxmall 2009-12-25
  • 打赏
  • 举报
回复
关注,学习
fangs6009 2009-12-04
  • 打赏
  • 举报
回复
USB升级程序?不太了解!我们公司自己做了一个IAP程序,可以在程序运行状态下串口升级,不过要上位机软件配合。
kyzf 2009-12-04
  • 打赏
  • 举报
回复
友情帮顶下
宇帆 2009-12-03
  • 打赏
  • 举报
回复
通过USB更新程序??
仿真器不是USB的嘛 通过USB下载程序 就是USB更新程序啊

你可以做成那种,自己写个程序,通过USB下载你的程序的可执行文件,通过串口操作,也挺好的,ARM的bootloader就是这样做的,你可以参考
宇帆 2009-12-03
  • 打赏
  • 举报
回复
这个不用你自己写吧,C8051f340的仿真器有USB的吧,只要把把程序烧写进去就可以吧
zhimu 2009-12-03
  • 打赏
  • 举报
回复
恩,你说对了一半,我是想通过USB接口(不是串口),通过PC软件把程序烧录到单片机FLASH中,没有外部中断,只有一个USB接口,估计要写个USB更新程序放在code区的某个位置,在单片机正常跑的情况下,接收到要更新程序的命令,然后跳到这个区域,执行更新程序的代码。


说是这样说,我感觉无从下手!再请赐教!
博说医械研发 2009-12-02
  • 打赏
  • 举报
回复
和WINCE的BOOTLOADER一个原理。

27,511

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧