微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 设计基于NXP LPC2000的次级启动加载程序用于代码升级

设计基于NXP LPC2000的次级启动加载程序用于代码升级

时间:04-04 来源:电子产品世界 点击:

在于闪存的0x0000 0000到0x0000 003F,因此用户应用程序的中断向量表只能被映射到片内SRAM(对于支持外部总线接口的LPC2000器件,也可以映射到片外存储器)。在跳转到用户应用程序执行前,要将这64字节的数据复制到片内SRAM的底部(0x4000 0000 – 0x4000 003F),并且将系统的内存映射模式设置为"User RAM Mode"。这样当用户应用程序产生中断时,系统会自动到位于SRAM的中断向量表取中断向量入口,而不是错误地跳转到位于0x0地址处的、属于次级启动加载程序的中断向量表。

  运行用户应用程序

  更新完成后,修改PC指针,使其指向新的用户程序的起始地址,然后开始执行。

  注意:要保证用户应用程序能运行,必须还要做一些必要的初始化工作,包括RW区域的复制、ZI区域的清零等等,这些没有放在次级启动加载程序里完成,而是在用户应用程序开始运行时首先执行。

  程序(从串口利用XMODEM协议更新代码)上电运行时,串口将会打印出如图4的信息。

  用户可以测试一些IAP命令,或者选择PROG命令更新用户代码,更新完成后,选择RUN命令来执行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top