广州致远电子股份有限公司
初始化宏是嵌入式仿真经常会遇到的问题。合适的初始化宏能够快速、准确地解决仿真过程中遇到的一些问题,例如正确的PLL设置、看门狗的关闭、内存映射分配、快速Flash下载等问题。
TKScope仿真器是基于芯片为核心的仿真设计理念,已经为数百种芯片提供了完善的初始化宏文件。TKScope采用的是图形化的初始化宏配置界面,非常直观,可操作性强,用户可以任意修改或者添加初始化宏文件。
TKScope内置了全面的初始化文件解释执行器,提供了完善的初始化操作,可在复位前后/运行前后/Flash下载前后/初始化时期进行灵活
的系统设置,包括内存读写/设置断点/单步运行/全速运行/时钟设置/ARM初始化/延时/信息提示等操作。
本文以TKScope仿真器如何设置内存属性为例,介绍初始化的各个设置界面以及操作方法。
TKScope仿真器的设置界面如图1所示,点击图1中的[初始化宏]选项即可进入到初始化宏界面,如图2所示。
TKScope已经为数百种芯片提供了常用的初始化宏文件,用户可以直接使用,也可以在此基础上添加或修改,或者加载其他的初始化文件。
图1 TKScope仿真器设置界面
图2 初始化宏界面
如图2所示,TKScope仿真器的初始化宏界面是图形化界面,操作非常直观、简捷。TKScope提供了[添加]、[删除]、[插入]、[更新]等选项,方便用户添加、修改、删除初始化操作。初始化操作的时期和类型是可选的,具体的地址、数据等信息用户自行填写。
例如,用户需要在复位后写数据到BCFG3寄存器,那么用户在[时期]栏内选择复位后,[类型]栏内选择写32位,[地址]栏内输入BCFG3寄存器的地址,[数据]栏内输入具体写入的数值,[注解]栏内可以写入备注信息。初始化操作信息全部填写完成后,如图3所示。此时,点击[添加]即可添加到初始化宏界面的信息栏内。
图3 初始化操作信息
如果用户需要修改某个初始化操作信息,那么在信息栏内选中相应的信息条目,然后在图3的界面中修改,之后点击[更新]即可完成修改。同时,TKScope初始化界面提供了[上升]、[下降]操作,便于用户排序。
用户在使用TKScope仿真器进行仿真的时候,芯片上往往会存在一些不可访问的资源,如不存在的地址(访问了可能会引起异常),FIFO(访问了会改变FIFO的状态),读取自动清零的标志位(访问了会破坏用户原先的状态)。通常我们使用的32位芯片,可能会存在一些外置等资源只能使用32位、16位或8位方式去访问。对于以上两个问题,TKScope仿真器为用户提供了完善的解决方案,保证仿真过程中系统的正常运作。
用户可以在初始化宏界面进行内存属性的设置,这样就可以避免上述问题的出现。打开初始化宏界面,[时期]栏内选择初始化,[类型]栏内选择内存属性,[地址]和[尺寸]根据实际情况填写,然后选择相应的属性和读写尺寸,如图4所示。
图4 内存属性设置
关于读写属性和读写尺寸的意义详见表1和表2。
表1 读写属性的意义
表2 读写尺寸的意义
如图5所示是最终完成的内存属性设置界面,内存属性指定为以下各个选项:
◆定义区域0x00000000~0x00004000为RAM,可以任意位访问,在硬件自检的时候对此区域进行检查;
◆定义区域0x20000000~0x20010000为只读属性,只能8位读取,仿真器只可以对此区域进行8位方式读取;
◆定义区域0x40000000~0x40010000为只写属性,只能16位写入,仿真器只可以对此区域按16位方式写入;
◆定义区域0x60000000~0x60010000为读写属性,只能32位写入,仿真器对此操作访问时将按照32位方式进行;
◆定义区域0x80000000~0x80080000为读写属性,可以任意位访问,硬件自检不对此区域进行检查。
图5 内存属性设置界面
TKScope初始化宏操作提供了很多实用性的功能设置,类似内存属性设置功能,比如设置JTAG频率,写IR、DR寄存器等。用户可以选择[时期]内的各个时期,然后在[类型]内查看相应时期对应的各种类型操作,相信一定有您需要的。TKScope在保证整体仿真效果的同时,非常注重细节的设计,让用户在仿真过程中的细微处体验到我们的用心和专心。