原因是官方不支持64位系统,所以64位的内核源码里面缺少Hardware,Revision等跟芯片型号和版本相关的输出代码。
导致wiringPi在利用/proc/cpuinfo文件做型号匹配时无法得知具体树莓派的版本而报错。
从网上得到一份v2.46版本的wiringPi源码,并做了相应更改,更改结果只使用于树莓派3代及3B等同期产品。
源码查看:
https://github.com/geoleonsh/WiringPi/tree/only-Pi3
使用 git clone https://github.com/geoleonsh/WiringPi -b only-Pi3 命令,将代码下载到树莓派3,然后运行./build脚本,就能将gpio安装到树莓派3
由于树莓派3代以前都是32位CPU所以没有64位系统的问题,而树莓派4需要v2.52版本的wiringPi才支持,所以我修改的这份源码,理论上只对3代有作用。
但是,从最新的消息得出,树莓派4的GPIO是向下兼容的,也就是说,只要将树莓派4当成树莓派3,以上的代码同样可用。
做法就是同树莓派3一样,从git上拉取我修改后的代码,因为代码里面写死成树莓派3了,所以4代树莓派安装wiringPi的方法同3带完全一样即可
v2.52版本的源码作者没有释出,而且作者抑郁8月份将源码库关闭了,所以树莓派4安装64位系统后,gpio库可能需要另找它法。
下图公布,具体改动的位置,主要是将原代码中获取的字段,直接写死成树莓派3的一般字段,因为那些字段在64位系统中获取不到。
评论前必须登录!
注册