转-【eBox生态圈】之eBox开源贴

admin 2017-6-27 3595

 eBox从开始到现在已经两年了,终于可以让大家见到真正的源码了。
直奔主题
开源地址:eBox的GitHub地址

一、项目简介
eBox是一个运行在STM32平台上的涵盖了驱动层、系统层、标准应用软件层、用户软件层的软硬件一体化的解决方案。丰富的标准驱动和标准应用,像用Arduino那样方便,性能又远高于arduino。操作系统的支持让eBox满足多任务系统的需求;标准应用提供多种控制算法、通信协议,满足不同应用场所的需求。
eBox寓意简单的盒子,彻底简化STM32编程!把“拿来主义”贯彻到底!
打造基于STM32的eBox生态圈,让编程变得更简单!
二、2.0版本代码概况
        在此软件2.0之前的特性大部分保留,详细内容请参考eBox固件库-基本介绍。本文只介绍新家的部分特性。本次开源的部分为STM32的外设驱动层代码。在MCU目录下方。详细内容请参阅源码,不再一一介绍。
1、新的中断绑定机制——支持类成员函数当做中断入口
2、增加ucos-iii的支持(以前支持Freertos、ucos-ii、ebox_os)
3、最新支持USB、CAN
4、已有38种标准外设驱动(希望开源以后大家能多多提交自己的驱动代码)
5、标准软件支持

        A、字符串处理功能:包含Arduino的wstring字符串处理工具,内存中字符串与数字的转换功能,字符串查找,匹配功能。
        B、内存管理:移植了freertos的动态内存管理(伙伴算法),减少内存碎片的产生;
        C、环形缓冲区:自己设计的一个ringbuf功能。在处理异步设备、流设备的数据时候,可以作为异步数据的缓冲区,非常有用。(网络数据、串口数据等)
        D、低开销的print功能:移植了Arduino的print类,如果目标设备是小flash设备可以使用print的功能代替printf部分的格式化输出功能。
        E、单向链表:支持链表的增删改查
        F、HSV、HSL和RGB色彩转换:主要应用于和色彩相关的地方,比如显示屏、三基色LED等。
        G、日历:只需要用户提供秒脉冲或者GPS授时信号的字符串即可。
        以上内容均位于util文件夹下面
        H、cJSON:满足处理网络上非常流行的cJSON数据
        I、文件系统:FATFS
        J、FreeModBus:支持完整的modbus从机
        K、network(有线网络):支持socket、udp、tcp、dhcp、dns等基础的api接口。
        L、WiFi(无线网络):支持ESP8266的AT解析库,实现TCP、UDP等功能。
        M、支持了MQTT物联网常用协议,有线、无线网络(暂不支持,需要调试)均可实现。
        N、BigIOT:贝壳物联的api接口。
        O、gui:支持简单的几何图形绘制、支持ucos的标准字库。
        P、USB-device设备类:Audio、HID、MIDI、MSD、Serial
        Q、LoRa:支持我们最新量产的Ting-01M模块的AT解析库、LoRa标准的驱动程序(对应于STM32直接控制SX1278的裸模块,比如Ting-01模块)。
6、软件工具
        A、USBHID通讯小工具
        B、串口调试助手
        C、ucGUI字体生成工具
7、硬件平台
eBox的硬件平台
 
Ting-01M(是eBox和Widora联合生产的一款LoRa模块)
 
结束语:
        eBox褒贬不一有人说好实用,有人说是误人子弟,众口难调,望不喜者绕道而行,愿志同道合者共同学习,优化eBox的组件。我对eBox的愿景就是,让他成为工程师的一个好的助手。

最新回复 [0]
返回