Embedme是一个基于嵌入式Linux的具有可移植性的C++程序开发框架,其目的是为了加快Linux应用程序的开发速度,解放程序员的大脑和双手,让大家把精力投入到更有意义的事情当中去。
Embedme提供了包括:
跟踪打印(Tracer)、日志(Logger)、线程(ThreadUtil)、协程(Coroutine)、进程(ProcUtil)、校验(CheckUtil)、通用工具(ComUtil)、定时器(Timer)、消息队列(MsgQueue)、数据缓存(DataBuffer)、文件(FileUtil)、时间日期(DateTime)、字符串工具(StrUtil)、正则匹配(RegExp)、串口(SerialPort)、网络通信(Socket)、IO复用(Pollset)、元组(Tuple)、CAN通信(CANSocket)、GPIO控制(PinCtrl)、插件(Pluglet)、有限状态机(FSMachine)、内存管理(MemUtil)、单元测试(CppUnitLite)等嵌入式开发中常用的模块。
在Embedme项目中集成了非常多优秀的开源库:
CANOpenNode,ctemplate,cJSON,eigen,libconfig++,curl,libev,libgif,libmqttclient,libsdbus++,libsocketcan,sqlite,tinyalsa,tinyxml,tinyxml2,yaml-cpp,libev,spdlog,sqlite_orm,感谢这些开源库的作者的无私奉献。
Embedme目前还在不断完善中,欢迎各位同行fork本开源库,也期待您的建议和开源贡献。
有任何问题,欢迎联系: cblock@126.com 牛咕噜大人
目前zemb源码已合并至zeros仓库,大家可以移步至newgolo/zeros仓库。
本软件遵循MIT协议,请自觉遵守该协议,如果您使用此源码,请务必保留README在您的工程代码目录下!
本工程采用mbuild系统进行编译,mbuild系统的使用请参考:mbuild使用说明
在编译前请先确认已安装autoconf,automake,libtool等工具,否则无法编译成功,如遇编译错误,请自行查看错误提示,判断是否是工具未安装。
1 . cd到工程跟目录下
$cd embedme
2 . 设置mbuild编译环境
$source prebuild/envsetup.sh
3 . 设置编译目标体系
$mbuild_setup
4 . 使用mbuild独立编译(推荐使用cmake进行编译,请参考5)
$mbuild_make opensource/zemb zemb
$mbuild_make test_case/test_zemb test_zemb
$mbuild_make app/demo demo
5 . 使用cmake编译
$ mkdir build-x64 # 创建cmake构建目录
$ cd build-x64 # 在build-x64目录下编译工程
$ cmake ..
$ make
$ make install
你可以为子工程手动创建CMakeLists.txt或借助mbuild_cmake_project自动创建CMakeLists.txt
$ mbuild_cmake_project app/test test # 将会在app/test目录下自动生成CMakeLists.txt
$ vim app/test/CMakeLists.txt #需要手动编写CMakeLists.txt
API文档请参考manual/README.md
Sign in to post a comment
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.
Repository Comments ( 6 )