中文引用格式: 张海峰,刘俊,种挺,等. 基于芯片仿真器的程序访问权限配置方案[J].电子技术应用,2019,45(10):80-82,87. 英文引用格式: Zhang Haifeng,Liu Jun,Chong Ting,et al. Solution of program access rights configuration based on chip simulator[J]. Application of Electronic Technique,2019,45(10):80-82,87.
普通的芯片仿真器系统是由硬件和软件两部分构成的。硬件部分主要由芯片仿真电路、调试协议转换电路及其他接口电路组成[7],其中芯片仿真电路通过FPGA实现芯片逻辑;调试协议基于联合测试工作组(Joint Test Action Group,JTAG)实现;软件部分主要由软件集成开发环境(Integrated Development Environment,IDE)及调试驱动接口组成,其中IDE主要包括程序编译、链接、调试等功能,调试驱动接口以动态链接库(Dynamic Link Library,DLL)形式存在,主要包括软件与硬件进行交互的接口函数。为实现在芯片仿真器上程序访问权限可配置的功能,除了具有普通仿真器的功能外,仿真器硬件包括一个访问权限控制模块,仿真器软件包括程序加密模块、程序加密下载模块、权限配置生成模块、权限配置下载模块。程序加密模块主要实现对HEX格式的API程序文件进行加密,并生成密文格式的文件。权限配置生成模块主要实现对程序的访问权限以配置文件的形式进行灵活配置,并生成密文格式的文件。程序加密下载模块和权限配置下载模块位于调试驱动接口DLL中,分别完成密文格式的API程序及权限配置文件的下载操作。系统框图如图1所示。
使用IDE进行用户程序调试时,IDE首先调用DLL接口,将访问权限配置文件及密文程序文件进行解析,然后通过通用串行总线(Universal Serial Bus,USB)接口[8]发送到调试协议转换模块,调试协议转换模块通过JTAG[9]通道将程序数据及访问权限配置信息写入芯片仿真模块。完成API程序的写入及访问权限配置后,将用户程序下载到芯片仿真模块,即可启动正常的调试流程。出于安全考虑,程序加密、程序访问权限配置实现原理及工具对用户程序开发者严格保密。API程序开发者将生成好的密文文件传递给用户程序开发者。
[9] IEEE.1149.1-2013-IEEE standard for test access port and boundary-scan architecture[S/OL].(2013-05-13)[2019-05-28].https://standards.ieee.org/standard/1149_1-2013.html.