串口更新程序.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:7 大小:2.4MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

串口更新程序.pdf

串口更新程序.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

应用笔记AN012C8051F0xx引导装入程序考虑及举例相关器件本应用笔记适用于下列器件C8051F000C8051F001C8051F002C8051F005C8051F006C8051F010C8051F011C8051F012C8051F015C8051F016和C8051F017引言本文介绍对C8051F0xx系列器件引导装入程序的一些考虑及使用方法引导装入程序提供在系统复位或接收到命令后对程序存储器FLASH进行在系统重新编程的能力本文讨论在实现引导装入程序时的一些考虑并给出一个引导装入程序的例子引导装入程序的操作在器件复位后一个引导装入程序将从一个指定的源主机下载程序代码在复位时引导装入程序会收到一个引导装入允许信号将器件配置为能接收代码并将代码数据下载到存储器中对于C8051F0xx器件存储器为FLASH的状态在下载成功后引导装入程序会转去执行新程序C8051F0xx器件的引导装入程序可以有很多形式但在允许引导装入程序方面大都遵循同样的基本程序1配置用于下载数据的外设和输入/输出端口引脚例如SPISMBusUART等2擦除用于接收下载数据的存储区3向主机发送一个准备好信号表明它已准备好接收数据4接收下载数据并存入存储器这一步可能包含错误控制或传输协议5跳转到已下载的程序的入口点并开始执行程序硬件考虑引导装入程序需要在一个主机与C8051F0xx通信外设之间建立通信连接还需要有一个通知器件启动引导装入程序的手段引脚分配和数字交叉开关C8051F0xx使用数字交叉开关为数字外设分配用于外设接口的端口引脚请见应用笔记AN001配置端口I/O交叉开关译码器交叉开关允许使用数字外设的任意组合但用户必须考虑到软件能够改变器件的引脚分配AN012C8051F0xx引导装入程序考虑及举例在大多数情况下引导装入程序会使用与最终应用相同的引脚分配引导装入允许在复位或其它条件要求在系统编程时器件必须有一个输入用于通知开始下载过程这可以通过读取一个作为引导装入信号的通用I/O引脚来完成一旦确定了某一应用的引脚分配应该安全地选择用哪一个引脚作为引导装入允许配置外设信号这样可使主机或其它硬件能通知C8051F0xx开始装入过程在本应用笔记提供的例子中P1.4是引导装入允许信号在复位的最后阶段被采样当端口引脚P1.4保持低电平时启动引导装入过程擦除存储器注意端口引脚在复位后的缺省状态为高电平并允许写操作逻辑1因此硬件复位后通用I/O引脚的输入信号应为逻辑0才能通知启动引导装入操作向主机发出软件考虑"准备好"信号引导装入软件实现图1中所示程序流程的基本功能当允许引导装入时引导装入程序必须使器件准备好接收数据首先引导装入程序对所需要的通信外设进行配置然后引导装入程序必须对用于下载的存储器进行擦除并允许对下载代码存储器写入为了建立通信链路引导装入程序到存储器可以通过自动波特率检测确定位速率另外主机和MCU器件还可以使用预定的波特率一旦器件已准备好接收数据应通知主机主机接到通知后发送数据在有用数据前可能还会加上有跳到新代码处关下载的信息例如主机将要发送的字节数并开始执行本文所提供的例子是一个没有错误控制的简单引导装入程序数据被下载到连续的存储器空间更复杂的引导装入程序可能会使用通信协图1.引导装入流程图议数据也可能被下载到跨越多个扇区且不连续的存储器地址空间2AN012-1.0FEB01AN012C8051F0xx引导装入程序考虑及举例自动波特率检测引导装入程序可以用自动波特率检测法确定主机的传输速率例如主机可以发送一个训练字节例如0x55C8051F0xx用该字节确定UART的波特率另一个方案是主机可以用预定的波特率发送一个字节来设置下装过程的传输速率此后器件就可以配置UART和定时器以便在接收数据前能工作在正确的波特率在所提供的例子中我们没有使用自动波特率检测我们假定采用115.2k位/秒的预定波特率和18.432MHz的系统时钟FLASH存储器写入在引导装入过程中程序代码被写入到FLASH在对FLASH存储器进行擦除和写入操作时有一些特别需要注意的事项请参见应用笔记AN009–从应用程序写FLASH一般来说引导装入程序会擦除一个或多个512字节的FLASH页一旦FLASH被允许写入目标板就已经准备好接收下装数据注意对于擦除操作写允许PSWE和擦除允许PSEE位必须被置1一旦擦除操作被允许向一个FLASH存储器页内写入任一字节将擦除整个512字节的FLASH页使用FLASH时的一个限制是执行写操作的速度完成写一个字节的操作需要最长