请教交叉编译用户程序makefile配置

vim3 linux内核已编译成功。

然后小弟想编译
GitHub - wlhe/uvc-gadget: enhance uvc-gadget test application 此开源应用

请教应该如何配置此makefile

CROSS_COMPILE ?=
ARCH ?= arm64
KERNEL_DIR ?=

@eaglet 我这边没有尝试运行,但是我尝试了编译,你可以直接将这个仓库clone到VIM3上,直接make就可以

谢谢回复,是的,我目前就是拷过去直接用gcc编译的,只是不太方便,觉得应该有能交叉编译的方式。

CROSS_COMPILE可以选择aarch64-linux-gnu-
ARCH就是arm64
KERNEL_DIR内核目录,看你的linux代码放在哪里了。

1 Like

对对,就是这个问题,vim3 的KERNEL_DIR该怎么设置

那要看你把VIM3 内核源码放在哪里了,KERNEL_DIR就设置为内核源码的路径。

我这边试了下,没这么麻烦,不用设置KERNEL_DIR也行,直接按下面方法编译:

$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

编译完后考到VIM3运行如下:

khadas@Khadas:~$ ./uvc-gadget -h
Usage: ./uvc-gadget [options]
Available options are
 -b             Use bulk mode
 -d             Do not use any real V4L2 capture device
 -f <format>    Select frame format
        0 = V4L2_PIX_FMT_YUYV
        1 = V4L2_PIX_FMT_MJPEG
 -h             Print this help screen and exit
 -i image       MJPEG image
 -m             Streaming mult for ISOC (b/w 0 and 2)
 -n             Number of Video buffers (b/w 2 and 32)
 -o <IO method> Select UVC IO method:
        0 = MMAP
        1 = USER_PTR
 -r <resolution> Select frame resolution:
        0 = 360p, VGA (640x360)
        1 = 720p, WXGA (1280x720)
 -s <speed>     Select USB bus speed (b/w 0 and 2)
        0 = Full Speed (FS)
        1 = High Speed (HS)
        2 = Super Speed (SS)
 -t             Streaming burst (b/w 0 and 15)
 -u device      UVC Video Output device
 -v device      V4L2 Video Capture device