FreeARM7 IP核的微处理器逻辑扩展与验证
3.2 Bootloader的设置
Bootloader启动一般分为两个阶段。第一阶段主要包含依赖于微处理器的体系结构硬件初始化的代码,设置堆栈并跳转到第二阶段的C程序入口点,通常采用汇编语言来实现。第二阶段通常用C语言完成,以便实现更复杂的功能,也使程序有更好的可读性和可移植性。在μVision3.63软件自带的示例工程“Hello”中,通过下面3行代码实现了两个阶段的工作交接:

由于本文讨论的微处理器只是在FreeARM7基础之上做了一些基本的扩展,微处理器的体系结构硬件单一,因此第一阶段主要是对堆栈位置和大小进行设置。对USB接口的初始化在第二阶段的C程序中进行,初始化程序如下:


4 微处理器的功能验证
在完成前面的工作之后,借助FPGA对微处理器进行了功能验证。选用Altera公司DE2开发板作为硬件逻辑的实现载体,微处理器IP核工作时钟为开发板上27 MHz晶振输入,USB控制器IP核工作时钟为27 MHz晶振倍频至48 MHz。功能验证流程如图3所示,在主机上利用μVision 3.63编写、编译验证程序后,微处理器进入下载模式接收主机对设备的代码下载,之后进入用户模式接收主机端传送的验证程序参数值,在运行代码后将执行结果返回至主机,通过与主机软件模拟结果比较达到验证微处理器运行结果的目的。本文引用地址:https://www.eepw.com.cn/article/162272.htm
评论