diff --git a/pdf/rk3588_guide.pdf b/pdf/rk3588_guide.pdf index d5915f2..fb81c03 100644 Binary files a/pdf/rk3588_guide.pdf and b/pdf/rk3588_guide.pdf differ diff --git a/rk3588_guide.pdf b/rk3588_guide.pdf index d5915f2..fb81c03 100644 Binary files a/rk3588_guide.pdf and b/rk3588_guide.pdf differ diff --git a/rk3588_guide.tex b/rk3588_guide.tex index 03ce54c..3f7d383 100644 --- a/rk3588_guide.tex +++ b/rk3588_guide.tex @@ -168,6 +168,7 @@ \setCJKfamilyfont{kxfull}{KangXiFontFullVersion} \newcommand{\kx}{\CJKfamily{kxfull}} +\newcommand{\zhsquote}[1]{{\kx「}#1{\kx」}} % vhistory \renewcommand{\vhhistoryname}{修订记录} \renewcommand{\vhversionname}{版本变更} diff --git a/tex/build.tex b/tex/build.tex index fb82aa8..544f005 100644 --- a/tex/build.tex +++ b/tex/build.tex @@ -3,7 +3,7 @@ \section{开发环境搭建} 主机系统推荐使用 Ubuntu >= 20.04 的版本。 -\subsection{工具链获取} +\subsection{编译器和下载工具} 从公司共享目录获取 RK3588 的编译工具:\\ \texttt { \small @@ -12,6 +12,36 @@ 下载后用放在 linux 系统下,用命令解压: \shellcmd{bash}{tar xpvf gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz} +下载 USB 的烧写程序和驱动程序文件:\\ +\texttt { +\small +\textbackslash{}\textbackslash{}192.168.1.202\textbackslash{}常用工具\textbackslash{}2.开发工具\textbackslash{}RK3588\textbackslash{}RkDevTool。 +} \\ +其目录结构如下: +\begin{figure}[H] + \centering +\begin{tikzpicture} + \node [anchor=south west, inner sep=0] (tree) at (0,0) { +\begin{tcolorbox}[colframe=gray!20] + \begin{small} +\begin{Verbatim} +├── RKDevTool_Release_v2.96 +│   ├── Language +│   ├── Log +│   └── bin +├── driver +└── rockdev +\end{Verbatim} +\end{small} +\end{tcolorbox} + }; +\end{tikzpicture} +\caption{RkDevTool 目录} +\end{figure} +用于烧写的程序文件放在 rockdev 目录下面。双击\\ +\verb+RKDevTool_Release_v2.96\RKDevTool.exe+ +程序,连接 USB 线来更新固件程序,运行界面如图 \ref{fig:rkdevtool} 所示。 + \subsection{U-Boot 代码下载} U-Boot 源代码在这里:\\ \texttt { @@ -49,7 +79,7 @@ rk3588 \end{tcolorbox} }; \end{tikzpicture} -\caption{目录结构} +\caption{代码目录结构} \end{figure} @@ -238,3 +268,52 @@ U-Boot 和 Kernel 使用的都是 boot.img 里面的 DTB 文件。设备树文 \end{figure} 开始查看,它会通过 \verb+include+ 指令引入别的文件。新项目建议从 \verb+rk3588-sytc-evb.dtsi+ 复制 并从命令一个文件,然后 \verb+include+ 如注释掉的 \verb+rk3588-sytc-hrgz.dtsi+ 一样。 + +\section{rootfs.img 修改} + +rootfs.img 是一个 ext4 文件系统格式的文件,可以通过 mount 的方式挂载到系统下进行修改。由于这个文件给的剩余空间比较小, +直接修改的方式可能会报失败。这里的示例是将文件先复制出来,按需修改好文件系统以后再重新做一个 ext4 的打包文件。 + +%\subsection{rootfs.img 修改} +可以按下面的步骤进行修改: +\begin{enumerate}[(1),nosep] +\item 将 rootfs.img 挂载到系统下,例如: +\shellcmd{bash}{sudo mount -o loop rootfs.img /media} +\item 将 rootfs 的内容复制出来: +\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} +sudo mkdir rootfs +sudo cp -a /media/* rootfs/ +sudo umount /media +\end{minted} +\item chroot 到 rootfs 的文件系统: +\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{pwsh} +sudo mount -o bind /proc rootfs/proc +sudo mount -o bind /dev rootfs/dev +sudo mount -o bind /sys rootfs/sys +sudo chroot rootfs /bin/bash +\end{minted} +\item 安装新的软件包,例如: +\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} +apt-get update +apt-get install tcpdump +\end{minted} +\item 安装所需软件以后,清理临时文件并退出 chroot 环境: +\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} +apt-get clean +exit +\end{minted} +\item 卸载 bind 的文件系统: +\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} +sudo umount rootfs/proc +sudo umount rootfs/dev +sudo umount rootfs/sys +\end{minted} +\item 重新打包文件系统: +\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} +IMAGE_SIZE_MB=$(( $(sudo du -sh -m rootfs | cut -f1) + 300 )) +dd if=/dev/zero of=rootfs.img bs=1M count=0 seek=${IMAGE_SIZE_MB} +sudo mkfs.ext4 -d rootfs rootfs.img +\end{minted} +\end{enumerate} + +文件系统里面的 root 用户密默认是 \zhsquote{root}。 \ No newline at end of file diff --git a/tex/deploy.tex b/tex/deploy.tex index 486054a..f950a4b 100644 --- a/tex/deploy.tex +++ b/tex/deploy.tex @@ -1,16 +1,17 @@ \chapter{系统安装} \section{烧写系统文件} -电脑需要安装瑞芯微的 USB 驱动程序。接上 USB 线,运行 TKDevTool.exe,上电进入 maskrom 模式: -\begin{figure}[H] +电脑需要安装瑞芯微的 USB 驱动程序。接上 USB 线,运行 \\ +RKDevTool.exe 程序,然后上电进入 maskrom 模式: +\begin{figure}[H] \centering \includegraphics[width=\textwidth]{burn.png} - \caption{RKDevTooL 配置} + \caption{RKDevTooL 配置}\label{fig:rkdevtool} \end{figure} \section{配置系统} -在调试串口上按住 {\kx「}CTRL-C{\kx」}并上电开机,将调试串口停止在 U-Boot 的命令行上, -用 {\kx「}\textcolor{blue!80}{\tt setsn}{\kx」},将板卡的编号设置进去,例如: +在调试串口上按住 \zhsquote{CTRL-C}并上电开机,将调试串口停止在 U-Boot 的命令行上, +用 \zhsquote{\textcolor{blue!80}{\tt setsn}},将板卡的编号设置进去,例如: \begin{figure}[H] \centering diff --git a/tex/resource.tex b/tex/resource.tex index cc97332..3f16ab1 100644 --- a/tex/resource.tex +++ b/tex/resource.tex @@ -188,7 +188,9 @@ RK35887路Camera连接情况如下图所示: \item split mode: 拆分成2个phy使用,分别为csi2\_dphy1(使用0/1 lane)、csi2\_dphy2(使用2/3 lane),dphy1\_hw 则拆分成csi2\_dphy4和csi2\_dphy5,每个phy最多支持2 lane。 \item 当dphy0\_hw使用full mode时,链路需要按照csi2\_dphy1这条链路来配置,但是节点名称csi2\_dphy1需要修改为csi2\_dphy0,软件上是通过phy的序号来区分phy使用的模式。dphy1\_hw同理。 \end{itemize} - \item 使用上述mipi phy节点,需要把对应的物理节点配置上(csi2\_dcphy0\_hw/csi2\_dcphy1\_hw/csi2\_dphy0\_hw/csi2\_dphy1\_hw)。 + \item 使用上述 mipi phy节点,需要把对应的物理节点 \\ + {csi2\_dcphy0\_hw/csi2\_dcphy1\_hw/csi2\_dphy0\_hw/csi2\_dphy1\_hw} \\ + 配置上。 \item 每个mipi phy都需要一个csi2模块来解析mipi协议,节点名称分别mipi0\_csi2 \textasciitilde{}mipi5\_csi2。 \item rk3588所有camera数据都需要通过vicap,再链接到isp。rk3588仅支持一个vicap硬件,这个 vicap支持同时输入6路mipi phy,及一路dvp数据,所以我们将vicap分化成rkcif\_mipi\_lvds \textasciitilde{}rkcif\_mipi\_lvds5、rkcif\_dvp等7个节点,各个节点的绑定关系需要严格按照框图的节点序号配置。 diff --git a/tex/ubuntu.tex b/tex/ubuntu.tex index c87bc8f..f10e5de 100644 --- a/tex/ubuntu.tex +++ b/tex/ubuntu.tex @@ -65,7 +65,7 @@ echo "127.0.0.1 sytc" >> /etc/hosts \begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} dpkg-reconfigure dash \end{minted} -选择{\kx “}NO{\kx ”}。 +选择 ``NO''。 \item 配置 locals: \begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} dpkg-reconfigure locales diff --git a/tex/upgrade.tex b/tex/upgrade.tex index 657b828..371fc1b 100644 --- a/tex/upgrade.tex +++ b/tex/upgrade.tex @@ -21,7 +21,7 @@ 这里一个扇区的大小是 512 字节。 \section{U-Boot 网络升级} -开机时在调试串口上按住 {\kx「}CTRL-C{\kx」},串口打印将停止在 U-Boot 的命令行上。 +开机时在调试串口上按住 \zhsquote{CTRL-C},串口打印将停止在 U-Boot 的命令行上。 \subsection{升级 uboot} \begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} @@ -54,52 +54,3 @@ eth1: 192.168.2.80 root 密码: root \end{comment} - -\section{根文件系统} - -rootfs.img 是一个 ext4 文件系统格式的文件,可以通过 mount 的方式挂载到系统下进行修改。由于这个文件给的剩余空间比较小, -直接修改的方式可能会报失败。这里的示例是将文件先复制出来,按需修改好文件系统以后再重新做一个 ext4 的打包文件。 - -\subsection{rootfs.img 修改} -可以按下面的步骤进行修改: -\begin{enumerate}[(1),nosep] -\item 将 rootfs.img 挂载到系统下,例如: -\shellcmd{bash}{sudo mount -o loop rootfs.img /media} -\item 将 rootfs 的内容复制出来: -\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} -sudo mkdir rootfs -sudo cp -a /media/* rootfs/ -sudo umount /media -\end{minted} -\item chroot 到 rootfs 的文件系统: -\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{pwsh} -sudo mount -o bind /proc rootfs/proc -sudo mount -o bind /dev rootfs/dev -sudo mount -o bind /sys rootfs/sys -sudo chroot rootfs /bin/bash -\end{minted} -\item 安装新的软件包,例如: -\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} -apt-get update -apt-get install tcpdump -\end{minted} -\item 安装所需软件以后,清理临时文件并退出 chroot 环境: -\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} -apt-get clean -exit -\end{minted} -\item 卸载 bind 的文件系统: -\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} -sudo umount rootfs/proc -sudo umount rootfs/dev -sudo umount rootfs/sys -\end{minted} -\item 重新打包文件系统: -\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{bash} -IMAGE_SIZE_MB=$(( $(sudo du -sh -m rootfs | cut -f1) + 300 )) -dd if=/dev/zero of=rootfs.img bs=1M count=0 seek=${IMAGE_SIZE_MB} -sudo mkfs.ext4 -d rootfs rootfs.img -\end{minted} -\end{enumerate} - -文件系统里面的 root 用户密默认是 {\kx「}root{\kx」}。 \ No newline at end of file