V2X(四)V2X模组添加软件包

1. 简述

同事在开发某厂商的V2X模组时,需要添加sqlite等一系列库,V2X模组提供了工具链。他们的方案是下载源码手动编译,有时候第三方软件有很多又依赖其他的库文件,导致移植过程非常的繁琐,问我有没有好的方案。我经常用yocto和buildroot配置根文件系统,但是对于这种情况,buildroot明显是最佳方案。

2. 问题

我查看厂商提供的文档,芯片为A73架构,64位,发现他们编译内核使用的工具链是aarch64-linux-gnu,而在应用开发提供的工具链是arm-linux,提供的开发库也是32位的。我之前开发imx8和rk3399,uboot、kernel、rootfs都是用的aarch64-linux-gnu工具链。查资料得知,在Linux内核中可以设置支持32位应用。V2X提供的内核已经配置此选项。

linux$ make menuconfig
> Kernel Features
[*] Kernel support for 32-bit EL0

> Kernel Features > Kernel support for 32-bit EL0
---Kernel support for 32-bit EL0
[*] Enable kuser helpers page for 32-bit applications 

2. 芯片架构

$ git clone git://git.buildroot.net/buildroot

buildroot$ make menuconfig
/* Targe options ---> */
Target Architecture (ARM (little endian) ) ---> /* 重点 */
Target Binary Format (ELF) --->
Target Architecture Variant (cortex-A73) --->
Target ABI (EABIhf) --->
Floating point strategy (NEON/VFPv4) --->
ARM instruction set (ARM) --->

V2X的模组是aarch64,这里我却选择了ARM,buildrot工具链会根据架构添加前缀。我们需要的是32位的库。

4. 工具链

在ARM Linux的开发中,人们趋向于使用Linaro工具链团队维护的ARM工具链。该模组提供的也是Linaro的工具链。知道工具链后,可以在buildroot指定我们的工具链或者选择buildroot提供的工具链。

~/buildroot$ make menuconfig
    Toolchain type (External toolchain)  ---> 
    *** Toolchain External Options *** 
    Toolchain (Linaro ARM 2018.05)  --->
    Toolchain origin (Toolchain to be downloaded and installed)  --->
[ ] Copy gdb server to the Target
	  *** Host GDB Options *** 
[ ] Build cross gdb for the host
	  *** Toolchain Generic Options ***
[ ] Copy gconv libraries
()  Extra toolchain libraries to be copied to target
()  Target Optimizations
()  Target linker options
[ ] Register toolchain within Eclipse Buildroot plug-in

6. 软件库

选择我们需要的库进行编译,buildroot生成的根文件系统在buildroot/output/images/rootfs.tar,但是芯片模组只需要我们生成的库,而非整个根文件系统。当然我们可以解压rootfs.tar,在/usr/lib目录下找到。我们也可以在output/host/arm-buildroot-linux-gnueabihf/sysroot/下找到编译的库。

yangleilei@yangleilei:~/buildroot-test/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot$ find -name *sqlite*
./usr/lib/libsqlite3.so
./usr/lib/pkgconfig/sqlite3.pc
./usr/lib/libsqlite3.la
./usr/lib/libsqlite3.so.0
./usr/lib/libsqlite3.so.0.8.6
./usr/include/sqlite3ext.h
./usr/include/sqlite3.h
./usr/bin/sqlite3
./usr/share/man/man1/sqlite3.1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
LTE-V2X通信模组,也称为LTE-V2X模块,是一种基于LTE(Long Term Evolution)技术的车联网通信模组。它为车辆间的通信提供了高速、低延迟和可靠的数据传输。 LTE-V2X通信模组具有以下特点和功能: 1. 高速数据传输:LTE技术的高带宽能够实现高速数据传输,使车辆间的通信更加迅捷和高效。这使得车辆能够实时地交换信息,如交通情况、车辆位置等,大大提高了行车安全性和交通效率。 2. 低延迟:LTE-V2X通信模组具有较低的传输延迟,可以快速响应车辆间的通信需求。这对于紧急情况下车辆之间的互动至关重要,可以避免事故的发生或者降低事故的严重程度。 3. 双向通信:LTE-V2X通信模组支持双向通信,既可以作为发射器发送信息,也可以作为接收器接收其他车辆或基础设施发来的信息。这大大增加了车辆的感知能力,让车辆能够更好地判断周围环境和其他车辆的行为。 4. 多设备连接:LTE-V2X通信模组能够同时连接多个设备,如其他车辆、行人、路边设施等。这使得车辆能够与周围环境进行全面的通信和互动,提高交通运输系统的整体效能。 5. 兼容性:LTE-V2X通信模组兼容现有的LTE网络,其通信协议和技术接口都与现有的LTE设备和网络相匹配。这降低了模组的集成难度,可以更快地实现车载设备与LTE网络的互通。 综上所述,LTE-V2X通信模组是一种高效、可靠的车联网通信技术,能够大大提升车辆之间的通信能力,提高行车安全性和交通效率。在未来的智能交通系统中,它将扮演重要的角色,为人们提供更安全、便捷的出行体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lljwork2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值