Arduino现有很多电子模块的驱动库和开源算法库 ,RT-Thread 支持的软件包太少了,怎么样把RT-thread与arduino结合呢?可以在RT-thread中兼容arduino 就能使用arduino丰富的开源库了. RT-thread +Arduino 是一个很好的推广啊.
RRT对标准C是完全支持和兼容的,
一般来说,评估一个开源库是否能够平滑移植过来,
需要评估下它使用的是否是标准C,如果是的话,移植过程中编译都不会遇到很多问题,
顶多是解决一些编译警告或者头文件包含依赖的问题;
但如果这个开源库使用一些比较奇怪的特性的话,移植过程中可能就比较头痛,
需要把这部分“差异”的东西转成比较标准的实现,才能完成编译。
所以平时我们写代码,要最大化地保证可移植性,也尽量不要使用非标准的东西,造成移植的困扰。
至于,移植的一般步骤,楼上答主也说得比较清晰了,
添加源码的源代码文件进入编译列表,可能是在IDE里面配置,也可能是直接修改Makefile之类的构建文件,
同时,配置头文件搜索路劲,还有可能需要配置一些独特的编译选项,等等。
最后添加测试代码,调用库函数做个简单测试,验证功能没有问题,差不多移植就完成了。
arduino第三方库大多是C++写的,移植过程中最主要的是arduino.h这个文件对底层pin i2c spi等驱动组件的适配问题,如果能把arduino.h 中的驱动接口改写成rtt驱动组件的api就好了
@有梦想的长颈鹿 那估计得做C++接口到C接口的转换,这个有点工作量。