搜索
bottom↓
回复: 43

silabs C8051F330串口BootLoader

[复制链接]

出0入0汤圆

发表于 2009-3-3 22:33:03 | 显示全部楼层 |阅读模式
附件包括PC程序和C8051F330串口BootLoader固件(HEX格式),程序里有使用说明.
BootLoader只占用芯片0x1BFD~0x1DFA FLASH空间,不占用其它资源.
用户程序入口地址需要一跳转指令(KEIL和HC8051均如此,如程序不能正常运行请检查此项)
串口通讯参数:波特率115200 数据位8 停止位1 校验位NONE

点击此处下载 ourdev_423467.rar(文件大小:260K) (原文件名:ZuISP.rar)

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-3-3 22:35:06 | 显示全部楼层
我顶,占位

出0入0汤圆

发表于 2009-3-3 22:52:38 | 显示全部楼层
非常好用,强烈关注,期待C8051的“AVRUBD”!

(原文件名:c8051_bld.JPG)

出0入0汤圆

发表于 2009-3-3 23:17:30 | 显示全部楼层
MARK

出0入0汤圆

 楼主| 发表于 2009-3-4 15:20:41 | 显示全部楼层
再上传个C8051F310的,可使用0x0000~0x3BFC FLASH空间
BootLoader只占用芯片0x3BFD~0x3DFA FLASH空间,不占用其它资源.
用户程序入口地址需要一跳转指令(KEIL和HC8051均如此,如程序不能正常运行请检查此项)

点击此处下载 ourdev_423586.rar(文件大小:2K) (原文件名:F310BootLoader.rar)

出0入0汤圆

发表于 2009-3-4 16:04:57 | 显示全部楼层
给个建议,BOOTLOADER的波特率还是设稍微低一点的好

出0入0汤圆

 楼主| 发表于 2009-3-4 20:57:17 | 显示全部楼层
F310,F330 内部振荡器:24.5MHz,±2%的精度 下使用115200波特率,更新程序速度满快的,我试过很多次,也没见出错
所以就用的这个速度,大家帮忙测下,有什么问题和我联系,谢谢!

出0入25汤圆

发表于 2009-3-4 20:59:57 | 显示全部楼层
楼主有点专业。。

出0入0汤圆

 楼主| 发表于 2009-3-5 10:23:17 | 显示全部楼层
另外,C8051F开发相关的软件,资源可以去我的趣盘下载,资料在不断更新 :)
l456789的趣盘文件

出0入0汤圆

发表于 2009-3-5 10:24:58 | 显示全部楼层
mark.

出0入0汤圆

发表于 2009-9-15 00:15:37 | 显示全部楼层
mark!

出0入4汤圆

发表于 2009-9-15 08:56:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-27 20:52:29 | 显示全部楼层
这个很有用,和强电很好隔离,调试起来要方便。

试用了一下,能更新程序,更新后运行也正确。不过之后就没法再次BOOTLOADER了。

估计可能和“用户程序入口地址需要一跳转令”有关,不过没用过C8051,请楼主或是懂得的DX指明,谢谢。

出0入0汤圆

发表于 2010-6-27 21:02:53 | 显示全部楼层
为避免说起来空洞,传上来从网上找到的通讯的例程。

我用U-EC5直接烧入HEX文件或是烧入BOOTLOADER文件后再引导进HEX文件后,单片机都能正常和电脑通信。

请问要在哪儿改动,才不影响下次BOOTLOADER?

谢谢!

点击此处下载 ourdev_564327H58JTK.rar(文件大小:23K) (原文件名:prog.rar)

出0入0汤圆

发表于 2010-6-27 23:29:10 | 显示全部楼层
留个脚印。

出0入0汤圆

发表于 2010-6-29 22:39:12 | 显示全部楼层
花时间摸索了一下,可以更新了,
(原文件名:升级成功.JPG)


就是在主函数的开始加入函数指针:
void (*update_firmware)( );
update_firmware = (void code*) 0x1000;
update_firmware( );

在LINKER设置栏加入:
RS(256) PL(68) PW(78) CO(1000H,?PR?MAIN?UART(1000H))  

主要是1000H这个地址同0x1000要一致就行了。


不过用串口BOOTLOADER后的串口程序接收总有错误,但是直接烧录是没有问题的(当然地址不用跳转)。不知是什么原因。估计还是和"用户程序入口地址需要一跳转指令"有关。 如果LZ或者懂行的DX请指出。

另外感觉BOOTLOADER的波特率还是设稍微低一点的好,毕竟就是烧录几K的程序,用1~2秒感觉和零点几秒没啥区别,但是对硬件的要求低了,相对出错机率也小了。

谢谢。

出0入0汤圆

发表于 2010-6-29 23:32:53 | 显示全部楼层
马克

出0入0汤圆

发表于 2010-9-2 22:38:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-10 12:55:13 | 显示全部楼层
mark 非常有用,现在在调试C8051F040的bootloader 有点小问题

出0入0汤圆

发表于 2010-12-10 13:47:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-10 14:18:37 | 显示全部楼层
好东西,支持

出0入0汤圆

发表于 2010-12-10 14:44:01 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-12-14 17:35:29 | 显示全部楼层
回复【16楼】neranihc
-----------------------------------------------------------------------
你好, 你这有相关的源程序吗, 我也正在学习, 对固件更新很感兴趣, 谢谢你了

出0入0汤圆

发表于 2011-1-4 12:20:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-12 14:01:23 | 显示全部楼层
回复【16楼】neranihc
-----------------------------------------------------------------------

回复【16楼】neranihc
花时间摸索了一下,可以更新了,

(原文件名:升级成功.jpg)
引用图片
就是在主函数的开始加入函数指针:  
void (*update_firmware)( );  
update_firmware = (void code*) 0x1000;  
update_firmware( );  
在linker设置栏加入:  
rs(256) pl(68) pw(78) co(1000h,?pr?main?uart(1000h))   
......
-----------------------------------------------------------------------




你好, 我也在做C8051F340 的bootloader , 请问, 内部程序的跳转,

从boot启动后, 进入APP应用程序, 启动文件里需要做哪些设置,
还有在linker设置栏加入:  
rs(256) pl(68) pw(78) co(1000h,?pr?main?uart(1000h)), 是在哪一块设置的, 谢谢啦

出0入0汤圆

发表于 2011-3-17 23:24:31 | 显示全部楼层
还是的通过那个神马ec6仿真器下载哈!

出0入0汤圆

发表于 2011-4-1 21:32:08 | 显示全部楼层
楼主我不太明白,请用这个最最简单的例子改一个示范下,怎么才能下载后不覆盖BootLoader

void init()
{
    PCA0MD &= ~0x40;                //打狗
    // P0.0  -  Unassigned,  Push-Pull,  Digital
    // P0.1  -  Unassigned,  Push-Pull,  Digital
    // P0.2  -  Unassigned,  Push-Pull,  Digital
    // P0.3  -  Unassigned,  Push-Pull,  Digital
    // P0.4  -  Unassigned,  Push-Pull,  Digital
    // P0.5  -  Unassigned,  Push-Pull,  Digital
    // P0.6  -  Unassigned,  Push-Pull,  Digital
    // P0.7  -  Unassigned,  Push-Pull,  Digital

    // P1.0  -  Unassigned,  Push-Pull,  Digital
    // P1.1  -  Unassigned,  Push-Pull,  Digital
    // P1.2  -  Unassigned,  Push-Pull,  Digital
    // P1.3  -  Unassigned,  Push-Pull,  Digital
    // P1.4  -  Unassigned,  Push-Pull,  Digital
    // P1.5  -  Unassigned,  Push-Pull,  Digital
    // P1.6  -  Unassigned,  Push-Pull,  Digital
    // P1.7  -  Unassigned,  Push-Pull,  Digital

    P0MDOUT   = 0xFF;
    P1MDOUT   = 0xFF;
    XBR1      = 0x40; //使能交叉开关
}
void main (void)
{  init();                                      
while(1)           
   {  
    P1=0XAA;
    P0=0X55;
   }
}

出0入0汤圆

发表于 2011-4-12 23:09:22 | 显示全部楼层
非常好用,强烈关注,期待C8051的“AVRUBD”!

出0入0汤圆

发表于 2011-5-3 23:43:40 | 显示全部楼层
mark下,明天试试

出0入0汤圆

发表于 2011-6-7 19:48:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-18 00:35:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-26 21:15:15 | 显示全部楼层
很无语啊 现在弄这个弄的

1.解析HEX文件失败  check_sum faild  官网的程序


2.APP和BOOT的地址怎么设置呢  还有变量

纠结Ing

出0入0汤圆

发表于 2011-8-1 00:57:41 | 显示全部楼层
是否一定要将MAIN放在1000H??不一定吧  我用别人的BOOT 自己的APP  自己的MAIN 就不再1000H

出0入0汤圆

发表于 2011-8-1 10:00:12 | 显示全部楼层
C8051F310的有吗?

出0入0汤圆

发表于 2011-9-29 14:51:10 | 显示全部楼层
mark 谢谢

出0入0汤圆

发表于 2012-4-16 11:11:01 | 显示全部楼层
正着手c8051f311,bootloader已通过c2下载进去,但单片机和电脑串口通信连接不上。如图,下载不了,请问需要注意什么事项?

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2012-4-16 11:13:35 | 显示全部楼层
正着手c8051f311,bootloader已通过c2下载进去,但单片机和电脑串口通信连接不上。如图,下载不了,请问需要注意什么事项?

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2013-1-7 09:59:10 | 显示全部楼层
看不懂呀!

出0入0汤圆

发表于 2013-1-7 20:24:01 | 显示全部楼层
收藏一下。

出0入0汤圆

发表于 2014-5-13 21:47:24 | 显示全部楼层
楼主辛苦了,谢谢分享!

出0入0汤圆

发表于 2015-11-26 09:08:04 | 显示全部楼层
好贴,学习下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-5 18:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表