尝试构建 tf-a、u-boot 或 linux 内核时出现以下错误(以下是尝试对 tf-a- STM32mp 进行 bitbake 时):
- make: *** No rule to make target 'fdts/stm32mp153a-raichu-cubemx-mx.dts', needed by 'build-openstlinuxtkrt-stm32mp1-raichu-cubemx/tmp-glibc/work/stm32mp1_raichu_cubemx-ostl-linux-gnueabi/tf-a-stm32mp/2.2.r1-r0/build/trusted/fdts/stm32mp153a-raichu-cubemx-mx.dtb'. Stop.
似乎变量 CUBEMX_PROJECT 在我的机器配置文件中被忽略了,因为它正在 tf-a 源文件夹中搜索我的 DTS 文件。我如何告诉 yocto 使用我层的“mx”文件夹中的 DTS 文件?
这是我的图层的目录列表:
- meta-raichu
- ├── conf
- │ ├── layer.conf
- │ └── machine
- │ └── stm32mp1-raichu-cubemx.conf
- ├── mx
- │ └── raichu-cubemx
- │ ├── CA7
- │ │ └── DeviceTree
- │ │ └── raichu-cubemx
- │ │ ├── kernel
- │ │ │ └── stm32mp153a-raichu-cubemx-mx.dts
- │ │ ├── tf-a
- │ │ │ ├── stm32mp153a-raichu-cubemx-mx.dts
- │ │ │ └── stm32mp15-mx.dtsi
- │ │ └── u-boot
- │ │ ├── stm32mp153a-raichu-cubemx-mx.dts
- │ │ ├── stm32mp153a-raichu-cubemx-mx-u-boot.dtsi
- │ │ ├── stm32mp15-mx.dtsi
- │ │ └── stm32mp15-mx.h
- └── recipes-tkrt
- └── images
- └── tkrt-image-raichu.bb
这是我的 conf/layer.conf 文件:
- # We have a conf and classes directory, add to BBPATH
- BBPATH .= ":${LAYERDIR}"
- # We have recipes-* directories, add to BBFILES
- BBFILES += "${LAYERDIR}/recipes-*/*/*.bb
- ${LAYERDIR}/recipes-*/*/*.bbappend"
- BBFILE_COLLECtiONS += "meta-raichu"
- BBFILE_PATTERN_meta-raichu = "^${LAYERDIR}/"
- BBFILE_PRIORITY_meta-raichu = "7"
- LAYERDEPENDS_meta-raichu = "core"
- LAYERSERIES_COMPAT_meta-raichu = "dunfell"
这是我的 conf/machine/stm32mp1-raichu-cubemx.conf 文件:
- #@TYPE: Machine
- #@NAME: stm32mp1-mx
- #@DESCRIPTION: Configuration for STM32CubeMX generated project
- #@NEEDED_BSPLAYERS: layers/meta-openembedded/meta-oe layers/meta-openembedded/meta-python
- ###########################################################################
- #
- # Default machine configuration sections
- #
- ###########################################################################
- require conf/machine/include/st-machine-common-stm32mp.inc
- require conf/machine/include/st-machine-providers-stm32mp.inc
- # Define specific common machine name
- MACHINEOVERRIDES .= ":stm32mpcommonmx"
- # =========================================================================
- # Chip architecture
- # =========================================================================
- DEFAULTTUNE = "cortexa7thf-neon-vfpv4"
- include conf/machine/include/tune-cortexa7.inc
- # =========================================================================
- # Machine settings
- # =========================================================================
- STM32MP_DEVICETREE = "${CUBEMX_DTB}"
- # =========================================================================
- # Machine features (default for stm32mp1 like)
- # =========================================================================
- MACHINE_FEATURES += "splashscreen"
- MACHINE_FEATURES += "watchdog"
- MACHINE_FEATURES += "${@'gpu' if d.getVar('ACCEPT_EULA_'+d.getVar('MACHINE')) == '1' else ''}"
- MACHINE_FEATURES += "m4copro"
- # =========================================================================
- # Device Storage
- # =========================================================================
- # Enable the board device storage support with CUBEMX_DTB according to BOOTDEVICE_LABELS
- DEVICE_BOARD_ENABLE_NAND += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nand-4-256', '${CUBEMX_DTB}', '', d)}"
- #DEVICE_BOARD_ENABLE_NOR += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor-sdcard' , '${CUBEMX_DTB}', '', d)}"
- #DEVICE_BOARD_ENABLE_EMMC += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'emmc', '${CUBEMX_DTB}', '', d)}"
- #DEVICE_BOARD_ENABLE_SDCARD += "${@bb.utils.contains('BOOTDEVICE_LABELS', 'sdcard', '${CUBEMX_DTB}', '', d)}"
- # =========================================================================
- # Flashlayout
- # =========================================================================
- # Set the FLASHLAYOUT_TYPE_LABELS to CUBEMX_DTB according to BOOTDEVICE_LABELS
- #FLASHLAYOUT_TYPE_LABELS_emmc = "${@bb.utils.contains('BOOTDEVICE_LABELS', 'emmc', '${CUBEMX_DTB}', '', d)}"
- FLASHLAYOUT_TYPE_LABELS_nand-4-256 = "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nand-4-256', '${CUBEMX_DTB}', '', d)}"
- #FLASHLAYOUT_TYPE_LABELS_nor-sdcard = "${@bb.utils.contains('BOOTDEVICE_LABELS', 'nor-sdcard' , '${CUBEMX_DTB}', '', d)}"
- #FLASHLAYOUT_TYPE_LABELS_sdcard = "${@bb.utils.contains('BOOTDEVICE_LABELS', 'sdcard', '${CUBEMX_DTB}', '', d)}"
- # Specific settings for 'extensible' and 'deleteall' configurations
- FLASHLAYOUT_CONFIG_LABELS_deleteall = "cubemx"
- FLASHLAYOUT_TYPE_LABELS_deleteall_cubemx = "${CUBEMX_DTB}"
- FLASHLAYOUT_TYPE_LABELS_extensible = "${CUBEMX_DTB}"
- # =========================================================================
- # CubeMX extra config
- # =========================================================================
- # Set specific subdir path by components for each device tree file location
- # within CUBEMX_PROJECT project folder
- CUBEMX_DTB_PATH_TFA = "tf-a"
- CUBEMX_DTB_PATH_TFA_SB = "tf-a"
- CUBEMX_DTB_PATH_UBOOT = "u-boot"
- CUBEMX_DTB_PATH_LINUX = "kernel"
- CUBEMX_DTB_PATH_OPTEEOS = "optee-os"
- ###########################################################################
- #
- # User machine customization sections
- #
- ###########################################################################
- # Boot Scheme
- # =========================================================================
- BOOTSCHEME_LABELS += "trusted"
- #BOOTSCHEME_LABELS += "optee"
- # WORKAROUND to generate U-BOOT SPL for DDR Tuning tools usage
- UBOOT_CONFIG += "basic"
- # Boot Device Choice
- # =========================================================================
- # Define the boot device supported
- #BOOTDEVICE_LABELS += "sdcard"
- #BOOTDEVICE_LABELS += "emmc"
- BOOTDEVICE_LABELS += "nand-4-256"
- #BOOTDEVICE_LABELS += "nor-sdcard"
- # Support Feature Choice
- # =========================================================================
- # Define the features to enable on board
- #MACHINE_FEATURES += "bluetooth"
- #MACHINE_FEATURES += "wifi"
- # Specific firmwares and kernel modules configuration
- # =========================================================================
- # Set the list of kernel module to be auto-loaded during boot
- KERNEL_MODULE_AUTOLOAD += ""
- # Set Bluetooth related package list needed when 'bluetooth' feature is enabled
- #BLUETOOTH_LIST += ""
- # Set Wifi related package list needed when 'wifi' feature is enabled
- #WIFI_LIST += ""
- # CubeMX Project Config
- # =========================================================================
- # Assign CubeMX Board devicetree and project path name
- #CUBEMX_DTB = "stm32mp157c-my-demo"
- #CUBEMX_PROJECT = "mx/STM32MP157C-EV1/my-demo/DeviceTree/my-demo"
- CUBEMX_DTB = "stm32mp153a-raichu-cubemx-mx"
- CUBEMX_PROJECT = "mx/raichu-cubemx/CA7/DeviceTree/raichu-cubemx/"
0
|
1个回答
|
|
|