You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

194 lines
7.6 KiB

%\begin{content}
%「」
\chapter{文件烧写}
新生产 flash 没有烧写任何程序的板子需要找支撑部的同事先烧一个 bootloader。在有 bootloader 的环境下可以用 tftp 烧写 reworks 和 app 程序。
在有 reworks 的环境下也可以在 reworks 系统中更新各个文件。
\section{bootloader 下烧写}
在上电过程中不断敲击 「Enter」 键,当出现 「Waiting for the password:」 时,在 1 秒内输入密码 「\texttt{zmd}」:
\begin{figure}[H]
\centering
\begin{tikzpicture}
\node [anchor=south west, inner sep=0] (pwd) at (0, 0) {\includegraphics[width=0.7\textwidth]{ar18_passwd}};
\begin{scope}[x={(pwd.south east)}, y = {(pwd.north west)}]
% \draw [help lines, xstep=.1, ystep=.1] (0, 0) grid (1, 1);
\node [red, anchor=west] at (0.7, 0.2) {\tiny (密码:zmd)};
\end{scope}
\end{tikzpicture}
\caption{U-Boot password}
\end{figure}
U-Boot 会停止在 \textcolor{blue!60}{ [FT2004 Boot]}提示符。
按在[FT2004 Boot] 提示符上按 「c」, 可以修改网络配置参数:
\begin{figure}[H]
\centering
\begin{tikzpicture}
\node [anchor=south west, inner sep=0] (boot) at (0,0) {
\begin{tcolorbox}
\begin{small}
\begin{Verbatim}
[FT2004 Boot]: c
'.' = clear field; '-' = go to previous field; ^D = quit
boot device : gmac0
processor number : 0
host name : host
file name : reworks.elf
inet on ethernet (e) : 192.168.100.10 172.16.80.60
inet on ethernet (e1):
inet on backplane (b):
host inet (h) : 192.168.100.109 172.16.80.5
gateway inet (g) :
user (u) : zmd
ftp password (pw) (blank = use rsh): zmd
flags (f) : 0x0
target name (tn) :
startup script (s) :
other (o) :
Saving Environment to SPI Flash... lhl:done
[FT2004 Boot]:
\end{Verbatim}
\end{small}
\end{tcolorbox}
};
\begin{scope}[x={(boot.south east)}, y = {(boot.north west)}]
% \draw [help lines, xstep=.1, ystep=.1] (0, 0) grid (1, 1);
\draw [red, thick, rounded corners] (0.555, 0.58) rectangle (0.74, 0.64);
\node [anchor=south west, red] at (0.75, 0.58) {\scriptsize 板子 IP };
\draw [red, thick, rounded corners] (0.568, 0.455) rectangle (0.743, 0.515);
\node [anchor=south west, red] at (0.75, 0.45) {\scriptsize tftp 服务器 IP };
\end{scope}
\end{tikzpicture}
\caption{修改网络参数}
\end{figure}
配置时注意以下几点:
\begin{enumerate}[(1)]
\item\texttt{inet on ethernet (e)}」 配置的是板子的 IP 地址。
\item\texttt{host inet (h)}」 配置的是 tftp 服务器端的 IP 地址。
\end{enumerate}
%「」
\subsection{tftp 服务器配置 「tftp32.exe」}
该项目在 U-Boot 下默认使用 tftp 下载文件。具体是用 tftp 还是 ftp 协议,可以在 U-Boot
\footnote{在 [FT2004 Boot] 提示符的界面,输入命令 q,可进入 U-Boot 命令行。} 的命令行上用 「printenv update\_tool」 可查看
update\_tool 环境变量的值,其默认值是 tftpboot\footnote{用 wftpd 工具升级,需要将其改为 ftpboot: \mintinline[fontsize=\scriptsize]{sh}{setenv update_tool ftpboot; saveenv}}
tftp 服务器可选用 tftpd32.exe 程序,打开后其界面如下:
\begin{figure}[H]
\centering
\includegraphics[width=0.7\textwidth]{ar18_tftp32}
\caption{tftpd32 配置}
\end{figure}
点击 \textcolor{red}{\ding{192}} 处的按钮,选择文件所在的目录;点击 \textcolor{red}{\ding{193}} 处的按钮
选择正确的网络接口 IP 地址。
\subsection{tftp 服务器配置 「ReDe 自带 tftpd」}
ReDe 开发环境自带一个 tftp 服务器,在工程相应目录点右键,选择``配置 TFTP 服务器路径'',如下图所示:
\begin{figure}[H]
\centering
\includegraphics[width=0.6\textwidth]{ar18_tftp}
\caption{自带 tftp 服务配置}
\end{figure}
\subsection{U-Boot 下更新文件}
在 [FT2004 Boot] 提示符下输入 \textcolor{blue!50}{\ttfamily u AppRun.out} 命令:
\begin{minted}[bgcolor=lightgray!30,fontsize=\small]{bash}
[FT2004 Boot]:u AppRun.out
\end{minted}
升级 AppRun 用户程序。
在 [FT2004 Boot] 提示符下输入 \textcolor{blue!50}{\ttfamily u reworks.elf} 命令:
\begin{minted}[bgcolor=lightgray!30,fontsize=\small]{bash}
[FT2004 Boot]:u reworks.elf
\end{minted}
升级 reworks 系统文件。
在 [\texttt{FT2004 Boot}] 提示符下输入 \textcolor{blue!50}{\ttfamily u bootloader.bin} 命令:
\begin{minted}[bgcolor=lightgray!30,fontsize=\small]{bash}
[FT2004 Boot]:u bootloader.bin
\end{minted}
升级引导文件。
\begin{comment}
\section{Reworks 系统下烧写}
在 reworks 系统下更新需要 ftp 工具,在代码树目录的 Tools 目录下有 wftpd32.exe。
\subsection{ftp 服务器配置}
打开 wftpd.exe 程序,点击 「Security」 => 「Users/rights...」:
\begin{figure}[H]
\centering
\includegraphics[width=0.7\textwidth]{ar18_wftpd}
\caption{wftpd 配置(1)}
\end{figure}
点击之后出现如下界面:
\begin{figure}[H]
\centering
\begin{tikzpicture}
\node [anchor=south west, inner sep=0] (pwd) at (0, 0) {\includegraphics[width=0.7\textwidth]{ar18_wusers}};
\begin{scope}[x={(pwd.south east)}, y = {(pwd.north west)}]
% \draw [help lines, xstep=.1, ystep=.1] (0, 0) grid (1, 1);
\node [red, anchor=west] at (0.30, 0.5) {\small \ding{172}};
\end{scope}
\end{tikzpicture}
\caption{wftpd 配置(2)}
\end{figure}
点击 \textcolor{red}{\ding{172}} 处的 「New User...」 按钮新建一个用户名和密码都是「zmd」(默认)的用户:
\begin{figure}[H]
\centering
\begin{tikzpicture}
\node [anchor=south west, inner sep=0] (user) at (0, 0) {\includegraphics[width=0.7\textwidth]{ar18_uzmd}};
\begin{scope}[x={(user.south east)}, y = {(user.north west)}]
% \draw [help lines, xstep=.1, ystep=.1] (0, 0) grid (1, 1);
\fill [white] (0.315, 0.39) rectangle (0.47,0.432);
\node [red] at (0.4, 0.414) {\small \ding{173}};
\node [red] at (0.75, 0.61) {\small \ding{174}};
% \node [red, anchor=west] at (0.30, 0.5) {\small \ding{172}};
\end{scope}
\end{tikzpicture}
\caption{wftpd 配置(3)}
\end{figure}
\textcolor{red}{\ding{173}} 填写文件放置的目录路径,然后点击 \textcolor{red}{\ding{174}} 按钮完成 wftpd 服务器的配置。
\end{comment}
\section{Reworks 下更新文件}
Reworks 系统下可以使用下面命令,通过 tftp 程序,先在主机上配置好 tftp 服务器,然后在 tftp
服务上的根目录下存放升级文件:
\begin{table}[H]
\centering
\begin{tabular}{lll}
\toprule
命令 & 文件名 & 功能 \\
\midrule
updateApp & AppRun.out & 用户程序 \\
updateOs & reworks.elf & 操作系统文件 \\
updateFpga & fpga.bin & FPGA 程序 \\
\bottomrule
\end{tabular} \caption{tftp 服务器目录文件}
\end{table}
在 reworks> 提示符下输入 \textcolor{blue!50}{updateApp} \footnote{擦除 App 用: \texttt{eraseApp}} 命令:
\begin{minted}[bgcolor=lightgray!30,fontsize=\small]{bash}
reworks> updateApp
\end{minted}
升级 AppRun 用户程序。
在 reworks> 提示符下输入 \textcolor{blue!50}{updateOs} 命令:
\begin{minted}[bgcolor=lightgray!30,fontsize=\small]{bash}
reworks> updateOs
\end{minted}
升级 reworks 系统文件。
在 reworks> 提示符下输入 \textcolor{blue!50}{updateFpga} 命令:
\begin{minted}[bgcolor=lightgray!30,fontsize=\small]{bash}
reworks> updateFpga
\end{minted}
升级 FPGA 程序。
%「」
% Local Variables:
% TeX-master: "../ar18_guide"
% End: