《c-core环境与应用》由会员分享,可在线阅读,更多相关《c-core环境与应用(4页珍藏版)》请在金锄头文库上搜索。
1、C*Core开发基础和环境摘 要:本文介绍了C*Core处理器的软件结构基础、硬件开发平台和软件开发环境 关键词:ONCE,JTAG,集成开发环境,仿真器1. 引言当前嵌入式市场正向多元化方向发展,需要各种功能的CPU和SoC满足消费者的需求,苏州国芯公司开发了C*Core系列产品,提供为开发商多种解决方案,成立了“中国C*CoreTM产业联盟”。CC2112A只包含了比较简单的功能,新推出的CC3118则为税控机提供了单晶片的完善解决方案。北斗星公司作为“中国C*CoreTM产业联盟”的核心成员,主要完成评估板、集成开发环境、仿真器的研发,为C*Core的功能验证、用户使用提供良好的工具和平
2、台。2. C*Core体系结构C*Core为32位RISC系统,采用big-endian的字节格式、16位定长指令集,支持权限模式使用寄存器页快速响应中断。寄存器C*Core包含16个通用寄存器、13个控制寄存器和一组通用寄存器的可选页寄存器。使用可选页寄存器,在中断响应时候可以不用保存用户模式的寄存器,提高中断的响应速度。中断结构外部中断:C*Core包含40个不同的中断类型,可以分为两种中断类型(Normal Interrupts、Fast Interrupts),每种类型还可以设置32个中断优先级,Fast Interrupts的级别比Normal Interrupts的中断级别高,可以
3、嵌套执行。中断的执行支持自动向量(Autovector)和向量号(Vector Number)内部异常:对齐错误、访问非法、非法指令、权限错误、单步中断、断点例外、不可恢复错误调试接口软件调试方法包括Trace和break point,trace用于单步执行指令,break point用于软件断点。硬件调试接口支持ONCE的JTAG接口3. 硬件平台设计北斗星开发了基于C2112的评估板,C2112采用双电源供电,内部核心操作电压为2.5V,外围接口为3.3V,提供较好的低功耗解决方案。评估板的框图如下:FPGA控制 Flash和SRAM的访问,在C2112端可以使用8位、16位、32位的访问
4、方式,FPGA将C2112的访问译码为32位的存取格式,这样用户使用32位格式写入Flash的代码,在使用16位启动方式也可以正常启动,避免了32位模式和16位模式的代码不一致性。左边和上面的两组信号与CPU的信号引脚直接相连,用户可以很方便的测量信号和扩充第3方功能模块。扩充的蜂鸣器和指示灯,用于用户调试使用。4. 软件开发环境目前市场中还没有C*Core专用的集成开发环境,为了推动C*Core的应用,北斗星公司开发了bdxIDE集成环境。集成编辑器、编译器、调试器、项目管理器、类浏览器、编程器、ONCE仿真器于一体。附加功能包括:1. 工程向导2. 源文件编辑器3. 标准库函数4. 目标机
5、的监控程序和调试代理目标监控包含了调试代理,可以快速调试不包含中断处理的应用程序,该软件调试代理占用了一部分硬件资源包括SRAM、FLASH、和硬件串口。当用户需要调试串口和中断程序时,必须使用ONCE仿真器接口,ONCE仿真器不会占用硬件资源,适合调试硬件驱动程序、中断系统代码。支持的操作系统有NuCleus,包含各种协议栈和基于窗口的图形库,开放系统包括uCos II和ucLinux 5. ONCE调试接口C*Core的仿真接口为ONCE接口,符合IEEE-1149协议,提供了完备的调试控制命令,最高的JTAG操作时钟为CPU核心时钟的1/2,支持高速调试。CPU扫描链寄存器包含128位的
6、数据域,通过该寄存器可以实现单步执行、修改内存内容、修改寄存器内容等调试功能,寄存器的描述如下:WBBR:数据总线上的数据PSR :当前CPU的状态寄存器PC :当前指令的地址IR : 插入的指令CTL :控制寄存器,用于指示该命令的动作模式ONCE接口在IEEE-1149协议中扩充了一个控制端口DE#,用于快速判断CPU的执行状态。作为输出标识CPU当前是否进入了调试模式,通知仿真器CPU已经停止执行,当作为输入时指示CPU立即停止执行进入调试模式。使用通常的CPU完成JTAG的控制逻辑,往往速度较慢,可以采用CPU和FPGA相互配合来提高JTAG的操作速度,FPGA完成高速的并串转化和JTAG状态机的控制,由CPU处理逻辑控制和与上层调试软件通讯。6. 总结我们在开发评估板和仿真器的过程中,很深入的研究了C*Core,它具有很高的稳定性,同时C*Core具有应用简单的特性,非常适合在嵌入式控制产品中使用。