@awwwwa 我拿到的SDK工具链只有arm-linux-gnueabi-gcc
Arnis 发布的帖子
-
回复: 全志提供的交叉编译环境头文件的问题
@awwwwa 我安装的工具链里只有arm-linux-gnueabi-gcc,没有aarch64-linux-gnu,也没有你说的这个,因为那个头文件只在arch/arm64下有,我要设置arch=arm64,不用aarch64-linux-gnu恐怕不行吧?
-
回复: 全志提供的交叉编译环境头文件的问题
我安装的工具链只有arm-linux-gnueabi-gcc,没有aarch64-none-linux-gnu,这个情况不能进行arch=arm64编译吧?
-
回复: 全志提供的交叉编译环境头文件的问题
@awwwwa 设置了Makefile编译,出错:./include/uapi/asm-generic/int-ll64.h:12:10: fatal error: asm/bitsperlong.h: No such file or directory
#include <asm/bitsperlong.h>
发现LINUX源码arch下的arm里没有这个头文件, arm64下的有,如果在内核顶层的Makefile的LINUXINCLUDE宏中少加入了-I$(srctree)/arch/$(SRCARCH)/include/uapi \路径(在这个路径下呢),加入后改为编译arch=arm64,又有错误arm-linux-gnueabi-gcc: error: unrecognized command line option ‘-mgeneral-regs-only’。请帮忙看看,谢谢 -
回复: 全志提供的交叉编译环境头文件的问题
./include/uapi/asm-generic/int-ll64.h:12:10: fatal error: asm/bitsperlong.h: No such file or directory
#include <asm/bitsperlong.h>
发现LINUX源码arch下的arm里没有这个头文件, arm64下的有,如果在内核顶层的Makefile的LINUXINCLUDE宏中少加入了-I$(srctree)/arch/$(SRCARCH)/include/uapi \路径(在这个路径下呢),加入后改为编译arch=arm64,又有错误arm-linux-gnueabi-gcc: error: unrecognized command line option ‘-mgeneral-regs-only’ -
回复: 全志提供的交叉编译环境头文件的问题
CC [M] /home/talowe/hpm/ctrlBoard.o
In file included from ./include/asm-generic/int-ll64.h:11:0,
from ./arch/arm/include/uapi/asm/types.h:5,
from ./include/uapi/linux/types.h:5,
from ./include/linux/types.h:6,
from ./include/linux/list.h:5,
from ./include/linux/module.h:9,
from /home/talowe/hpm/ctrlBoard.c:1:
./include/uapi/asm-generic/int-ll64.h:12:10: fatal error: asm/bitsperlong.h: No such file or directory
#include <asm/bitsperlong.h>已经设置了Makefile, make的结果是有头文件找不到,但是在/usr/src/linux-headers-4.15.0-142/include/asm-generic
下是有这个头文件的,但是他不在asm/下,怎么设置解决这个问题?谢谢 -
回复: 全志提供的交叉编译环境头文件的问题
那个虚拟机LINUX内核源码里是有module.h的,抱歉我新手对交叉工具链编译makefile里包含目录的配置不是很了解,那个交叉工具链安装目录下是有自己的linux头文件支持的,里面没有module.h, 这个和LINUX内核源码的头文件怎么配合使用,在makefile里如何设置不是很清楚,麻烦给个具体实现。
-
回复: 全志提供的交叉编译环境头文件的问题
我怎么想的是,如果交叉编译工具链下没有module.h文件,那这个编译环境就不支持内核模块开发,配置没什么可调整的,我想全志提供一个支持LINUX内核模块开发的工具链,或者我可以再核心板厂商那里得到这个工具链吗?
-
回复: 全志提供的交叉编译环境头文件的问题
用的是全志提供的虚拟机,安装好的编译环境,可是他这个交叉编译环境好像不支持内核开发,他的交叉编译工具链sysroot下的头文件里没有上面我列出的内核开发支持头文件。
-
回复: 全志提供的交叉编译环境头文件的问题
用的是Core-T113-S3 核心板光盘资料提供的虚拟机,里面说已经装好了编译环境,然后想做一个LINUX内核模块驱动,编译找不到头文件。代码里头文件如下:
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/tty.h>
#include <linux/sched.h>
#include <linux/net.h>
#include <sys/socket.h>
#include <sys/select.h>
#include <termios.h>
#include <fcntl.h>
#include <linux/in.h>
#include <semaphore.h>
#include <pthread.h>