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.
你(们)好
我在“常见问题”中尝试了 scedev 测试。(https://e2e.ti.com/support/processors-group/processors/f/processors-forum/947437/faq-ccs-tda4vm-how-to-use-spi-spi_dev-on-tda4-j721e)
但我在/sys/class 中找不到任何 scedev 类
root@j7-evm:~# ls -l /sys/class/spi* total 0 lrwxrwxrwx 1 root root 0 Apr 10 00:05 spi6 -> ../../devices/platform/bus@100000/2160000.spi/spi_master/spi6 lrwxrwxrwx 1 root root 0 Apr 10 00:05 spi7 -> ../../devices/platform/bus@100000/bus@100000:bus@28380000/47000000.fss/47040000.spi/spi_master/spi7 lrwxrwxrwx 1 root root 0 Apr 10 00:05 spi8 -> ../../devices/platform/bus@100000/bus@100000:bus@28380000/47000000.fss/47050000.spi/spi_master/spi8 root@j7-evm:~#
我在上述链接中应用了修补程序,并在 ARM/ARM64/configs/tisdk_J7-EVM-defconfig 中显式启用 CONFIG_SPI_SPIDEV=y。
我先做了“make linux”,然后又做了“make linux_install”。
如您所知,所有 dtbo 和 Image 文件都使用 setup.sh 归档到一个目录('targetNFS')中。
归档文件如下所示。
yongsig-vb@yongsigvb-VirtualBox:~/build_server/workspace/TDA4x/psdkla_7.3/targetNFS/boot$ ll total 79368 drwxr-xr-x 1 1012 1012 4096 2월 11 18:17 ./ drwxr-xr-x 1 1012 1012 4096 4월 10 2021 ../ -rwxr-xr-x 1 1012 1012 16799752 2월 11 18:17 Image* -rw-r--r-- 1 1012 1012 16799752 4월 10 2021 Image-5.4.106-g023faefa70 -rw-r--r-- 1 1012 1012 98414 2월 11 18:17 k3-j721e-common-proc-board.dtb -rw-r--r-- 1 1012 1012 8948 2월 11 18:17 k3-j721e-common-proc-board-infotainment.dtbo -rw-r--r-- 1 1012 1012 1160 2월 11 18:17 k3-j721e-common-proc-board-jailhouse.dtbo -rw-r--r-- 1 1012 1012 9862 4월 10 2021 k3-j721e-edgeai-apps.dtbo -rw-r--r-- 1 1012 1012 1025 2월 11 18:17 k3-j721e-pcie-backplane.dtbo -rw-r--r-- 1 1012 1012 99287 2월 11 18:17 k3-j721e-proc-board-tps65917.dtb -rw-r--r-- 1 1012 1012 10978 2월 11 18:17 k3-j721e-vision-apps.dtbo -rwxr-xr-x 1 1012 1012 3256273 2월 11 18:17 System.map* -rw-r--r-- 1 1012 1012 6874624 4월 10 2021 tisdk-tiny-image-j7-evm.cpio -rwxr-xr-x 1 1012 1012 21023344 2월 11 18:17 vmlinux* -rw-r--r-- 1 1012 1012 8123393 4월 10 2021 vmlinux.gz -rw-r--r-- 1 1012 1012 8123393 4월 10 2021 vmlinux.gz-5.4.106-g023faefa70
之后,我将这些文件复制到 sdcard/rootfs/boot/
$ sudo cp -rf targetNFS/boot/* /media/yongsig/rootfs/boot/
请告诉我,我错过了一些东西。
此致
永西格
我在上述链接中应用了修补程序,并在 ARM/ARM64/configs/tisdk_J7-EVM-defconfig 中显式启用 CONFIG_SPI_SPIDEV=y。
[/引用]在文件 ARCH/ARM64/configs/tisdk_J7-EVM-defconfig 中
将出现如下注释行:
未设置#CONFIG_SPI_SPIDEV
将其更改为
CONFIG_SPI_SPIDEV=y
也是因为您正在 SD 卡中使用文件系统。 执行以下更改:
打开文件$PSDK/Rules.make
分配 destdir=/media/yongsig/rootfs
然后执行以下命令:
sudo make linux_install
以上步骤将确保 Image/DTB 直接复制到 rootfs。 请告诉我这是否有帮助。 如果是这样,请单击“验证答案”。
此致,
凯尔西
你(们)好,凯尔西
我已经在 ARM/ARM64/configs/tisdk_J7-EVM-defconfig 中更改为 CONFIG_SPI_SPIDEV=y,但它不起作用。
在同一目录的解配置文件中,CONFIG_SPI_SPIDEV 设置为 y。
make linux_install 后,我检查了 targetNFS/boot/目录中的最新文件。
将 DESDir 更改为 /media/yongsig/rootfs 后,会出现以下一些错误。
yongsig-vb@yongsigvb-VirtualBox:~/build_server/workspace/TDA4x/psdkla_7.3$ sudo make linux_install ======================================= Installing the Linux Kernel DTBs ======================================= install -d /media/yongsig-vb/rootfs/boot install: cannot stat '/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dtb': No such file or directory install: cannot stat '/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/arch/arm64/boot/dts/ti/k3-j721e-proc-board-tps65917.dtb': No such file or directory install: cannot stat '/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board-infotainment.dtbo': No such file or directory install: cannot stat '/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/arch/arm64/boot/dts/ti/k3-j721e-pcie-backplane.dtbo': No such file or directory install: cannot stat '/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board-jailhouse.dtbo': No such file or directory install: cannot stat '/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/arch/arm64/boot/dts/ti/k3-j721e-vision-apps.dtbo': No such file or directory install: cannot stat '/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/arch/arm64/boot/dts/ti/k3-j721e-pcie-backplane.dtbo': No such file or directory Makefile:114: recipe for target 'linux-dtbs_install' failed make: *** [linux-dtbs_install] Error 1
所以我回到了以前的定义。
正如我提到的,我在制作 linux_intall 后才将引导目录复制到 SD 卡。
请告诉我应该复制哪些文件。
此致
永西格
您好,Yongsig,
您是否只能确保 CONFIG_SPI_SPIDEV 仅出现在 ARCH/ARM64/configs/tisdk_J7-EVM-defconfig 文件中一次 ?
cd $PSDK/板级支持/linux*
cp arch/ARM64/boot/Image arch/ARM64/boot/DTS/ti/K3-j721-common-proc-board.dTB /media/yongsi/rootfs/boot
重新分级。
凯尔西
你(们)好,凯尔西
感谢你的回复。
CONFIG_SPI_SPIDEV 仅设置一次/psdkla_7.3/board-support/linux-5.4.106.10+gitAUTOINC+023faefa70-g023faefa70/ararch/ARM64/configs/tisdk_J7-EVM-defconfig。
再次复制 ARCH/ARM64/BOOT/Image (未存档的目录表单 make linux_install)后,
工作正常。 我认为“make linux_install”已将新映像更新到存档目录。
到下一步。
SPI_dev 生成失败。 cross_compue=Aarch64-none-linux-GNU-对吗?
我尝试了三个交叉编译选项。
构建日志如下。
yongsig@builder:~/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi$ make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- make -f /home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/build/Makefile.build dir=. obj=spidev_test make[1]: Entering directory '/home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi' CC spidev_test.o /bin/sh: aarch64-none-linux-gnu-gcc: command not found /home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/build/Makefile.build:96: recipe for target 'spidev_test.o' failed make[1]: *** [spidev_test.o] Error 127 make[1]: Leaving directory '/home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi' Makefile:39: recipe for target 'spidev_test-in.o' failed make: *** [spidev_test-in.o] Error 2 efa70-g023faefa70/tools/spi$ make ARCH=arm64 CROSS_COMPILE=/home/yongsig/workspace/TDA4x/psdkla_7.3/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu- make -f /home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/build/Makefile.build dir=. obj=spidev_test make[1]: Entering directory '/home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi' CC spidev_test.o In file included from spidev_test.c:11: /home/yongsig/workspace/TDA4x/psdkla_7.3/linux-devkit/sysroots/x86_64-arago-linux/usr/lib/gcc/aarch64-none-linux-gnu/9.2.1/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory 9 | # include_next <stdint.h> | ^~~~~~~~~~ compilation terminated. /home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/build/Makefile.build:96: recipe for target 'spidev_test.o' failed make[1]: *** [spidev_test.o] Error 1 make[1]: Leaving directory '/home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi' Makefile:39: recipe for target 'spidev_test-in.o' failed make: *** [spidev_test-in.o] Error 2 yongsig@builder:~/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi$ make ARCH=arm64 make -f /home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/build/Makefile.build dir=. obj=spidev_test make[1]: Entering directory '/home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi' CC spidev_test.o LD spidev_test-in.o make[1]: Leaving directory '/home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi' LINK spidev_test make -f /home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/build/Makefile.build dir=. obj=spidev_fdx make[1]: Entering directory '/home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi' CC spidev_fdx.o LD spidev_fdx-in.o make[1]: Leaving directory '/home/yongsig/workspace/TDA4x/psdkla_7.3/board-support/linux-5.4.106+gitAUTOINC+023faefa70-g023faefa70/tools/spi' LINK spidev_fdx
而且,当我在 Linux 上执行 spedev(由第三个生成方法生成)时,运行失败。
根@J7-EVM:~# ls -l /sys/class/SPI*
/sys/class/SPI_master:
总计0
lrwxrwxrwx 1 root root 0 APR 10 00:05 spi6 ->../设备/平台/总线@100000/2160000.SPI/SPI_MASTER/spi6.
lrwxrwxrwx 1 root root 0 APR 10 00:05 spi7 ->../设备/平台/总线@100000 /总线@100000:总线@28380000/47000000.fs/47040000.SPI/SPI_MASTER/spi/ spi_MASTER/spi7
lrwxrwxrwx 1 root root 0 APR 10 00:05 spi8 ->....设备/平台/总线@100000 /总线@100000:总线@28380000/470000.fs/47050000.SPI/SPI_MASTER/spi/ spi8
/sys/class/spedev:
总计0
lrwxrwxrwx 1 root root 0 APR 10 00:05 spidev6.0 ->../设备/平台/总线@100000/2160000.SPI/SPI_MASTER/spi6/spi6.0/spedev/spidev6.0
根@J7-EVM:Δ T~#/spedev_test
-sh:/spedev_test: Cannot execute binary file: Exec format error.(无法执行二进制文件:执行格式错误。
根@J7-EVM:Δ T~#/spedev_test -v -D /dev/spedev6.0
-sh:/spedev_test: Cannot execute binary file: Exec format error.(无法执行二进制文件:执行格式错误。
根@J7-EVM:~²#
此致
永西格
您好,Yongsig,
cd $PSDK/板级支持/linux-*/tools/SPI make arch=ARM64 cross_compuate=AArch64-none-linux-GNU- CP spedev_test /media/$user/rootfs
上述步骤对我来说非常有效。
请使用 cross_compile 选项进行编译。
凯尔西
感谢您的快速响应。
我又试了一次,但失败了。
您使用的是哪个版本:/bin/或${(TI_SDK_PATH)/linux-Devkit/sysRoot/x86_64 - Arago-Linux//usr/bin/AArch64-none - linux-GNU-?
我的机器的/bin/中没有 AArch64-none-linux-GNU-。
如果命令中没有包含任何 cross_compile,
我认为 cross_compile 是 $(TI_SDK_PATH)/linux-Devkit/sysRoot/x86_64 -阿拉戈-Linux//usr/bin/AArch64-none -linux-GNU-,因为它是在 Rules.mak 中导出的
对吗?
此致
永西格
你(们)好,凯西
我尝试在 Linux 上运行一个引用 spedev_test 的示例应用程序。
所以我得到了这样的期望结果。
=============================== TEST Usecase =============================== x: Exit t: SPI Tx Test d: Display cpu load on/off Enter Choice: t SPI Transfer Start. Enter Data: hello world TX | 68 65 6C 6C 6F 20 77 6F 72 6C 64 20 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |hello world | RX | FF FF FF FF FF FF FF FF FF FF FF FF __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |............| SPI Transfer Done.
但我想知道它可以用于与另一个核心(如 MCU 域中的 MCU)的相互通信。
此外,您是否有办法验证,如 TX-Rx 环回测试?
此致
永西格。
您好,Yongsig,
关于 SPI 从属测试的讨论非常好: https://archive.fosdem.org/2018/schedule/event/hwenablement_linux_as_spi_slave/
以上链接包含幻灯片和视频录制。 这对于了解 SPI 从属测试非常有用。 Spedev 可用于从属设备
测试。 还建议进行其他测试。 请结账。
解决问题。
凯尔西
您好,Yongsig,
我仍然面临交叉编译的问题。
但是,我尝试运行“ /spedev_test -v -D /dev/spedev6.0”命令,但命令不成功。
我希望你能在这方面帮助我。
谢谢,
塔维
塔维
我们正在为基于 ARM64架构的 A72内核编译 spedev_test。 请使用 ARM64工具链进行编译。
结束此操作。
此致,
凯尔西
您好,凯尔西,
感谢您的回复。
已使用此命令构建 spedev_test -->“make arch=ARM64 cross_compet=/home/linux/chetan/ti-processor-sdk-RTos-j721e-EVM-07-03_00_07/gcc-arm-9.2-2019.12-x86_64 - AArch64-none -linux-GNU/bin-linux-ngo-ngu”
谢谢,此致,
塔维
您好,凯尔西,
获得以下输出-->
/*****************************************
/sys/class/SPI_master:
总计0
lrwxrwxrwx 1 root root 0 Nov月19日18:09 spi6 ->../设备/平台/总线@100000/2160000.SPI/SPI_MASTER/sp6.
lrwxrwxrwx 1 root root 0 Nov月19日18:09 spi7 ->../设备/平台/总线@100000 /总线@100000:总线@28380000/470000.fss/4707
lrwxrwxrwx 1 root root 0 Nov月19日18:09 spi8 ->../设备/平台/总线@100000 /总线@100000:总线@28380000/47000000.fss/4708
/sys/class/SPI_Slave:
总计0
/sys/class/spedev:
总计0
lrwxrwxrwx 1 root root 0 Nov月19日18:09 spidev6.0->./../设备/平台/总线@100000/2160000.SPI/SPI_MASTER/sp6/spi6.0/0
(中文 /
然后运行命令-->"/spedev_test -v -D /dev/spedev6.0"
结果输出-->
/*****************************************
SPI 模式:0x0
每字位数:8.
最大速度:500000 Hz (500 KHz)
发射| FF FF FF FF FF FF FF FF 40 00 00 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D | @…… |
RX | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF |.......... |
(中文 /
谢谢,此致,
皮尤什
您可以尝试: /spidev_test -v -D /dev/spidev6.
0
-p
"HELLOWORLD"
此致,
凯尔西
您好,凯尔西,
很抱歉耽误你的回答。 我听从了你的要求,得到的结果是-->
/
根@J7-EVM:Δ T~/spedev_test -v -D /dev/spidev6.0 -p“HelloWorld”
SPI 模式:0x0
每字位数:8.
最大速度:500000 Hz (500 KHz)
TX | 48 45 4C 4C 4F 57 4F 52 4C 44 ______ __________ __________ __________ _____|HelloWorld|
RX | FF FF FF FF FF FF FF FF FF FF FF FF FF FF ______ __________ __________ __________ _____|。 |
(三 /
我想知道这是否是理想的结果。
此外,我们是否可以使用此应用程序尝试核心之间的 SPI?
另请查看此主题,如果可能,请建议我对该问题给出一些答案。
谢谢 ,此致,
塔维
塔维
是的,TX 正在为您服务。 这就是期望的结果。
线程受派者将很快回答这一问题。
[引用 userid="498899" url="~/support/processors-group/processors/f/processors-forum/1076517/tda4vm-tda4-SPI-SPI_dev-usage-issue-one-on -tda4-j721e/3999639#3999639"]此外,我们是否可以使用此应用程序尝试核心之间的 SPI?
[/引用]请创建单独的线程。 我要结束这个话题。
凯尔西
[/引用]