C8051F串口升级程序

阅读: 评论:0

C8051F串口升级程序

C8051F串口升级程序

C8051f121、C8051F500串口升级成功

  1. 了解单片机如何在flash中运行程序的
  2. 了解hex文件转换成二进制文件在flash中的情况。
  3. 了解flash擦除原理
  4. 了解单片机flash中的机器码的含义
    ——————————————————————————————

1、单片机如何在flash中运行程序

以C8051F系列为例,单片机的程序经过keil等IDLE软件编译成hex文件,然后通过仿真器烧写至单片机的flash里,hex首先得转换成二进制文件,然后写入flash,以500为例,flash为64KB,从0x0000H起始到0xFFFF结束。

地址0123456789101112131415
0x0000H02xxxx
0x0010H
0x0020H
0xDFFFH
0x7FFFH
0xFFFFH

如表所示,程序正常的机器码从地址0x0000H开始,最开头的一般都是02,02代表跳转,跳转到接下来的后两个字节xx xx,第四个字节往后会配置一些中断向量及其他一些操作。我们想要上电后执行boot的程序就需要把boot的程序放置在02 xx xx 的这个xx xx位置,然后boot程序里执行串口的接收程序,将串口接收的8位的数据(也就是机器码)依次烧写至flash的地址0x0003之后的位置,需要注意的是,boot程序执行完之后需要跳转的app的程序,而boot程序需要跳转的位置就是储存app跳转命令的地方,要烧写的程序分两个部分,前三个字节和后面的部分,前三个字节的储存位置解释boot程序需要跳转的位置。上电->boot->储存app跳转指令的位置->执行app跳转指令(这个指令本来应该是在flash前三个字节),这样就实现了boot。

未完待续。。。

本文发布于:2024-02-01 01:30:31,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170672223132861.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:串口   升级程序   C8051F
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23