eSi-RISC开发套件

eSi-RISC开发套件包括为eSi-RISC开发嵌入式程序的所有软件工具。 套件支持Windows,Linux和macOS三大平台。如果你是eSi-RISC处理器IP的授权客户,我们将免费提供开发套件。

IDE

Eclipse IDE被全球上百万的开发者使用。 其提供了一个全功能的C/C++集成开发环境。包括:

  • 工程管理,比如修改工具链设置,创建Makefile,为Release和Debug版本创建单独的配置等等。
  • 源代码浏览(类型推导,函数调用图,源代码浏览器)。
  • 带有语法高亮,上下文折叠,代码自动补全和代码重构提示等功能的代码编辑器。
  • 支持多核调式的源代码级调试器。带有输出输出终端,支持显示内存,寄存器以及反汇编。
  • 你可以通过USB/JTAG调试运行在采用eSi-RISC的ASIC或者FPGA上的程序,也可以调试运行在指令级模拟器上的程序,你还可以通过PLI调试RTL仿真。
  • 集成的图形版本控制系统(GIT,SVN等)。
  • 图形化的性能分析和代码热度分布工具。
  • 介绍eSi-RISC处理器,周边外设以及库的文档和范例。

Eclipse C/C++ 透视窗口

C/C++ 编译器

eSi-RISC开发套件采用GCC C/C++编译器。 GCC是业界使用最为广泛的编译器。绝大部分的桌面和服务器Linux发布版都将GCC设置为默认编译器。 我们为GCC添加了eSi-RISC后端的支持,当然语言前端和中端优化器是通用的。

  • 支持所有主流的C/C++标准(比如ANSI C,C99,C11, C++17)。
  • 支持针对代码大小的优化以及针对性能的优化。
  • 支持全程序优化(链接时优化LTO)。
  • 支持基于eSi-RISC SIMD指令的自动并行。
  • 通过builtin函数机制支持eSi-RISC用户自定义指令。
  • 支持采用C编写中断处理函数。
  • 支持调试信息生成,代码分布及代码调优信息生成。
  • 同时支持eSi-RISC16位和32位处理器。针对不同的处理器配置,编译器会自动选择可用且最合适的指令和寄存器。
  • 支持硬件浮点指令自动生成,或者硬件不具有浮点单元时调用手写的高性能软件仿真函数。
  • 对于每一种处理器配置,我们都同时提供两个版本的C库,C++库,数学库和eSi-RISC库。一个是代码大小优先,另一个是性能优先,让你能充分的利用二者不同的优势。

代码冷热分布示例

调试器

我们的调试器基于GDB,已经被Eclipse IDE整合,你也可以单独使用它。 GDB提供完全的C/C++源代码级调适能力。 它支持:

  • 通过USB/JTAG或串口调试ASIC硬件和FPGA。 通过TCP/IP远程调试硬件开发板。不需要将开发板连接到你的本地工作主机上。
  • 通过TCP/IP远程调试Verilog RTL和门级仿真。远端会运行采用PLI接口的模拟器(ModelSim/Incisive/VCS)。
  • 连接GDB内嵌的指令级模拟器进行调试。 你可以通过该指令级模拟器在没有硬件的情况下测试你的软件。 该模拟器还可以生成程序运行时profiling和trace信息。它同时还支持外设的模拟,比如UAR,LCD,Ethernet等,也支持模拟用户自定义的指令和外设模型。
  • 多核调试。
  • 调试RAM,ROM或者Flash上的代码。
  • 将代码烧写到RAM。同时支持对SPI Flash以及TSMC嵌入式Flash进行编程。
  • 调试已经运行的程序,或者从程序复电开始调试。
  • 软硬件标准断点及条件断点。
  • 硬件观察点(watchpoint),也称为数据断点。支持读写以及或读或写三种类型。还支持条件观察点,比如当一个特殊的值写入到一个特殊的起始地址或者地址范围时才触发观察点。
  • 硬件单步。
  • 反汇编和函数调用窗口。
  • 寄存器窗口(包括浮点,向量和系统CSR寄存器),内存窗口。还支持多种显示格式。
  • 系统调用重定向到宿主机(semi-host)。支持标准输入输出重定向到Eclipse终端。支持调试对象读写宿主机文件。
  • 通过运行在远端的软件来控制实验设备(比如示波器,电源)。远端软件使用JTAG接口发送VISA协议。
  • Python脚本。还支持GDB MI接口,方便你将调试器整合到自己的应用程序。

Eclipse调试界面

同时调试软件和硬件带给你最精确的信息

实时操作系统(RTOS)

  • FreeRTOS是一款由业界头部芯片公司牵头,历经15年开发而成的业界领先的实时操作系统(RTOS),它已经成为工业控制芯片和小型通用处理器实时操作系统的事实标准。 eSi-RISC开发套件中包含了FreeRTOS。
  • uC/OS是一个全共功能的嵌入式操作系统。 尤其支持TCP/IP,USB,CAN总线及Modbus通信协议。它还包含了非常稳健的文件系统和图形界面。 μC/OS内核支持无限的内核对象分配,对并发执行的任务数也没有限制。 该内核支持根据你的需求进行深度裁剪。对于通常的应用场景,可以裁剪到代码大小为6到24K字节,数据大小为1K字节。
  • Thread X是Express Logic公司针对深度嵌入式,实时场景以及IoT市场专门推出的工业级实时操作系统 。 THREADX提供了非常先进的任务调度,任务通信,任务同步,还提供高质量的时钟管理,内存管理和中断管理。 同时, THREADX还有其他先进的特性,比如其采用了picokernel™内核架构,preemption-threshold™调度器,事件链,任务执行调优, 任务性能分析以及系统时间跟踪。
  • Phoenix-RTOS – 是一个款开源的微内核实时操作系统,主要用在资源有限的硬件。 对于软件定义的IoT通信协议站以及其他有实时性要求的场景来说,Phoenix-RTOS是一个非常合适的选择。
  • Erika Enterprise 是一款免版税且通过自动驾驶OSEK/VDX认证的硬实时操作系统。 主要的特性包括: 带固定优先级调度及优先级提升的硬实时支持。支持多核/众核处理器架构。只占用1-4 Kb闪存。支持任务间堆栈共享。支持两种授权:开源授权和商业授权。