0.vadd_publisher,该node实现两个int的加法,使用fpga加速与直接计算进行比较
https://xilinx.github.io/KRS/sphinx/build/html/docs/examples/0_ros2_publisher.html#vadd-publisher
使用说明描述了一下使用--minix交叉编译的步骤,这步在实际运行时会报奇怪的错误,见第二篇文档,当前开发板中安装了使用chroot方法下出来的包,按使用说明运行node可以得到对应 的运行结果
使用ros2 topic hz /vector --window 10 &命令后也可以正常打印topic的属性信息
vector可以以10hz的频率打印输出结果
当使用下面更多的运算时会导致结果更新频率变更为2.2hz,
执行得命令为 ros2 run doublevadd_publisher doublevadd_publisher
1.Hello Xilinx
hello xilinx 相当于KRS的hello world,使用下面的命令可以在板上打印出hello xilinx
2. HLS in ROS 2
https://xilinx.github.io/KRS/sphinx/build/html/docs/examples/2_hls_ros2.html
本章节主要介绍了FPGA的编译与运行,文章介绍的主要内容均为colcon 相关的操作,这些操作应该发生在pc的工具链上.
3. Offloading ROS 2 publisher
这里是使用ros2 acceleration进行加速的测试,介绍依然使用的是交叉编译工具,按说明在执行offloaded_doubleadd_publisher前需要执行ros2 acclerarion select xxx的操作,实际在开发板上该select命令会返错,大概率是因为我使用chroot编译的工程并没有FPGA的加速功能.
发现accleration操作需要 在root下运行,切换root后执行发现依然有报错,报错如下:
运行offload_doublevadd_publisher会报找不到对应的可执行文件,这个问题应该是使用chroot的模拟编译方式无法生成acceleration相关的文件
有个奇怪的地方,这里使用acceleration后vector的更新频率反而变得更低了
4. Accelerated ROS 2 publisher
acceleration可以使用list显示当前存在的FPGA配置,这里可以打印出当前存在smartcam和starter-kits两个固件,之前使用smartcam时发现修改这个固件会导致dev下的设备变化
通过上边的accleration列表可以发现并没有add相关的acceleration,看来使用chroot编译出来的包确实没有accleration,内容,可能只能使用accleration只能使用--minix方式交叉编译才能生成ros2的accleration.交叉编译报错的问题还是要解决的.