树莓派CM4使用wiringpi库报Oops错误问题分析
最近在使用树莓派CM4进行项目测试时,遇到了安装wiringPi库之后无法使用,且会报错“Oops:Unable to determine board revision from /proc/cpuinfo”的问题。
最终定位是树莓派官方提供的的较新镜像Debian version更新到了12(bookworm)版本,而wiringPi版本3.6对处理器型号的获取方式在该版本上并不支持导致。
具体测试使用软硬件信息如下:
硬件:树莓派cm4 v1.1 32G+4G WIFI
镜像:
2024-07-04-raspios-bookworm-arm64-lite.img
2023-02-21-raspios-bullseye-arm64-lite.img
Debian version 12(bookworm)复现烧录镜像使用rpiboot将CM4以Boot模式启动后,使用官方的Raspberry Pi Imager烧录工具烧录树莓派镜像,镜像选择最新提供的lite版本镜像。
安装wiringPi在wiringPi的github下载打包对应的arm64编译链的d ...
0625
fdfdfdfrtrtra
wqwqw
这是测试
Protobuf使用指南(一)——简介
1.1 protobuf概述Protocol Buffers(简称:ProtoBuf)是由Google开发的一款支持跨平台使用的序列化数据结构协议。
应用该协议库可以对客户自定义的数据结构内容进行二进制转换与反向恢复,且会对基于数据体积以及性能的优化。用户可以不关注转换及优化本身,只需要关注数据及数据结构即可。
Google最初开发其在内部使用,并被广泛应用在数据存储和数据交换的场景中,大量的Google内部跨服务器的通信应用中,都可以见到protobuf的身影。
Protobuf于2008年7月初版发布,至今(2023年11月29日)已迭代146次(数据来源github release),最新版本为25.1。
1.2 项目地址Protobuf项目代码发布在github仓库中,可以在此查看并且下载最新的protobuf代码,或查看其版本迭代情况。
GitHub - protocolbuffers/protobuf: Protocol Buffers - Google’s data interchange format
Protobuf官网展示了其说明文档,文档中对Proto ...
树莓派CM4 Raspberry Pi OS下的内核编译升级操作
最近在调试基于树莓派CM4的PCIE WIFI网卡发射AP的功能,由于供应商提供的网卡驱动有内核版本的限制,且在尝试下确实出现了不兼容的情况,不得已对树莓派进行编译替换内核版本的操作。
操作的软硬件环境如下:
树莓派硬件信息:树莓派CM4 4G+32G v1.1
树莓派系统镜像:2023-02-21-raspios-bullseye-arm64_lite.img
linux kernel:5.15.84-v8 -> 5.15.92-v8
⽬标主机,编译主机为同⼀块树莓派CM4,不采⽤交叉编译的⽅式
获取linux内核版本信息在终端执⾏如下指令获取系统内核版本。
1uname -r
操作结果如下图,可知树莓派升级前实际使⽤内核版本为5.15.84 。
linux内核源码编译下载内核源码树莓派对应的内核源码在https://github.com/raspberrypi/linux 上进⾏管理,需要使用git工具将内核源码下载。
如果使用的是lite版本系统,默认未安装git工具,通过apt-get安装git工具。
1apt-get install git
执行clone ...