linux下arm驱动开发环境配置

本文介绍了在Linux环境下配置ARM驱动开发环境的步骤,包括Linux源代码的获取与解压、内核配置、交叉编译设置,以及解决版本不匹配问题的方法。确保驱动程序与目标开发板的内核版本一致是关键,可以通过调整内核版本或重新编译来实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

倒腾了好几天的环境配置了,算是知道怎么玩这个鬼东西了,

首先:驱动有两种情况,一种是linuxPC端的驱动,一个是arm端的linux驱动,

而驱动程序写了之后,需要有内核代码里面的文件帮助编译,也就是说,一个驱动程序要编译,需要内核的代码,而环境配置,就是把需要的内核文件进行整理,让驱动程序能成功编译。

原料:linux源代码,arm-linux-gcc

因为你需要把驱动代码(,ko)编译好了之后放到开发板里面运行,所以一定是要交叉编译的,

解压linux源码:

tar zxvf linux-XXX.tar.gz

然后Cd进去,找到linux下面的arch/arm/configs/

cp s3c2410-defaults .config  //注意有一个点在config前面

vim Makefile 大概在190行左右改为

ARCH ?=arm

CROSS_XXXX?=arm-linux-

然后mv .config到根目录,既linux-xxx下面

然后make menuconfig

在systemp->support里面找到对应的开发板,我的是2440的

然后退出,之后

make

之后就可以编写makefile了,makefile的指向的编译地址就选择这里,


PS:arm版的linux版本要和你编译的linux的版本一致,不然运行的时候会出错的

出现 hello: version magic '2.6.32FriendlyARM mod_unload ARMv4 ' should be '2.6.32.2-FriendlyARM mod_unload ARMv4 '

出现这个错误的原因是我们编译驱动程序的内核和arm板上跑的内核版本不一样。

有两个解决方案,

1,把编译驱动程序的内核烧写到arm版上,或者把arm版上的系统拿来编译驱动程序,总之保持一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值