gpio leds无法控制

固件类型:官方提供的固件
固件文件名称:rk356x_linux_release_20211019
固件下载地址:百度网盘
Log日志:MobaXterm_192.168.1.229zjt_20220506_144115.zip

本帖最后由 tieshou200 于 2022-5-6 14:54 编辑

我配置的

./build.sh aio-3568j-ubuntu.mk
./build.sh roc-rk3568-pc-ubuntu.mk
选择的是
ubuntu_18.04_RK3568_ext4_v2.10-42-g50c7f0ac_20211201-1436_DESKTOP
编译出来的固件,没法控制LED
但我直接烧录
AIO-3568J-UBUNTU18.04-GPT-20220222-1626
就可以控制LED,不知道这二者有什么差别,明明我都编译成功了,能够烧录了,难道代码有差异么?

执行过程如下
1114 cat rk356x_linux_release_v1.2.0_20211019_split_dir/firefly_split | tar -xzv
1115 history
1116 cd rk356x_linux_release_20211019/
1117 .repo/repo/repo sync -l
1118 .repo/repo/repo sync -c --no-tags
1119 .repo/repo/repo start firefly --all
1120 history
1121 .repo/repo/repo sync -l
1122 .repo/repo/repo sync -c --no-tags
1123 .repo/repo/repo start firefly --all
1124 history
1125 cd .repo/repo/
1126 git remote update
1127 git pull
1128 cd ../manifests
1129 git remote update
1130 git pull
1131 cd ../../
1132 .repo/repo/repo sync -l
1133 .repo/repo/repo sync -c --no-tags
1134 .repo/repo/repo start firefly --all
1135 ./build.sh aio-3568j-ubuntu.mk
1136 ./build.sh roc-rk3568-pc-ubuntu.mk
1137 mkdir ubuntu_rootfs
1138 cd ubuntu_rootfs/
1139 ls
1140 mv ubuntu_18.04_RK3568_ext4_v2.10-42-g50c7f0ac_20211201-1436_DESKTOP.img rk356x_ubuntu_rootfs.img
1141 ls
1142 md5sum rk356x_ubuntu_rootfs.img
1143 cd ..
1144 ls
1145 ./build.sh
1146 cd rockdev/
1147 ls
1148 cd pack/
1149 ls
1150 mv ROC-RK3568-PC_Rk356x_v1.2.3a_220506.img ROC-RK3568-PC_Rk356x_v1.2.3a_220506-begin.img
1151 ls
1152 history

烦请大神帮忙看看,我到底错在哪里?还是SDK和系统自带镜像本来就有差异?
tchip_askquestions
log.txt.zip (414 Bytes)
MobaXterm_192.168.1.229zjt_20220506_144115.zip (68.9 KB)

你编译的是ROC-RK3568-PC固件,而你的板子是AIO-3568J
./build.sh aio-3568j-ubuntu.mk
./build.sh

但是您之前在另一个帖子里这么说过:

什么板型就使用什么配置文件,不能使用 firefly-rk3568-buildroot.mk ,这个是共用的配置文件,缺少dts,不完整
你后面的所有问题都是因为选错了配置文件,是 AIO-3568J 的板子就用 aio-3568j 开头的配置文件
不需要摄像头和屏幕你不接就行了

所以编译ubuntu的时候,不另外选择dts也可以吗?
另外,如果要额外选择dts,该选择下列哪一个好呢?
aio-3566-jd4-2cam-ubuntu.mk aio-3568j-mipi-2cam-ubuntu.mk ipc-m10r800-a3568j-ubuntu.mk roc-rk3568-pc-2cam-ubuntu.mk station-p2-ubuntu.mk
aio-3566-jd4-mipi-2cam-ubuntu.mk aio-3568j-mipi-ubuntu.mk roc-rk3566-pc-2cam-ubuntu.mk roc-rk3568-pc-mipi-2cam-ubuntu.mk
aio-3566-jd4-mipi-ubuntu.mk aio-3568j-ubuntu.mk roc-rk3566-pc-mipi-2cam-ubuntu.mk roc-rk3568-pc-mipi-ubuntu.mk
aio-3566-jd4-ubuntu.mk firefly-rk3566-ubuntu.mk roc-rk3566-pc-mipi-ubuntu.mk roc-rk3568-pc-ubuntu.mk
aio-3568j-2cam-ubuntu.mk firefly-rk3568-ubuntu.mk roc-rk3566-pc-ubuntu.mk station-m2-ubuntu.mk

Liuth 发表于 2022-5-6 15:46
你编译的是ROC-RK3568-PC固件,而你的板子是AIO-3568J
./build.sh aio-3568j-ubuntu.mk
./build.sh

但是您之前在另一个帖子里这么说过:

什么板型就使用什么配置文件,不能使用 firefly-rk3568-buildroot.mk ,这个是共用的配置文件,缺少dts,不完整
你后面的所有问题都是因为选错了配置文件,是 AIO-3568J 的板子就用 aio-3568j 开头的配置文件
不需要摄像头和屏幕你不接就行了

所以编译ubuntu的时候,不另外选择dts也可以吗?
另外,如果要额外选择dts,该选择下列哪一个好呢?
aio-3566-jd4-2cam-ubuntu.mk aio-3568j-mipi-2cam-ubuntu.mk ipc-m10r800-a3568j-ubuntu.mk roc-rk3568-pc-2cam-ubuntu.mk station-p2-ubuntu.mk
aio-3566-jd4-mipi-2cam-ubuntu.mk aio-3568j-mipi-ubuntu.mk roc-rk3566-pc-2cam-ubuntu.mk roc-rk3568-pc-mipi-2cam-ubuntu.mk
aio-3566-jd4-mipi-ubuntu.mk aio-3568j-ubuntu.mk roc-rk3566-pc-mipi-2cam-ubuntu.mk roc-rk3568-pc-mipi-ubuntu.mk
aio-3566-jd4-ubuntu.mk firefly-rk3566-ubuntu.mk roc-rk3566-pc-mipi-ubuntu.mk roc-rk3568-pc-ubuntu.mk
aio-3568j-2cam-ubuntu.mk firefly-rk3568-ubuntu.mk roc-rk3566-pc-ubuntu.mk station-m2-ubuntu.mk

dts 已经写在所有板级 mk 文件内 (板子型号开头的mk文件)
编译固件只需要选择 mk 文件
第一步选择mk
./build.sh aio-3568j-ubuntu.mk (表示 AIO-3568J 板子,HDMI,默认单目摄像头)
第二步编译
./build.sh

你LED无法控制是因为你编译前选择了 ./build.sh roc-rk3568-pc-ubuntu.mk
编译生成的是 ROC-RK3568-PC 的固件。不是 AIO-3568J

如果你新增了 dts 文件,并且你想使用新增的 dts ,那么就要将 mk 文件里改为你新增的 dts
并且在编译前选择你改动过的 mk 文件
至于改哪个 mk 文件,随意,建议改基础的 aio-3568j-ubuntu.mk
新增 dts 后还要注意复制一份电源域
https://wiki.t-firefly.com/Core-3568J/faqs.html#kernel-bian-yi-dan-chu-io-domain-checklist-dui-hua-kuang