编译完整固件出错,请帮忙看看是什么原因

麻烦仔细阅读文档!!

要在fenix根目录下之执行这些命令。

好的,我先耐心阅读下文档,新手,非常感谢您耐心的指导

再请教您个问题,我想在开发板连接PC后,在PC上生成一个usb节点。
面前我已经配置了usb_f_uvc模块,并且在/sys/kernel/config//usb_gadget/目录下已经生成了一个usb设备节点,但是插到PC上没有识别出USB设备。

请问下linux开发板 配置成usb从设备,这个该如何配置呢?

@numbqq 请问下编译前,在选择uboot类型时,uboot-2015.01和uboot-mainline有什么区别。
另外uboot和kernel要同一个版本才能跑起来吗? 比如uboot-2015.01和linux-4.9要搭配,uboot-mainline和linux-mainline要搭配使用。

带有mainline的是主线版本,有很多功能不完善。

是的,建议uboot-2015.01+linux-4.9,uboot-mainline+linux-mainline

我这边更新了个mainline的内核之后,重启板子,电脑会把VIM3识别成一个usb设备(如下图),然后HDMI一直停留在开机logo,似乎没法开机一样,请问是什么原因?QQ截图20201028113831

把问题描述清楚。之前什么固件?怎么更新的?是T卡的还是eMMC的?看现象是uboot加载

我是先刷了官网git上的固件:VIM3_Ubuntu-gnome-focal_Linux-4.9_arm64_EMMC_V0.9-20200530.img

然后环境配置选择如下:


接着编译内核,更新内核后,出现如上的问题

固件是4.9的内核,你更新也要更新4.9的,不要换成主线的!主线和4.9是不同的。

明白,有个疑惑的点,用了主线的内核,开发板似乎成了usb device 模式,可被PC识别到,具体原因是?

上面已经回复你了。升级了主线内核后,之前的uboot启动内核失败,uboot启动内核失败后会进入升级模式。这点你可以去看下uboot源码。

1 Like

请问下如何利用fenix脚本编译用户应用程序,拷贝到板子上运行?

应用程序无所谓吧,你只要在pc上用aarch64-linux-gnu-gcc交叉编译就行,如果依赖其他库,自己处理好就行。

1 Like

这边自动更新git仓库代码后,编译出现如下错误:

Info: Try to update linux:khadas-vims-4.9.y
From GitHub - khadas/linux: Linux kernel for Khadas VIMs & Edges

  • branch khadas-vims-4.9.y → FETCH_HEAD
    Updating 2d9633461edd…86f9ab4cb492
    error: Your local changes to the following files would be overwritten by merge:
    Documentation/ABI/testing/sysfs-bus-iio
    Documentation/DocBook/libata.tmpl
    Documentation/devicetree/bindings/sound/wm8994.txt
    Documentation/filesystems/affs.txt
    Documentation/networking/ip-sysctl.txt
    Makefile
    arch/alpha/include/asm/io.h
    arch/arc/plat-eznps/include/plat/ctop.h
    arch/arm/boot/dts/socfpga_arria10.dtsi
    arch/arm/include/asm/percpu.h
    arch/arm/kernel/hw_breakpoint.c
    arch/arm/kernel/stacktrace.c
    arch/arm/kvm/mmu.c
    arch/arm/mach-at91/pm.c
    arch/arm/mach-socfpga/pm.c
    arch/arm/mm/cache-l2x0.c
    arch/arm64/boot/dts/exynos/exynos7-espresso.dts
    arch/arm64/boot/dts/qcom/msm8916-pins.dtsi
    arch/arm64/boot/dts/qcom/msm8916.dtsi
    arch/arm64/boot/dts/xilinx/zynqmp.dtsi
    arch/arm64/configs/kvims_defconfig
    arch/arm64/include/asm/checksum.h
    arch/arm64/include/asm/kvm_arm.h
    arch/arm64/include/asm/kvm_asm.h
    arch/arm64/kernel/vmlinux.lds.S
    arch/arm64/kvm/hyp/entry.S
    arch/arm64/kvm/hyp/hyp-entry.S
    arch/arm64/kvm/hyp/switch.c
    arch/m68k/include/asm/m53xxacr.h
    arch/m68k/mac/iop.c
    arch/m68k/q40/config.c
    arch/mips/Kconfig
    arch/mips/include/asm/cpu-type.h
    arch/mips/include/uapi/asm/Kbuild
    arch/mips/kernel/smp-bmips.c
    arch/mips/kernel/topology.c
    arch/mips/mm/c-r4k.c
    arch/mips/sni/a20r.c
    arch/mips/vdso/genvdso.c
    arch/parisc/include/asm/cmpxchg.h
    arch/parisc/lib/bitops.c
    arch/powerpc/configs/pasemi_defconfig
    arch/powerpc/configs/ppc6xx_defconfig
    arch/powerpc/include/asm/percpu.h
    arch/powerpc/include/asm/reg.h
    arch/powerpc/include/uapi/asm/Kbuild
    arch/powerpc/kernel/dma-iommu.c
    arch/powerpc/kernel/tau_6xx.c
    arch/powerpc/kernel/vdso.c
    arch/powerpc/mm/fault.c
    arch/powerpc/perf/core-book3s.c
    arch/powerpc/perf/hv-gpci-requests.h
    arch/powerpc/perf/isa207-common.c
    arch/powerpc/platforms/Kconfig
    arch/powerpc/platforms/cell/Kconfig
    arch/powerpc/platforms/powernv/opal-dump.c
    arch/powerpc/platforms/pseries/hotplug-memory.c
    arch/powerpc/platforms/pseries/ras.c
    arch/powerpc/platforms/pseries/rng.c
    arch/powerpc/sysdev/xics/icp-hv.c
    arch/s390/include/asm/percpu.h
    arch/s390/kernel/setup.c
    arch/sh/boards/mach-landisk/setup.c
    arch/sh/kernel/entry-common.S
    arch/x86/configs/i386_defconfig
    arch/x86/configs/x86_64_defconfig
    arch/x86/include/asm/archrandom.h
    arch/x86/include/asm/bitops.h
    arch/x86/include/asm/nospec-branch.h
    arch/x86/include/asm/percpu.h
    arch/x86/include/asm/pkeys.h
    arch/x86/kernel/fpu/xstate.c
    arch/x86/kernel/i8259.c
    arch/x86/kernel/vmlinux.lds.S
    arch/x86/kvm/emulate.c
    arch/x86/kvm/lapic.c
    arch/x86/kvm/mmu.c
    arch/x86/kvm/mmutrace.h
    arch/x86/kvm/vmx.c
    arch/x86/kvm/x86.c
    arch/xtensa/kernel/perf_event.c
    arch/xtensa/platforms/iss/simdisk.c
    crypto/algif_aead.c
    drivers/acpi/acpica/exprep.c
    drivers/acpi/acpica/utdelete.c
    drivers/acpi/ec.c
    drivers/amlogic/wifi/dhd_static_buf.c
    drivers/android/binder.c
    drivers/ata/acard-ahci.c
    drivers/ata/libahci.c
    drivers/ata/libata-core.c
    drivers/ata/libata-scsi.c
    drivers/ata/libata-sff.c
    drivers/ata/pata_macio.c
    drivers/ata/pata_pxa.c
    drivers/ata/pdc_adma.c
    drivers/ata/sata_fsl.c
    drivers/ata/sata_inic162x.c
    drivers/ata/sata_mv.c
    drivers/ata/sata_nv.c
    drivers/ata/sata_promise.c
    drivers/ata/sata_qstor.c
    drivers/ata/sata_rcar.c
    drivers/ata/sata_sil.c
    drivers/ata/sata_sil24.c
    drivers/ata/sata_sx4.c
    drivers/atm/atmtcp.c
    drivers/atm/eni.c
    drivers/atm/firestream.c
    drivers/base/core.c
    drivers/base/dd.c
    drivers/base/power/main.c
    drivers/block/brd.c
    drivers/block/rbd.c
    drivers/block/zram/zram_drv.h
    drivers/char/agp/intel-gtt.c
    drivers/char/random.c
    drivers/char/tlclk.c
    drivers/char/tpm/tpm_ibmvtpm.c
    drivers/char/tpm/tpm_ibmvtpm.h
    drivers/clk/at91/clk-main.c
    drivers/clk/bcm/clk-bcm2835.c
    drivers/clk/rockchip/clk-rk3228.c
    drivers/clk/samsung/clk-exynos4.c
    drivers/clk/sirf/clk-atlas6.c
    drivers/clk/ti/adpll.c
    drivers/clocksource/h8300_timer8.c
    drivers/cpufreq/powernv-cpufreq.c
    drivers/crypto/ccp/ccp-dev.h
    drivers/crypto/ccp/ccp-ops.c
    drivers/crypto/ixp4xx_crypto.c
    drivers/crypto/omap-sham.c
    drivers/crypto/qat/qat_common/qat_algs
    Aborting
    make: *** [Makefile:25: kernel] Error 1

你自己有修改过代码吧?有些冲突,git status看看,自己解决下冲突。

已经还原了仓库代码 ,但还是编译上诉错误
git status:

On branch master
Your branch is up to date with ‘origin/master’.

nothing to commit, working tree clean

@hugoleong 你这个是fenix仓库的把,你进到linux目录,再git status看看是修改了什么,内核那边,VIM3的分支是khadas-vims-4.9.y

对的,是linux目录里面的修改,现在可以编译了,谢谢~!!

@Frank @numbqq 我把板子配置成一个usb从设备,然后连接到电脑上,用bus hound抓包分析usb协议数据时,出现如下问题
GET_INFO的时候设备返回usb状态为C0000004,无法正常工作,请问下是什么问题导致?