嵌入式软件开发库-Segger中间件软件

一、emWin

emWin为所有的图形LCD显示应用提供了一个高效的,与LCD控制器无关的图形用户界面(GUI)。可与任何一个专有操作系统或是其他的商用RTOS一起使用,并可兼容到单任务和多任务环境中。emWin可提供”C”源代码形式,能适用于任何CPU或LCD控制器,实现各种尺寸的物理和虚拟显示。

1.emWin特点

  • 在调试时有信息和警告提醒;
  • 简单的网络接口驱动程序结构;
  • 可与embOS一起工作在多任务环境下;
  • 适用于通用以太网控制器的驱动程序;
  • 所有功能函数都具有non-blocking模;
  • 允许编译时间开关应用于不同的优化;
  • 支持各种8/16/32bit的CPU,仅需要一个ANSI”C”编译器;
  • 支持虚拟显示,虚拟显示的尺寸可以大于实际的显示尺寸;
  • 在尺寸较小的显示应用中可在没有LCD控制器的情况下使用;
  • 字符和位图可以被写入任何LCD上,不仅在偶数字节地址点;
  • 支持各种控制器(如果有对应的驱动程序)控制的各种LCD(单色,灰度或彩色的);
  • 对于低速LCD控制器,LCD内容可以存放在缓存中,降低以高速访问而造成不必要的结果

2.图形包(GUI)

  • 多种画图模式;
  • 包含多种字体;
  • 包含点阵图转换;
  • 无使用浮点运算;
  • 支持触摸屏和鼠标模式;
  • 包括一个桌面仿真软件;
  • 支持快速绘出圆和多边形;
  • 支持不同颜色深度的点阵图;
  • 支持快速线/点画图(在没有浮点运算的情况下);

3.支持所有的LCD

可为多种类型的LCD编写驱动程序,包括单色、灰度、彩色TFT等显示LCD。已经拥有大多数通用LCD的驱动程序。

二、emLoad

emLoad是一款基于PC通过串行接口对嵌入式应用程序进行升级的软件。该软件包括Windows程序和目标应用源代码程序(bootloader)。

emLoad的特点

  • 是可设置的;
  • 可选密码设置;
  • 使用简单,方便;
  • 方便移植到任何CPU和任何的Flash;
  • 进行CRC检测,保证100%安全和高速;
  • 支持Intel的HEX(.HEX)和Motorola S(.mot)文件

三、emFile文件系统

emFile是一种专为嵌入式应用而设计的,可应用于任何类型的硬件平台的文件系统,也是一种经过优化了的高速、多功能、高性能的文件系统。由于它是由标准的ANSI-“C”编写,所以可应用于任何CPU。

emFile特点

  • 支持MS-DOS/MS-Windows,兼容FAT12、FAT16、FAT3;
  • 支持多种设备驱动程序,根据不同的设备驱动程序,文件系统在同一时间可以访问不同类型的硬件;
  • 支持多种媒介,在同一时间内,一个器件驱动程序可访问不同的媒介;
  • 支持多种操作系统,emFile可很容易地集成到任何的操作系统中,因此可以运行于多线程环境中;
  • 运用ANSI C stdio.h如运用API一样简单,标准的”C”I/O库可以容易地移植到emFile中;
  • 简单的器件驱动程序结构,emFile器件驱动程序仅需要基本的读写功能模块,因此可以支持任何定制的硬件;

四、embOS 实时操作系统

embOS是一款具有优先级控制的实时操作系统,设计用于建立嵌入式实时应用开发。它是一个零中断等待,高性能的RTOS。优化RAM和ROM中最小的存储消耗量,同事非常快的速度和灵活性。

1.embOS特点

  • 零中断延时;
  • 支持线路局部存储器;
  • 支持线路安全系统库;
  • 对于信号数量没有限制;
  • 对于邮箱数量没有限制;
  • 软件计时器数量没有限制;
  • 时间标度能自由选择(1ms);
  • 自由定义信息的大小和数量;
  • 同一优先级的时间循环调度;
  • 高分辨度时间测量(比标度更准确);
  • 对于任何数量没有限制(仅仅由于可用的存储容量有限);
  • 功耗管理:CPU待机时间能自动到达待机状态,极小的功率损耗;
  • 抢先调度:保证所有时间处于READY状态,一个最高优先级执行,除了优先级转变请求;
  • 255个优先级:每个任务都有一个单独的优先级,任务回应能根据应用的需求准确的界定。

2.支持芯片

  • Altera : NIOS
  • TI : MSP430
  • ST : ST7, STM8
  • MIPS : MIPS cores
  • NEC : K0, K4, V850
  • Toshiba : TLCS-900
  • Infineon : C16x, CR16C
  • Atmel : AVR/AT Mega, AVR32
  • Microchip : PIC18, PIC30, PIC32
  • Fujitsu : F16LX/F16FX, FR30/50/70
  • Freescale : Coldfire, Coldfire V1, S08
  • ARM : ARM7/9 cores, Cortex-M, Cortex-A8
  • Renesas : M16C, M7700, M16C80/M32C, RL78, RX, Sh2, R8C, R32C,SH2A, SH4

五、emUSB

emUSB是为具有USB器件控制器的嵌入式平台而设计的。支持常用的USB设备端口,USB 1.1或者USB 2.0。

emUSB的特点

  • 可选配CDC组件;
  • 可选配HID组件;
  • 支持全速/高速;
  • 可选配MSD组件;
  • 支持MSD-CDROM;
  • 支持USB 1.1 / 2.0设备;
  • ISO/ANSI C source code;
  • 支持大多数常用的USB设备;
  • 支持MSD任何的存储设备,包括:NAND;
  • 支持基于Windows内核模块驱动的大容量通信

六、embOS/IP

embOS/IP是TCP/IP协议栈,在仅占用很小内存的基础上为嵌入式入网提供了高性能的解决方案。

embOS/IP的特点

  • 高性能;
  • 免版税;
  • 延迟的ACK;
  • 无配置要求;
  • 可独立运行;
  • BSD风格选项;
  • 标准的插座接口;
  • 占用极少的内存;
  • 重新组装的分片数据包;
  • 超高速应用中零数据拷贝;
  • 连接仅受内存大小的限制;
  • 在调试时有信息和警告提醒;
  • 简单的网络接口驱动程序结构;
  • 可与embOS一起工作在多任务环境下;
  • 适用于通用以太网控制器的驱动程序;
  • 所有功能函数都具有non-blocking模。