linux驱动编译时候出现的问题

1.在编译驱动的时候,提示错误,找不到<asm/xxxx.h>这些类的头文件?

答:因为在内核编译的时候,会在内核目录的include中创建一个asm文件再软链接到对应的一些架构。比如我当时没配置好内核编译,就链接到x86的架构的头文件。所以导致找不到这些头文件。

2.应该如何正确编译内核?

1.配置交叉编译工具,修改顶层Makefile。修改ARCH  ?= arm   CROSS_COMPILE  ?=  arm-linux-gcc

问题:make发现说找不到arm-linux-gcc的命令。是因为安装完交叉编译器没有配置环境变量。

2.进入交叉编译器目录中的bin目录,记录当前的绝对路径,vi /etc/profile,在最底下添加export PATH ="/xx/xx/xx/bin:$PATH"。然后运行source  /etc/profile。之后输入arm-linux,再按TAB键,就能看到不同的编译器,代表可以使用编译器了。

posted @ 2019-02-27 14:28  一个不知道干嘛的小萌新  阅读(594)  评论(0编辑  收藏  举报