Toybrick

TB-RK3399ProD开发板imx258摄像头Linux适配

楼主
发表于 2021-11-26 17:07:53    查看: 22747|回复: 15 | [复制链接]    打印 | 只看该作者
目前TB-RK3399ProD开发板目前支持两款摄像头:ov13850和imx258。服务器上固件默认支持ov13850.
如果需要使用imx258的模组,有以下两种修改方式:
1、重新编译代码生成boot_linux.img
  • 下载内核代码
  • 修改rk3399pro-toybrick-prod-linux.dts里#include "rk3399pro-toybrick-isp1-ov13850.dtsi"修改为#inlcude  rk3399pro-toybrick-isp1-imx258.dtsi
  • ./make.sh linux prod 编译得到boot_linux.img.
  • 烧写发布的TB-RK3399ProD V3.0固件,替换掉上一步编译出来的boot_linux.img,
2、不编译代码直接替换dtb
  • 下载dtb文件,将dtb文件通过ssh方式传输到板子上。
  • 板子上执行:sudo cp /boot/extlinux/toybrick-imx258.dtb  /boot/extlinux/toybrick.dtb ,然后reboot重启。










回复

使用道具 举报

troy

版主

积分
2374
沙发
发表于 2021-11-29 08:56:40 | 只看该作者
本帖最后由 troy 于 2021-11-29 20:25 编辑

补充:当前V3.0里面imx258配置的模组I2C地址是0x10,新版的imx258模组的I2C地址是0x1a。如果是源码编译,可以打上附件中的patch,再按照上述流程编译生效。或者可以直接用编译好的dtb使用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

勇敢的小昭

注册会员

积分
148
板凳
发表于 2021-12-8 17:07:06 | 只看该作者
您好,我已经替换了dtb,测试imx258是可以的。我想问问hdmi转mipi,通过tc358743转接板,怎么配置?
回复

使用道具 举报

勇敢的小昭

注册会员

积分
148
地板
发表于 2021-12-9 09:42:40 | 只看该作者
勇敢的小昭 发表于 2021-12-8 17:07
您好,我已经替换了dtb,测试imx258是可以的。我想问问hdmi转mipi,通过tc358743转接板,怎么配置? ...

在tc358743.txt中查到如下配置信息,我应该怎么处理,或者能否再发一个支持的dtb,感谢:
tc358743@0f {
                compatible = "toshiba,tc358743";
                reg = <0x0f>;
                clocks = <&hdmi_osc>;
                clock-names = "refclk";
                reset-gpios = <&gpio6 9 GPIO_ACTIVE_LOW>;
                interrupt-parent = <&gpio2>;
                interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;

                port {
                        tc358743_out: endpoint {
                                remote-endpoint = <&mipi_csi2_in>;
                                data-lanes = <1 2 3 4>;
                                clock-lanes = <0>;
                                clock-noncontinuous;
                                link-frequencies = /bits/ 64 <297000000>;
                        };
                };
        };
回复

使用道具 举报

troy

版主

积分
2374
5#
发表于 2021-12-9 15:12:51 | 只看该作者
勇敢的小昭 发表于 2021-12-9 09:42
在tc358743.txt中查到如下配置信息,我应该怎么处理,或者能否再发一个支持的dtb,感谢:
tc358743@0f {
         ...

你是要同时使用hdmi_in和imx258吗,建议你自己拉源码编译。看一下make.sh你就清楚了。打上附件中的补丁,然后再去配置hdmi,编译完成把对应的dtb拷到板子上即可。
回复

使用道具 举报

勇敢的小昭

注册会员

积分
148
6#
发表于 2021-12-9 15:27:38 | 只看该作者
troy 发表于 2021-12-9 15:12
你是要同时使用hdmi_in和imx258吗,建议你自己拉源码编译。看一下make.sh你就清楚了。打上附件中的补丁, ...

我只要hdmi_in,我看安卓下的hdmi_in是可以的,但是在linux下,我用cheese或者guveview打开摄像头没办法接入hdmi视频。我一会儿看看源码,我对dts的配置还不太懂,我应该怎么配置hdmi呢?谢谢
回复

使用道具 举报

troy

版主

积分
2374
7#
发表于 2021-12-10 08:43:08 | 只看该作者
勇敢的小昭 发表于 2021-12-9 15:27
我只要hdmi_in,我看安卓下的hdmi_in是可以的,但是在linux下,我用cheese或者guveview打开摄像头没办法 ...

参考下安卓的dts配置吧。
回复

使用道具 举报

勇敢的小昭

注册会员

积分
148
8#
发表于 2021-12-17 11:37:33 | 只看该作者
您好,我下载编译遇到一个问题,提示dtb文件不存在
C:\Users\qpc\Desktop\编译错误.jpg
回复

使用道具 举报

勇敢的小昭

注册会员

积分
148
9#
发表于 2021-12-17 11:40:01 | 只看该作者
勇敢的小昭 发表于 2021-12-17 11:37
您好,我下载编译遇到一个问题,提示dtb文件不存在

我的截图没办法发送,补充下面的错误提示:
#
# configuration written to .config
#
make: execvp: ./scripts/gcc-wrapper.py: Permission denied
scripts/kconfig/conf  --silentoldconfig Kconfig
make: execvp: ./scripts/gcc-wrapper.py: Permission denied
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  HOSTCC  scripts/extract-cert
  CC      scripts/mod/empty.o
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[2]: *** [scripts/Makefile.build:278: scripts/mod/empty.o] Error 126
make[2]: *** Waiting for unfinished jobs....
  CC      scripts/mod/devicetable-offsets.s
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[2]: *** [scripts/Makefile.build:153: scripts/mod/devicetable-offsets.s] Error 126
make[1]: *** [scripts/Makefile.build:484: scripts/mod] Error 2
make[1]: *** Waiting for unfinished jobs....
  CHK     include/generated/utsrelease.h
  CHK     include/generated/timeconst.h
  CC      kernel/bounds.s
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[1]: *** [Kbuild:20: kernel/bounds.s] Error 126
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1090: prepare0] Error 2
make: *** Waiting for unfinished jobs....
make: *** [Makefile:590: scripts] Error 2
make: execvp: ./scripts/gcc-wrapper.py: Permission denied
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      scripts/mod/empty.o
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[2]: *** [scripts/Makefile.build:278: scripts/mod/empty.o] Error 126
make[2]: *** Waiting for unfinished jobs....
  CC      scripts/mod/devicetable-offsets.s
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[2]: *** [scripts/Makefile.build:153: scripts/mod/devicetable-offsets.s] Error 126
make[1]: *** [scripts/Makefile.build:484: scripts/mod] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:590: scripts] Error 2
make: execvp: ./scripts/gcc-wrapper.py: Permission denied
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CC      scripts/mod/empty.o
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[2]: *** [scripts/Makefile.build:278: scripts/mod/empty.o] Error 126
make[2]: *** Waiting for unfinished jobs....
  CHK     include/generated/utsrelease.h
  CC      scripts/mod/devicetable-offsets.s
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[2]: *** [scripts/Makefile.build:153: scripts/mod/devicetable-offsets.s] Error 126
make[1]: *** [scripts/Makefile.build:484: scripts/mod] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:590: scripts] Error 2
cp: cannot stat 'arch/arm64/boot/dts/rockchip/rk3399pro-toybrick-prod-linux-u2.dtb': No such file or directory
cp: cannot stat 'arch/arm64/boot/dts/rockchip/rk3399pro-toybrick-prod-linux-edp.dtb': No such file or directory
cp: cannot stat 'arch/arm64/boot/dts/rockchip/rk3399pro-toybrick-prod-linux-mipi.dtb': No such file or directory
cp: cannot stat 'arch/arm64/boot/dts/rockchip/rk3399pro-toybrick-prod-linux-imx258.dtb': No such file or directory
make: execvp: ./scripts/gcc-wrapper.py: Permission denied
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CC      scripts/mod/empty.o
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[2]: *** [scripts/Makefile.build:278: scripts/mod/empty.o] Error 126
make[2]: *** Waiting for unfinished jobs....
  CC      scripts/mod/devicetable-offsets.s
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[2]: *** [scripts/Makefile.build:153: scripts/mod/devicetable-offsets.s] Error 126
make[1]: *** [scripts/Makefile.build:484: scripts/mod] Error 2
make[1]: *** Waiting for unfinished jobs....
  CHK     include/generated/utsrelease.h
make: *** [Makefile:590: scripts] Error 2
make: *** Waiting for unfinished jobs....
make: execvp: ./scripts/gcc-wrapper.py: Permission denied
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      scripts/mod/empty.o
/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
make[2]: *** [scripts/Makefile.build:278: scripts/mod/empty.o] Error 126
make[1]: *** [scripts/Makefile.build:484: scripts/mod] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:590: scripts] Error 2
cp: cannot stat 'arch/arm64/boot/dts/rockchip/rk3399pro-toybrick-prod-linux.dtb': No such file or directory
cp: cannot stat 'arch/arm64/boot/dts/rockchip/rk3399pro-toybrick-prod-linux.dtb': No such file or directory
cp: cannot stat 'arch/arm64/boot/Image': No such file or directory
./make.sh: line 98: genext2fs: command not found
回复

使用道具 举报

troy

版主

积分
2374
10#
发表于 2021-12-20 09:03:27 | 只看该作者
勇敢的小昭 发表于 2021-12-17 11:40
我的截图没办法发送,补充下面的错误提示:
#
# configuration written to .config

/bin/sh: 1: ./scripts/gcc-wrapper.py: Permission denied
检查一下文件权限
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表