- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C8051F1XX串口引导使用说明BT
系统要求
串口引导配置程序信息
外部晶体 22.1184M
CPU频率 22.1184*4 M
串口设置 115200,8,1,N
引导ROM空间大小 0000H-0FFFH地址
引导硬件使用硬件资源 UART0 TIMER0
中断使用情况 没有使用
数据通信模式 有定义的帧格式
主要实现思想:初始化UART0 TIMER0 其中TIMER0自由最大定时 定时35.5MS,使用TIMER0来实现定时跳转功能。
退出引导程序的条件:
首次超时退出首次上电后10秒没有接收到有效的引导命令帧
已经进入引导后在60秒内没有接收到有效的引导命令帧
引导上位机命令进入应用程序
上述时间可在.C文件中修改
#define EXIT_BOOTLOAD_POR_VALUE 10/0.035 //10秒 上电首次退出Bootload 时间
#define EXIT_BOOTLOAD_UART_VALUE 60/0.035 //60秒 没有指令退出Bootload 时间
应用程序空间配置:
最大支持C8051F120的122K程序空间(0X1000-0X1F7FF)
内置BOOT的擦写保护功能
支持应用程序空间的擦 写 读 校验 CRC验证功能
CRC算法采用 16bit的ccitt 特征项0X1021(大端进入模式)
自动设别小空间代码烧写模式 节省擦写时间
Bootload的主要流程如下:
软件环境设置
使用BOOTLOAD 需要包含两个文件
需要设定代码的ROM存储空间 避免中断地址被覆盖(因为程序中没有使用中断)
编译出来的HEX文件
从上图可以看出 芯片的所有中断被LJMP到了用户ROM空间
用户软件的配置信息
1 需要将用户的所有CODE编译在0X1100H后面
2 需要将用户的中断向量偏移地址 从默认的0X0000 移动到0X1000 确保中断从BOOTLOAD中能正常的跳转到用户的应用程序入口处
3 需要将用户的启动代码或MAIN函数定义到指定的0X1000地址,确保程序从BOOTLOAD能正常的运行。
下图是修改启动代码实现方式
用户编译的HEX文件如下
3 如用户不使用启动代码 用户可通过将MAIN函数定义到指定的0X1000地址,确保程序从BOOTLOAD能正常的运行。
由于不使用启动代码 编译器会固定在0X0000产生跳转指令 HEX能运行 但是使用上位机的软件会警告!!!!BT区域存在代码的警告信息 不建议使用
文档评论(0)