编辑: yn灬不离不弃灬 2019-07-04
4 在MAXQ环境中编程 MAXQ结构为应用编程者而开发.

每个MAXQ微控制器都包含一个与微控制器内核紧密集成 的硬件调试引擎.该架构中第一款芯片就是 MAXQ2000,本文提供 IAR Embedded Workbench 与MAXQ2000评估板一起使用的实例与技巧. MAXQ2000微控制器的在线调试与程序装载功能与IAR Embedded Workbench开发环境相结合, 为设计者提供C或汇编级的应用开发与测试手段.MAXQ2000基于硬件的调试引擎与自举装 载过程在专用的JTAG端口运行,可以全面调试访问,而对系统资源的影响最小. 在线调试特性 与微控制器内核紧密集成的硬件调试引擎,用来控制 MAXQ2000的调试特性.该调试引擎可 以调用片上的固定用途ROM中的服务子程序,支持广泛的调试特性. ? 对集成程序闪存的读取访问. ? 对板上数据SRAM的读/写访问. ? 对16 x 16堆栈存储器的读取访问. ? 对所有MAXQ2000系统与外设寄存器的读/写访问. ? 单步 (跟踪)程序执行. ? 最多四个地址断点,在代码存储器中特定的单元停止程序的执行. ? 两个数据存储器匹配断点,在数据存储器中特定单元被访问时停止程序的执行. ? 两个寄存器断点,在出现对特定系统或外设寄存器的写访问时(不能与数据存储器匹配断点 同时使用),并且写入寄存器的数据与特定值匹配时停止程序的执行. ? 密码匹配功能 (用来解锁其余的调试功能). 所有与调试引擎的通信都通过MAXQ2000专用的JTAG测试访问端口(TAP)接口完成,该接口 与JTAG IEEE标准1149兼容.该接口由四个信号组成,由MAXQ2000端口引脚复用得到,定 义如下:TMS (测试模式选择)―与P4.2复用;

TCK (测试时钟)―与P4.0复用;

TDI (测试数据 输入)―与P4.1复用;

以及TDO (测试数据输出)―与P4.3复用. 尽管JTAG TAP端口专门用于系统内调试与系统内编程,不过,一旦应用开发完成,传输 JTAG TAP端口信号的四个端口引脚可以被释放用于其他目的.JTAG端口在复位后默认为激 活状态,但是一旦运行,应用软件可以关闭端口,将四个相关的端口引脚用于其他用途. 从MAXQ2000内核来看,JTAG接口与调试引擎异步工作.通过 JTAG端口进行的通信不需要 与MAXQ2000运行的时钟速率相同,不过对MAXQ2000来说,TCK频率的最大值被限定在 1/8系统时钟速率以下. 在MAXQ2000执行代码时,可以通过调试引擎读取或写入断点设置.该模式被称为后台模式, 在这种模式下,调试引擎独立于CPU内核之外工作. MAXQ2000微控制器的在线 调试与程序装载功能与 IAR Embedded Workbench 开发环境相结合,为设计者 提供C或汇编级的应用开发 与测试手段. 所有与调试引擎的通信都通 过MAXQ2000专用的JTAG 测试访问端口 (TAP)接口完 成,该接口与JTAG IEEE标准1149兼容.

5 为了完成其他操作,如存储器与寄存器的读写,调试引擎控制MAXQ2000的内核,并切换到 执行固定用途ROM中的调试服务子程序.该模式被称作调试模式,该模式下,调试引擎中断 了正常的程序执行.在这种情况下,用户应用程序被暂时挂起,等到调试函数执行完毕后继 续执行,与中断服务子程序的处理方式相同. 由于在应用程序中JTAG TAP端口并不使用,因此组成 JTAG端口的端口引脚可以被应用软件 收回.调试功能所需的所有附加代码都位于固定用途ROM中,因此,调试功能消耗的系统资 源只是少量的数据 SRAM,以及一层程序堆栈 (用来存储调用调试子程序的返回地址).最多 19个字节的数据SRAM (地址0x07ED至0x07FF)被保留用于调试服务子程序.若某个应用程序 不使用在线调试,则这些数据SRAM单元可供应用程序使用. 通过 JTAG进行集成闪存编程 JTAG TAP端口也可被用于自举装载功能,甚至在不使用调试功能时也有效.通过 JTAG TAP 接口设置3个配置位,然后从复位中释放MAXQ2000,将控制转移到位于固定用途ROM中内 置的自举装载过程子程序.用来控制访问自举装载过程的配置位如下: ? SPE: 系统编程使能位(ICDF.1).该位被置1时,MAXQ2000在系统复位后,执行固定用途 ROM中的自举装载子程序. ? PSS[1:0]: 编程源选择(ICDF.3-2).这几位的设置决定了自举装载过程的通信使用JTAG端口 (PSS[1:0] == 00b)还是串口0 UART (PSS[1:0] == 01b). 一旦这些位被置位并且 MAXQ2000从复位状态中释放,固定用途ROM的自举装载过程通过 选定的端口(JTAG或串口0 UART)开始与主机系统通信.在这两种情况下,使用的协议相同, 并且都提供如下函数: ? 读取 MAXQ2000的ID标题(识别固定用途 ROM的版本). ? 返回内部程序与数据存储器的大小. ? 读取、写入、验证与CRC校验集成闪存程序存储器. ? 读取、写入、验证与CRC校验内部数据SRAM. ? 密码匹配 (解锁存储器读写指令). 当自举装载过程通过串口0 UART而不是通过 JTAG端口通信时,必须使用 JTAG接口将自举 装载过程置为串行通信模式.不过,适当地设置SPE与PSS位,然后复位 MAXQ2000 (通过使 看门狗定时器过期或使用外部硬件手段),应用软件也可以在串行通信模式下调用自举装载过 程.使自举装载过程被调用的方法必须由应用软件决定. 与微控制器内核紧密集成的 硬件调试引擎,用来控制 MAXQ2000的调试特性. 通过JTAG TAP接口设置3个 配置位,然后从复位中释放 MAXQ2000,将控制转移到 位于固定用途ROM中内置的 自举装载过程子程序.

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题