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.

[参考译文] Linux/BEAGLEBK:固件安装问题

Guru**** 1640390 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/692476/linux-beaglebk-firmware-installation-questions

器件型号:BEAGLEBK

工具/软件:Linux

您好!

首先,好消息是,在 SUSE Linux PC 上进行交叉编译可以正常工作(无错误消息)。

我正在使用以下脚本:

#! /bin/bash
导出 arch=arm
导出 cross_compiler= /ti-processor-sdk-linux-am335x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-Arago-linux/usr/bin/arm-linux-gnueabihf-
导出 LD_library_path= :$LD_library_path
make distclean
make arch=arm cross_compile=arm-linux-gnueabihf- tisdk_beaglebk-evm_defconfig
make arch=arm cross_compile=arm-linux-gnueabihf- menuconfig
make zImage
make 模块
make arch=arm am335x-bone.dble.dtb 

借助 menuconfig、我仅检查是否选择了 AD 转换器(M)、Dallas 1 Wire (M)和 PRU 器件。

一切如预期、无需修改。

该脚本在 i7 PC 上运行了几分钟。 无错误。

现在我的问题是:

1) 我是否必须修改 AM335x-bonebblack.dts?   它基于我的.config / tisdk_beaglebk-evm_defconfig。 描述了4个 AD 通道。 关于 PRU、我不确定、因为 PRU 有一个部分、但引脚/模式映射看起来像 HDMI/LCD 配置。 不确定是否以及如何描述 pru1。 我需要 P8_39.... P8_46作为输出。

2) 达拉斯单线应由可加载内核模块处理。 我是否必须为此修改 AM335x-bonebblack.dts?

将文件从 SUSE Linux PC 扫描到 BeagleBone。  将 zImage 和.dTB 更改为/boot

和模块?

感谢你的帮助

Pepito

PS 尝试直接在 BeagleBone 上执行相同的脚本... 到目前为止、它仍然可以工作、将会看到

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    从 SUSE PC 到 BeagleBone (例如进入/my_kernel/)的 rsync processor-sdk-processor-sdk-linux 是否有意义、并从此处执行
    使 modules_install?
    如果帽子正常工作、正确的顺序是什么? 首先是 zImage 和.dTB、然后是模块?
    (出于安全原因,我无法对 SUSE Linux USB 和 SD 卡进行写访问)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    更新、

    在我安装512MB 交换后 、我能够使 AM335x-boneblack.dTB、制作 zImage、制作模块并直接在 BeagleBone Black 上进行模块_安装。

    这对 BeagleBone 来说是一项艰巨的工作、但它确实有效。

    BeagleBone 随内核一起启动。

    uname -a
    Linux AM335x-EVM 4.9.69 #2挤占 Thu 5月24日10:03:16 UTC 2018 armv7l GNU/Linux

    假设下一步是 AM335x-bonebblack.dts 设置、以满足我的需求。

    关于 pru1的设置、我正在挂起。

    Pepito

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Pepita、

    以上第1项、我认为最好在 Linux 中单独保留引脚(即 DTS 文件中没有任何内容)、并在 PRU 中将引脚复用。

    在第二个问题上、是的、您需要向 DTS 添加一个部分、以便从器件树中为模块提供所需的任何内容。 驱动程序应该有一个说明此问题的绑定文档。 至少、您需要确保引脚正确混合。 请参阅 DT 中的其他一些节点、了解这方面的示例。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ron:

    创建内核和模块并安装它们不再是问题、现在可以直接在 BeagleBone BK 和上正常工作

    SUSE Linux PC。

    设备树配置当前仍不清楚。

    我尝试使用 TI PinMux 工具。 我能够生成.dts 文件格式、

    但它不完整、不是吗? 搜索文档如何继续使用 TI PinMux 工具的输出、

    没有找到它们。

    谢谢、祝您愉快

    Pepito

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Pepito、

    您是否找到:

    processors.wiki.ti.com/.../Pin_Mux_Utility_for_ARM_MPU_Processors

    这将有助于进一步解释该过程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ron:

    是的、我是这样做的。 但对于模拟输入和1线制、它没有帮助。 BTW、该工具仅生成 DTS 文件的片段。

    我打赌我的 DTS 是不正确的。 但我 没有发现故障。 中的模拟与之类似、可以加载模块、但没有器件。

    有一个好的 das

    Pepito

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ron:

    单线现在工作正常。 问题:W1_GPIO 未编译/不可用。

    现在它是... 它工作正常。 我真的很开心。

    对于模拟输入、我不太幸运。

    仍然无法正常工作。

    我将其添加到 arch/arm/boot/dts/AM335x-bonebblack-prucape .dtsi 中

    tscadc{(&T)                                         
           ADC{                                                              
                   TI、ADC 通道=<4 5 6 7>;    
           };                                         
    };        

    还有事要做吗?

    祝你度过美好的一天

    Pepito

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Pepito、

    您的最后一个问题似乎已在此处得到解决:

    e2e.ti.com/.../692873

    我希望这涵盖一切。 如果没有、请随时发布新问题或跟进
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    面向未来用户的更正:您需要处于特权运行模式才能更改引脚复用、因此您无法从 PRU 固件更改引脚复用。