玩转QEMU硬件模拟器 - Raspberry Pi OS驱动开发

查看树莓派环境

  目标树莓派的环境直接关系到我们的交叉编译环境配置,我们可以直接执行下面的命令查看树莓派的工具链版本,做到心中有数。即:查看链接器版本、查看动态链接器版本、查看本地 GCC 编译器版本、查看交叉编译器版本、查看系统内核和硬件架构信息。

asher@raspberrypi:~$ ld -v
asher@raspberrypi:~$ ldd --version
asher@raspberrypi:~$ gcc -v
asher@raspberrypi:~$ arm-linux-gnueabihf-gcc -v

asher@raspberrypi:~$ uname -m
asher@raspberrypi:~$ uname -a

获取rpi-5.10.y(5.10.63)

  因为Linux 驱动模块与内核版本强绑定,所以,当我们以交叉编译的方式进行Raspberry Pi OS驱动开发时,驱动编译时使用的内核源码版本,与系统当前运行的内核版本要完全一致(包括主版本、次版本、补丁号)。我们qemu模拟系统当前运行的Raspberry Pi OS版本为5.10.63,下载连接:ZIP格式TAR.GZ 格式

asher@raspberrypi:~/source/linux_driver$ uname -r
5.10.63

  关于github下载指定版本的rpi-5.10.y的方法在这里说一下,基本步骤可以参考:

  1. 打开树莓派内核仓库:
      访问树莓派官方内核仓库:树莓派内核仓库
  2. 切换到 rpi-5.10.y 分支,找到目标版本的标签(Tag)
      搜索并选择 rpi-5.10.y 分支,点击 “Tags” 查看所有标签(如 stable_20250127),点击目标标签(如 stable_20250127),进入标签详情页;,在页面中找到 “Latest commit” 下方的 commit 哈希值(如 a1b2c3d4…),记录该值。
  3. 通过 commit ID 确定内核版本号
      树莓派内核的版本号通常记录在源码的 Makefile 中,可通过 commit ID 直接查看该文件。访问链接:https://github.com/raspberrypi/linux/blob/commit ID/Makefile(将 commit ID 替换为步骤 1 获取的哈希值);在 Makefile 中找到 VERSION(主版本)、PATCHLEVEL(次版本)、SUBLEVEL(补丁号),例如:
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 63  # 补丁号
  1. 下载该版本的内核源码包
https://github.com/raspberrypi/linux/archive/<commit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值