uavcan c语言协议栈,编译

1、网址代码

https://github.com/UAVCAN/libcanard.git

2、克隆软禁

git clone https://github.com/UAVCAN/libcanard.git

3、安装python3的 uavcan库

pip install uavcan

4、要从git获取libcanard,请确保也获取所有子模块。

git submodule update --init --recursive

5、编译dsdl。生成c代码

1、进入 libcanard/dsdl_compiler 目录
2、利用libcanard_dsdlc 编译器编译 配置文件,自动生成c代码
3、python3 ./libcanard_dsdlc <dsdl定义目录>
4、注意:libcanard_dsdlc 这个编译器在  libcanard/dsdl_compiler 目录
5、例如编译 ./pyuavcan/uavcan/dsdl_files/uavcan 这个配置文件
python3 ./libcanard_dsdlc ./pyuavcan/uavcan/dsdl_files/uavcan

5.1编译自定义配置文件,生成c代码

1、在libcanard/dsdl_compiler路径下面创建picohood_corporation目录
2、在picohood_corporation在该目录下添加自定义配置文件
3、编译自己定义配置文件
python3 ./libcanard_dsdlc ./picohood_corporation

6、将生成的c代码和uavcan。拷贝到工程即可用 

1、cd libcanard/dsdl_compiler/dsdlc_generated
2、这下面的picohood_corporation目录就是存放的我们自动生成的c代码
3、拷贝生成的节点消息文件。到单片机相应的目录

7、拷贝uavcan协议层

cd libcanard
canard.c  canard.h  canard_internals.h

8、编译libuavcan,这个C++的代码,只是试了一下没有成功

先安装 uavcan
pip install uavcan 
2308  cd libuavcan/
 2309  ls
 2310  cde build/
 2311  ls
 2312  cd build/
 2313  ls
 2314  cd ..
 2315  ls
 2316  cd buid
 2317  cd build/
 2318  ls
 2319  rm * -rf
 2320  cmake ..
 2321  make -j4
 2322  sudo make install
 2323  cp ../../libcanard/dsdl_compiler/picohood_corporation/ . -rf
 2324  ls
 2325  libuavcan_dsdlc ./picohood_corporation/ -I/usr/local/share/uavcan/dsdl/
 2326  ls
 2327  cd dsdlc_generated/
 2328  ls
 2329  cd picohood_corporation/

  

  

posted on 2019-01-26 11:24  紫枫术河  阅读(2509)  评论(0)    收藏  举报

导航