最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 什么是在线升级?内核N76E003芯片通过软件控制升级

    什么是在线升级?

    在开发阶段,我们在调试单片机时更换程序,通常是通过下载器(仿真器),擦除保存程序的Flash,然后重新编程。

    那么如果是在量产阶段,成品已经组装好,或者已经到了用户手中,当程序需要再次更新的时候8051片上可编程系统原理及应用,就没有办法通过下载器更新了。这时可以考虑通过外设通信接口(UART/USB/SPI/I2C/CAN等)实现升级。

    如何控制升级过程?

    为了保证升级的可重复性和安全性,从Flash中划分出一小块区域用于升级,我们称之为Boot程序,或Bootloader。该程序的作用是管理升级、判断是否升级、接收升级数据包和Flash烧写、应用的跳转控制、升级过程中的异常处理。

    应用程序存储在Flash的另一个区域,应用程序独立于Boot程序。实现在线升级的前提是Boot程序和应用程序可以相互跳转,或者软件可以控制复位后先执行哪个程序。

    需要考虑的问题:

    如何进入Boot程序?

    设置复位后加载引导程序

    确定是否需要升级?

    比如触发某个IO口级别(长按升级按钮),或者通讯握手成功等8051片上可编程系统原理及应用,条件满足,等待升级。当条件不满足时,跳转到应用程序运行。

    数据包接收和Flash编程

    根据接收和写入Flash的数据协议段,必须保证传输的正确性和Flash操作的正确性,最好在Flash烧写后再次验证。如果传输出现错误(校验码不匹配),需要申请重传。

    应用跳转

    不满足升级条件或升级完成后,重置设置并加载应用程序,然后重新启动。

    下面介绍8051核心N76E003芯片通过串口进行在线升级。

    1个Flash分区(共18KB)

    LDROM:划分4KB作为Boot程序(芯片可分为1KB/2KB/3KB/4KB,比较灵活),新唐把这部分Flash称为LDROM

    APROM:划分14KB为应用程序,新唐将这部分Flash称为APROM

    2 在引导程序和应用程序之间切换

    在应用程序中,设置 BS 位,然后复位软件。复位后,它从 LDROM 启动并加载 Boot 程序。

    在 Boot 程序中,将 BS 位清 0,然后由软件复位。复位后,从 APROM 启动并加载应用程序。简单的。

    3 接收升级数据包和APROM编程

    数据传输这里我指的是Xmodem文件传输协议,每个128字节的payload,

    如果最后一次传输不足 128 字节,则添加 0xFF。

    再解释一下为什么要提到Xmodem协议,因为N76E003 Flash使用128字节为1页,擦除是按页进行的。

    串口接收,采用中断方式,接收到一个数据包后,如果验证成功,写入Flash,回复ACK,准备接收下一个数据包(如果有);如果验证失败,回复NAK,并向上位机申请重传。

    4 异常处理

    如果升级过程中出现异常,如串口线脱落或MCU掉电,如何恢复升级?

    因为考虑到掉电前的状态,升级状态需要保存在Flash中,使用LDROM的最后128字节(4KB)来保存升级状态。需要三个状态。默认值为 0xFF。(未编程),升级失败,升级完成。

    进入Boot程序时,先读取这个状态。如果升级未完成,请等待主机发出升级命令。如果升级已经完成,请稍等片刻。如果主机没有升级命令,切换到应用程序。

    在升级过程中,升级状态始终为失败。当所有数据包都正确写入APROM后,升级状态变为完成。

    5 电脑软件

    只需选择串口,点击连接,选择要升级的BIN文件,开始升级。由于我开发的产品是内置锂电池供电,通过Micro-USB接口充电,串口信号直接拉到Micro-USB插口,外接PC通过TTL-USB 适配器电缆。由于是内置电池,应用程序收到升级命令后,切换到Boot程序运行升级。

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 什么是在线升级?内核N76E003芯片通过软件控制升级

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论