主题中讨论的其他器件:AM62L
工具/软件:
您好、
请帮我了解 AM62L3 编译的交叉编译器构建过程。 我一直在使用交叉编译器、它已经在 SDK 中共享。 我已经在 TI 官方网站上浏览了 Yocto 编译文档,找不到与交叉编译器构建过程相关的任何内容。如果你能分享这个命令会很有帮助。
-- Dheeraj
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
您好、
请帮我了解 AM62L3 编译的交叉编译器构建过程。 我一直在使用交叉编译器、它已经在 SDK 中共享。 我已经在 TI 官方网站上浏览了 Yocto 编译文档,找不到与交叉编译器构建过程相关的任何内容。如果你能分享这个命令会很有帮助。
-- Dheeraj
我一直在使用交叉编译器、该编译器已在 SDK
中共享。您能否更详细地解释一下您所需的内容? 使用交叉工具链编译在目标上运行的 C 程序? 如果是、请查看我们的 AM62L Linux Academy 中的以下部分: https://dev.ti.com/tirex/explore/node?node=A__ARdZ9-YYY.Y9pn3zXklOSA__AM62L-ACADEMY__6F61DO6__LATEST
此致、Andreas
在编译“tisdk-core-bundle"时“时 ROM Yocto。
同样、是否有任何必须在 Yocto 中编译才能获取交叉编译器的映像。这是否会提供所需的交叉编译器-
|
meta-toolchla-arago-tisdk? |
请勿使用“tisdk-core-bundle",“,这样、这样做的主要目的是让我们在 TI 这里构建完整的 SDK。 您当然可以编译它并进行检查以重新创建我们的 SDK 编译过程、但这不是您作为客户通常想要的。 您需要的是以下两项之一:
此致、Andreas
尊敬的 Andreas:
谢谢你,我成功地压缩了交叉压缩器和工作正常。但我需要从 SDK 中获得预编译二进制文件文件夹,我猜可以通过 tisdk-core-bundle 进行压缩。但是否有任何更改,必须为定制的机器? 。 我添加了另一个可以正确编译 tisdk-default-image 二进制文件的配置、但不能正确编译 tisdk-core-bundle。 我会附上我观察到的错误、请您指导我在这里遗漏了什么。 
--此致、
Dheeraj K
但我需要从 SDK 中获取预编译的二进制文件文件夹、我想可以通过 tisdk-core-bundle 压缩该文件夹。
正如之前所暗示的、通常作为 Yocto 用户、您需要构建一个 rootfs 映像。 这还会将所有与映像相关的工件(例如 U-Boot 和固件二进制文件)填充到 build 输出文件夹中。 例如、在`` tisdk-default-image`之后、请查看 μ V build/deploy-ti/images/am62lxx-evm/*`的内容。 同样、请勿编译`tisdk-core-bundle`、这不是需要/不建议的。
SDK 安装程序的预编译二进制文件文件夹中具体需要哪些内容?
您尝试自定义哪些内容以及要将构建输出部署到哪些内容(电路板,引导介质等)?
此致、Andreas
尊敬的 Andreas:
我已经为一个新的机器编译与我们的定制板. 在 bb 文件做了一些更改后,我能够实现“tisdk-core-bundle" tar“ tar 文件与我们的板的 prebuit 二进制文件,这是我想要的。 但是、在 board-support 目录中、我只能看到可信的软件(有我的更改)和只能看到的。 缺少 u-boot 以及包含我所做更改的 Linux 源代码。但 tisdk-default-image 已应用了我的所有更改并成功引导了电路板。
将源代码包含在板级支持中需要进行哪些更改。
-- Dheeraj K
.但 tisdk-default-image 应用了我的所有更改并成功引导了主板。
太棒了!!
“我能够实现“tisdk-core-bundle"
为什么您还在尝试构建此模型? 不建议/不需要此构建目标、它仅在 TI 作为脚本的一部分用于创建完整的 TI SDK 安装程序。 我们的 SOC/SDK 产品的消费者无需创建/构建完整的 TI SDK 安装程序。
此致、Andreas
尊敬的 Andreas:
我要编译tisdk-core-bundle、因为它包含所有必需的预编译二进制文件以及相应的源代码、包括我的自定义更改。 此捆绑包在交付给其他人时至关重要、因为它允许我同时提供二进制文件和修改后的源代码以及定制电路板。
但是、在应用我的更改后、我注意到board-support目录中缺少 Linux 和 U-Boot 源代码。 这就是为什么我专注于正确构建、tisdk-core-bundle以确保所有内容都包含在交付中。
尊敬的 Andreas:
我已经尝试过、但仍然无法使用 tisdk-core-bundle 映像获取完整的源代码。在 AM62A 处理器 Yocto 构建期间、我能够获取 ATF、opte、u-boot 和内核的源代码、并包含对 EVK 源的更新更改。 我想在 am62l 中复制相同内容。
您可以看到我生成了自定义二进制文件。 
但这不是完整的源代码(缺少内核和 u-boot ) 
如果你能帮我解决这个问题,那会很有帮助。
尊敬的 Dheeraj:
今天、我 为设置并启动了 Yocto 构建 tisdk-core-bundle 确定 我是否可以重新创建问题、但问题在我的工作日尚未完成。
只是为了确认、您正在对 AM62L 使用最新的 SDK/Yocto 基线、版本为 11.00.15.05(使用 processor-sdk-11.00.15.05-am62lxx-config.txt 根据 SDK 文档)、对吧?
我们现在在美国有一个假日周末、所以下周我会再回来。
此致、Andreas
尊敬的 Dheeraj:
AM62L v11.00.15.05(使用 processor-sdk-11.00.15.05-am62lxx-config.txt -是的
好的、将等待您的回答。
我已为该 SDK `了` tisdk-core-bundle `目标而没有任何问题、可以确认生成的` tisdk-core-bundle-am62lxx-evm.tar.xz `tarball 在包含的` board-support/ 文件夹中包含 Linux 和 U-Boot 源代码。
让我尝试一下、看看是否可以创建一个显示 相同但使用自定义机器的工作示例。
此致、Andreas
让我试一试 、看看我是否可以创建一个显示相同但使用自定义机器的工作示例。
因此、我添加了一个自定义机器、如下所示、并按预期重新编译了`tisdk-core-bundle` target、并且包含了 U-Boot 和内核源。
# Changes to `meta-ti` below
a0797059@jiji:~/tisdk/am62lxx-evm/sources/meta-ti (HEAD detached at 11.00.15)
$ git diff --cached
diff --git a/meta-ti-bsp/conf/machine/am62lxx-custom.conf b/meta-ti-bsp/conf/machine/am62lxx-custom.conf
new file mode 100644
index 00000000..251001b0
--- /dev/null
+++ b/meta-ti-bsp/conf/machine/am62lxx-custom.conf
@@ -0,0 +1,20 @@
+#@TYPE: Machine
+#@NAME: AM62L CUSTOM
+#@DESCRIPTION: Machine configuration for a AM62L CUSTOM board
+
+require conf/machine/include/am62lxx.inc
+require conf/machine/include/ti-extras.inc
+
+IMAGE_FSTYPES += "ubifs ubi"
+
+MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 8500"
+
+UBINIZE_ARGS ?= "-m 4096 -p 256KiB -s 1024 -O 1024"
+
+KERNEL_DEVICETREE_PREFIX = " \
+ ti/k3-am62l \
+"
+
+KERNEL_DEVICETREE = ""
+
+UBOOT_MACHINE = "am62lx_evm_defconfig"
# Changes to `meta-tisdk` below
a0797059@jiji:~/tisdk/am62lxx-evm/sources/meta-tisdk (HEAD detached at 11.00.15.05)
$ git diff --cached
diff --git a/meta-ti-foundational/recipes-graphics/emptty/emptty_%.bbappend b/meta-ti-foundational/recipes-graphics/emptty/emptty_%.bbappend
index ded95b0..80dc18d 100644
--- a/meta-ti-foundational/recipes-graphics/emptty/emptty_%.bbappend
+++ b/meta-ti-foundational/recipes-graphics/emptty/emptty_%.bbappend
@@ -8,6 +8,7 @@ SYSTEMD_AUTO_ENABLE:${PN}:am62xxsip-evm = "disable"
# Always disable emptty for AM62L
SYSTEMD_AUTO_ENABLE:${PN}:am62lxx-evm = "disable"
+SYSTEMD_AUTO_ENABLE:${PN}:am62lxx-custom = "disable"
# Always disable emptty for AM64X
-SYSTEMD_AUTO_ENABLE:${PN}:am64xx-evm = "disable"
\ No newline at end of file
+SYSTEMD_AUTO_ENABLE:${PN}:am64xx-evm = "disable"
diff --git a/meta-ti-foundational/recipes-tisdk/tisdk-uenv/tisdk-uenv/am62lxx-custom/uEnv-am62l-sk.txt b/meta-ti-foundational/recipes-tisdk/tisdk-uenv/tisdk-uenv/am62lxx-custom/uEnv-am62l-sk.txt
new file mode 100644
index 0000000..cf1ed12
--- /dev/null
+++ b/meta-ti-foundational/recipes-tisdk/tisdk-uenv/tisdk-uenv/am62lxx-custom/uEnv-am62l-sk.txt
@@ -0,0 +1,11 @@
+# This uEnv.txt file can contain additional environment settings that you
+# want to set in U-Boot at boot time. This can be simple variables such
+# as the serverip or custom variables. The format of this file is:
+# variable=value
+# NOTE: This file will be evaluated after the bootcmd is run and the
+# bootcmd must be set to load this file if it exists (this is the
+# default on all newer U-Boot images. This also means that some
+# variables such as bootdelay cannot be changed by this file since
+# it is not evaluated until the bootcmd is run.
+
+optargs=vt.global_cursor_default=0
编译 `tisdk-core-bundle` target 后、检查 U-Boot 和内核源文件:
# Create text document with list of files in the archive that was generated a0797059@jiji:~/tisdk/am62lxx-evm/build (master) $ tar -tvf deploy-ti/images/am62lxx-custom/tisdk-core-bundle-am62lxx-custom.tar.xz > tisdk-core-bundle-am62lxx-custom.tar.xz.txt # Check for U-Boot sources a0797059@jiji:~/tisdk/am62lxx-evm/build (master) $ grep ti-u-boot- tisdk-core-bundle-am62lxx-custom.tar.xz.txt | head drwxr-xr-x 0/0 0 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/ -rw-r--r-- 0/0 25723 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/.azure-pipelines.yml -rw-r--r-- 0/0 814 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/.checkpatch.conf -rw-r--r-- 0/0 50 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/.get_maintainer.conf -rw-r--r-- 0/0 32 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/.get_maintainer.ignore drwxr-xr-x 0/0 0 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/.git/ -rw-r--r-- 0/0 34 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/.git/HEAD drwxr-xr-x 0/0 0 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/.git/branches/ -rw-r--r-- 0/0 355 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/.git/config -rw-r--r-- 0/0 73 2018-03-09 06:34 ./board-support/ti-u-boot-2025.01+git/.git/description # Check for Kernel sources a0797059@jiji:~/tisdk/am62lxx-evm/build (master) $ grep ti-linux-kernel- tisdk-core-bundle-am62lxx-custom.tar.xz.txt | head drwxr-xr-x 0/0 0 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/ -rw-r--r-- 0/0 22878 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/.clang-format -rw-r--r-- 0/0 335 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/.clippy.toml -rw-r--r-- 0/0 59 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/.cocciconfig -rw-r--r-- 0/0 575 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/.editorconfig -rw-r--r-- 0/0 194 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/.get_maintainer.ignore drwxr-xr-x 0/0 0 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/.git/ -rw-r--r-- 0/0 32 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/.git/HEAD drwxr-xr-x 0/0 0 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/.git/branches/ -rw-r--r-- 0/0 363 2018-03-09 06:34 ./board-support/ti-linux-kernel-6.12.24+git-ti/.git/config
您能否看到您是否可以重新创建此文件?
您的定制机器添加到 Yocto 源中的方式可能存在问题。
此致、Andreas
您好、
完成类似的更改后、我观察到我能够在正确的情况下检索 U-Boot 和内核源代码 无修改 人员。 但是、一旦我添加了 自定义补丁 通过recipes-bsp/或访问相应的源组件recipes-kernel/、我不再能够使用提取或查看完整的源代码tisdk-core-bundle。
尽管如此、我可以确认该补丁 施加不正确 、因为更改会显示在work/目录中并反映在生成的二进制文件中。
当然、您能否创建一个虚拟补丁、只需添加一个新的 defconfig 文件并更新内核应用于编译的 defconfig 名称? 此外、您还可以修改printk板级文件中的语句、以确保修补程序会导致可见的更改、并确认应用了该语句。 对于集成修补程序、您可以创建一个新的层(例如)meta-dummy并conf/layer.conf在其中添加适当的层、这与您已经添加“am62lx-custom"层“层的方式类似。 然后、将recipes-kernel/linux/meta-dummy.bb.bbappend修补程序放在下的目录中、并将其命名为与要修补的或文件匹配。 此结构可确保 Yocto 可以在构建过程中拾取和应用补丁。
bb 文件应该像这样。 
此致、
Dheeraj K
尊敬的 Dheeraj:
已经提供了一个工作示例。 除此之外,我试图提供的是看看为什么你的(不同的)实现仍然失败,为此,我将需要你的帮助,以创建一个最小的测试用例,重新创建你的具体问题,我可以很容易地应用到官方源代码树,并见证行为. 只有这样,我可以肯定,我实际上是在看你看到的问题,以一种时间效率的方式。 请注意、这已经超出了我们在论坛上通常会支持的范围。
此致、Andreas