Difference between revisions of "VEYE MIPI 327 for Nano Pi 4 ubuntu/zh"
(→概述) |
|||
Line 4: | Line 4: | ||
===概述=== | ===概述=== | ||
+ | 本文主要介绍如何在NanoPi4平台使用VEYE-MIPI-327摄像头模组。本文兼容的NanoPi M4、NanoPi NEO4、NanoPi T4,以NanoPi M4为例进行介绍。 | ||
+ | |||
+ | RK3399是Rockchip的一个开源芯片平台,应用广泛。我们开发使用的SDK是linuxsdk-friendlyelec-20190903版本,系统启动方式本文以SD卡启动为例。 | ||
===硬件准备及安装=== | ===硬件准备及安装=== | ||
+ | 系统安装如图所示。我们有专门的RK3399平台套装。具体参数请参考:'''[[VEYE-MIPI-290RK/VEYE-MIPI-327RK Data Sheet/zh|VEYE-MIPI-327RK数据手册]]。'''[[File:Veye nano pi OverAll.jpg|center|thumb|602x602px|VEYE-MIPI-327 摄像头模组与NanoPi M4板连接示意图|link=http://wiki.veye.cc/index.php/File:Veye_nano_pi_OverAll.jpg]][[File:VEYEWiring scheme00 副本12.jpg|center|thumb|602x602px|NanoPi M4板插接示意图|link=http://wiki.veye.cc/index.php/File:VEYEWiring_scheme00_%E5%89%AF%E6%9C%AC12.jpg]][[File:Veye nano piWiring scheme01.jpg|center|thumb|596x596px|VEYE-MIPI-290/327 摄像头模组插接示意图|link=http://wiki.veye.cc/index.php/File:Veye_nano_piWiring_scheme01.jpg]] | ||
+ | |||
+ | 注:NanoPi M4板的MIPI-CSI2接口说明 | ||
+ | {| class="wikitable" | ||
+ | !接口 | ||
+ | !I2C | ||
+ | !DPHY | ||
+ | !facing | ||
+ | !复用 | ||
+ | |- | ||
+ | |MIPI-CSI1 | ||
+ | |1 | ||
+ | |RX0 | ||
+ | |back | ||
+ | |NA | ||
+ | |- | ||
+ | |MIPI-CSI2 | ||
+ | |2 | ||
+ | |RX1 | ||
+ | |front | ||
+ | |TX1<br /> | ||
+ | |} | ||
===使用编译好的整体镜像更新NanoPi4系统=== | ===使用编译好的整体镜像更新NanoPi4系统=== | ||
+ | |||
+ | * 下载系统镜像文件 | ||
+ | |||
+ | 我们在friendlyelec-20190903版本的SD卡烧写镜像基础上,制作了支持VEYE摄像头模组的镜像。点击[https://pan.baidu.com/s/1sWrcfEOivjuQ7T7P5bVcng#list/path=%2Fveye_mipi%E8%B5%84%E6%96%99%2Fnanopim4image 链接]下载。 | ||
+ | |||
+ | * 烧录镜像文件 | ||
+ | |||
+ | 利用SD Card Formatter软件将micro SD卡格式化(格式化前有必要将需要的文件进行备份),将下载后的压缩文件解压为rk3399-sd-friendlydesktop-bionic-4.4-arm64-20200110.img。 | ||
+ | |||
+ | 使用win32diskimager软件将解压后的镜像文件写入micro SD卡。 | ||
+ | |||
+ | 具体烧写过程和方法,可以参考[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4/zh#.E5.87.86.E5.A4.87.E5.B7.A5.E4.BD.9C 链接]。 | ||
===使用源码更新NanoPi4系统=== | ===使用源码更新NanoPi4系统=== | ||
+ | 本章节为如何使用源码更新系统固件的说明。主要涉及两部分,kernel和dtb。客户可参考此部分章节将VEYE-MIPI-327的驱动移植到其他RK3399的主板上。 | ||
+ | |||
+ | ====开发环境准备==== | ||
+ | |||
+ | * 安装编译工具链 | ||
+ | |||
+ | RK3399采用的是标准linaro编译工具链。参考[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4/zh#.E5.A6.82.E4.BD.95.E7.BC.96.E8.AF.91.E7.B3.BB.E7.BB.9F 链接]安装编译工具链。也可以参考Rockchip官方资料安装编译工具链。 | ||
+ | |||
+ | * 下载kernel源码 | ||
+ | |||
+ | 有三种方案进行kernel源码的获取。 | ||
+ | |||
+ | # 使用friendlyarm提供的linuxsdk-friendlyelec完整开发包。下载链接:http://download.friendlyarm.com/NanoPiM4<nowiki/>。 | ||
+ | # 从friendlyarm的官方github获取。 | ||
+ | # 从rockchip的官方github获取。 | ||
+ | |||
+ | 我们采用第一种方案。 | ||
+ | |||
+ | <code>tar -xvf linuxsdk-friendlyelec-20190903.tar</code> | ||
+ | |||
+ | <code>.repo/repo/repo sync -l</code> | ||
+ | |||
+ | * 下载我们提供的驱动 | ||
+ | |||
+ | 从我们提供的github地址下载源码,下载链接:https://github.com/veyeimaging/rk3399_veye_dimaging_bsp<nowiki/>。 | ||
+ | |||
+ | <code>git clone [https://github.com/veyeimaging/rk3399_veye_dimaging_bsp https://github.com/veyeimaging/rk3399_veye_dimaging_bsp.git]</code> | ||
+ | |||
+ | ====使用编译好的Image和DTB==== | ||
+ | 我们提供了NanoPi M4主板的resource.img和kernel.img,可以分区烧写提高速度。sd-fuse_rk3399详细方法请参考Readme。 | ||
+ | |||
+ | 使用方法如下: | ||
+ | |||
+ | * 下载sd-fuse_rk3399 | ||
+ | |||
+ | <code>git clone https://github.com/friendlyarm/sd-fuse_rk3399<nowiki/>.git</code> | ||
+ | |||
+ | * 下载friendlydesktop-arm64-images.tgz | ||
+ | |||
+ | 下载链接:http://download.friendlyarm.com/NanoPiM4<nowiki/>下,images-for-eflasher目录找到对应文件,下载。 | ||
+ | |||
+ | <code>tar -xzvf friendlydesktop-arm64-images.tgz -C sd-fuse_rk3399</code> | ||
+ | |||
+ | * 替换文件和动态烧写 | ||
+ | |||
+ | <code>tar -xzvf rk3399_veye_dimaging_bsp/ubuntu/platform/friendlyarm_nanopi4/images/kernel.img.tar.gz -C ./sd-fuse_rk3399/friendlydesktop-arm64/</code> | ||
+ | |||
+ | <code>tar -xzvf rk3399_veye_dimaging_bsp/ubuntu/platform/friendlyarm_nanopi4/images/resource.img.tar.gz -C ./sd-fuse_rk3399/friendlydesktop-arm64/ </code> | ||
+ | |||
+ | <code>cp rk3399_veye_dimaging_bsp/ubuntu/platform/friendlyarm_nanopi4/images/update_partmap.txt ./sd-fuse_rk3399/friendlydesktop-arm64/</code> | ||
+ | |||
+ | 将micro SD卡通过TF卡转USB工具,插到开发Host PC上。通过以下命令,可以只进行升级,而不是整个卡进行烧写,速度比较快。 | ||
+ | |||
+ | <code>cd ./sd-fuse_rk3399/</code> | ||
+ | |||
+ | <code>sudo ./tools/sd_update -d /dev/sdb -p ./friendlydesktop-arm64/update_partmap.txt</code> | ||
+ | |||
+ | ====使用源码进行编译==== | ||
+ | |||
+ | * 将我们的驱动文件放到对应kernel目录下 | ||
+ | |||
+ | <code>cp rk3399_veye_dimaging_bsp/ubuntu/drivers_source/VEYE-MIPI-327/veye327.c ~/linuxsdk-friendlyelec/kernel/drivers/media/i2c/</code> | ||
+ | |||
+ | <code>cp rk3399_veye_dimaging_bsp/ubuntu/drivers_source/Makefile ~/linuxsdk-friendlyelec/kernel/drivers/media/i2c/</code> | ||
+ | |||
+ | <code>cp rk3399_veye_dimaging_bsp/ubuntu/drivers_source/Kconfig ~/linuxsdk-friendlyelec/kernel/drivers/media/i2c/</code> | ||
+ | |||
+ | * 增加编译选项 | ||
+ | |||
+ | cd <code>~/linuxsdk-friendlyelec/kernel</code> | ||
+ | |||
+ | <code>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 nanopi4_linux_defconfig</code> | ||
+ | |||
+ | <code>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 menuconfig</code> | ||
+ | |||
+ | 增加CONFIG_VIDEO_VEYE327选项。 | ||
+ | |||
+ | <code>make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 nanopi4-images</code> | ||
− | + | <code>cp kernel.img resource.img ~/sd-fuse_rk3399/friendlydesktop-arm64/</code> | |
− | ==== | + | ====动态升级==== |
+ | 将micro SD卡通过TF卡转USB工具,插到开发Host PC上。通过以下命令,可以只进行升级,而不是整个卡进行烧写,速度比较快。 | ||
− | + | <code>cd ./sd-fuse_rk3399/</code> | |
− | + | <code>sudo ./tools/sd_update -d /dev/sdb -p ./friendlydesktop-arm64/update_partmap.txt</code> | |
===应用和测试=== | ===应用和测试=== | ||
===参考资料=== | ===参考资料=== |
Revision as of 16:56, 11 January 2020
如何在友善之臂的NanoPi4平台(RK3399)使用VEYE-MIPI-327摄像头模组(ubuntu)
1 概述
本文主要介绍如何在NanoPi4平台使用VEYE-MIPI-327摄像头模组。本文兼容的NanoPi M4、NanoPi NEO4、NanoPi T4,以NanoPi M4为例进行介绍。
RK3399是Rockchip的一个开源芯片平台,应用广泛。我们开发使用的SDK是linuxsdk-friendlyelec-20190903版本,系统启动方式本文以SD卡启动为例。
2 硬件准备及安装
系统安装如图所示。我们有专门的RK3399平台套装。具体参数请参考:VEYE-MIPI-327RK数据手册。
注:NanoPi M4板的MIPI-CSI2接口说明
接口 | I2C | DPHY | facing | 复用 |
---|---|---|---|---|
MIPI-CSI1 | 1 | RX0 | back | NA |
MIPI-CSI2 | 2 | RX1 | front | TX1 |
3 使用编译好的整体镜像更新NanoPi4系统
- 下载系统镜像文件
我们在friendlyelec-20190903版本的SD卡烧写镜像基础上,制作了支持VEYE摄像头模组的镜像。点击链接下载。
- 烧录镜像文件
利用SD Card Formatter软件将micro SD卡格式化(格式化前有必要将需要的文件进行备份),将下载后的压缩文件解压为rk3399-sd-friendlydesktop-bionic-4.4-arm64-20200110.img。
使用win32diskimager软件将解压后的镜像文件写入micro SD卡。
具体烧写过程和方法,可以参考链接。
4 使用源码更新NanoPi4系统
本章节为如何使用源码更新系统固件的说明。主要涉及两部分,kernel和dtb。客户可参考此部分章节将VEYE-MIPI-327的驱动移植到其他RK3399的主板上。
4.1 开发环境准备
- 安装编译工具链
RK3399采用的是标准linaro编译工具链。参考链接安装编译工具链。也可以参考Rockchip官方资料安装编译工具链。
- 下载kernel源码
有三种方案进行kernel源码的获取。
- 使用friendlyarm提供的linuxsdk-friendlyelec完整开发包。下载链接:http://download.friendlyarm.com/NanoPiM4。
- 从friendlyarm的官方github获取。
- 从rockchip的官方github获取。
我们采用第一种方案。
tar -xvf linuxsdk-friendlyelec-20190903.tar
.repo/repo/repo sync -l
- 下载我们提供的驱动
从我们提供的github地址下载源码,下载链接:https://github.com/veyeimaging/rk3399_veye_dimaging_bsp。
git clone https://github.com/veyeimaging/rk3399_veye_dimaging_bsp.git
4.2 使用编译好的Image和DTB
我们提供了NanoPi M4主板的resource.img和kernel.img,可以分区烧写提高速度。sd-fuse_rk3399详细方法请参考Readme。
使用方法如下:
- 下载sd-fuse_rk3399
git clone https://github.com/friendlyarm/sd-fuse_rk3399.git
- 下载friendlydesktop-arm64-images.tgz
下载链接:http://download.friendlyarm.com/NanoPiM4下,images-for-eflasher目录找到对应文件,下载。
tar -xzvf friendlydesktop-arm64-images.tgz -C sd-fuse_rk3399
- 替换文件和动态烧写
tar -xzvf rk3399_veye_dimaging_bsp/ubuntu/platform/friendlyarm_nanopi4/images/kernel.img.tar.gz -C ./sd-fuse_rk3399/friendlydesktop-arm64/
tar -xzvf rk3399_veye_dimaging_bsp/ubuntu/platform/friendlyarm_nanopi4/images/resource.img.tar.gz -C ./sd-fuse_rk3399/friendlydesktop-arm64/
cp rk3399_veye_dimaging_bsp/ubuntu/platform/friendlyarm_nanopi4/images/update_partmap.txt ./sd-fuse_rk3399/friendlydesktop-arm64/
将micro SD卡通过TF卡转USB工具,插到开发Host PC上。通过以下命令,可以只进行升级,而不是整个卡进行烧写,速度比较快。
cd ./sd-fuse_rk3399/
sudo ./tools/sd_update -d /dev/sdb -p ./friendlydesktop-arm64/update_partmap.txt
4.3 使用源码进行编译
- 将我们的驱动文件放到对应kernel目录下
cp rk3399_veye_dimaging_bsp/ubuntu/drivers_source/VEYE-MIPI-327/veye327.c ~/linuxsdk-friendlyelec/kernel/drivers/media/i2c/
cp rk3399_veye_dimaging_bsp/ubuntu/drivers_source/Makefile ~/linuxsdk-friendlyelec/kernel/drivers/media/i2c/
cp rk3399_veye_dimaging_bsp/ubuntu/drivers_source/Kconfig ~/linuxsdk-friendlyelec/kernel/drivers/media/i2c/
- 增加编译选项
cd ~/linuxsdk-friendlyelec/kernel
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 nanopi4_linux_defconfig
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 menuconfig
增加CONFIG_VIDEO_VEYE327选项。
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 nanopi4-images
cp kernel.img resource.img ~/sd-fuse_rk3399/friendlydesktop-arm64/
4.4 动态升级
将micro SD卡通过TF卡转USB工具,插到开发Host PC上。通过以下命令,可以只进行升级,而不是整个卡进行烧写,速度比较快。
cd ./sd-fuse_rk3399/
sudo ./tools/sd_update -d /dev/sdb -p ./friendlydesktop-arm64/update_partmap.txt