本帖最后由 hdd961140543 于 2012-3-25 20:54 编辑
最近在开始学习C8051F单片机,没办法因为导师用的是这款单片机。项目中需要用到远程更新固件的功能,所以在网上找到了C8051F单片机串口下载的bootloader,修改之后就成功的用在了C8051F020这款单片机上。而且这种方式也可以扩展到其它具有IAP(在应用中可编程)功能的单片机上。
UartBootLoader.rar
(42.63 KB, 下载次数: 484)
2012-3-25 20:33 上传
点击文件名下载附件
bootloader源代码
这个是我写的bootloader代码,编译软件Keil4.00,为了尽量精简,我将所有代码都放在了一个main.c的文件里。
Keil中工程需要将代码存放位置设置一下,start地址就是boot程序区的起始地址,size大小就是你的boot代码编译后的大小,当然需要预留一些空间。
下载软件界面.jpg (70.41 KB, 下载次数: 0)
下载附件
下载软件界面
2012-3-25 20:46 上传
上位机还有几个功能我还没有做到:
1、自动装载hex文件
2、显示下载进度
3、下载计数功能
请有兴趣的大虾帮忙完善一下,分享给大家
串口下载器.rar
(123.31 KB, 下载次数: 776)
2012-3-25 20:50 上传
点击文件名下载附件
VB2008上位机
请参见此消息的结尾。
************** 异常文本 **************
System.ArgumentOutOfRangeException: InvalidArgument=“0”的值对于“SelectedIndex”无效。
参数名: SelectedIndex
在 System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
在 串口下载器.Form1.Form1_Load(Object sender, EventArgs e)
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Windows.Forms.Form.OnLoad(EventArgs e)
在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
在 System.Windows.Forms.Control.CreateControl()
在 System.Windows.Forms.Control.WmShowWindow(Message& m)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.5466 (Win7SP1GDR.050727-5400)
基本代码: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
串口下载器
程序集版本: 1.0.0.0
Win32 版本: 1.0.0.0
基本代码: file:///C:/Users/lukehua/AppData/Local/Apps/2.0/L3ZMN5BV.L9P/MHCAMVMJ.3QT/.app..tion_d240d544c810025f_0001.0000_d7a82bc78811cceb/串口下载器.exe
----------------------------------------
Microsoft.VisualBasic
程序集版本: 8.0.0.0
Win32 版本: 8.0.50727.5420 (Win7SP1.050727-5400)
基本代码: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
基本代码: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.5468 (Win7SP1GDR.050727-5400)
基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Windows.Forms.resources
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.5420 (Win7SP1.050727-5400)
基本代码: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_zh-CHS_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.5466 (Win7SP1GDR.050727-5400)
基本代码: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。
例如:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
启用 JIT 调试后,任何无法处理的异常
都将被发送到在此计算机上注册的 JIT 调试器,
而不是由此对话框处理。
请教下楼主,这个错误是神马情况?
是的,不过bootloader设置是不能擦除其所占用的flash区的。
仿真器肯定需要了,这个bootloader很简单的,只能作为学习用
你上面的错误我也不知道为什么,上位机.net仅是初学者
是的,不过bootloader设置是不能擦除其所占用的flash区的。
仿真器肯定需要了,这个bootloader很简单的,只能作为学习用
你上面的错误我也不知道为什么,上位机.net仅是初学者
一周热门 更多>