%\begin{content} \chapter{常见问题} \section{编译出的 bootloader.bin 文件过大} 在 Ubuntu 20.04 系统中编译 SBCFT2000M-AR18\_FT2004\_UBOOT 生成的文件文件过大(大于8M),正常的文件是 5M 多。 \texttt{ft2004\_packer/my\_scripts/fiptool\_x86} 依赖库文件 \texttt{libcrypto.so.1.0.0},它在 Ubuntu 20.04 以上系统中不存在。将库文件 \texttt{SBCFT2000M-AR18\_FT2004\_UBOOT/data/libcrypto.so.1.0.0} 放到\texttt{/usr/lib/x86\_64-linux-gnu} 目录下,执行命令重新编译 Uboot: \begin{minted}[bgcolor=lightgray!30,fontsize=\small]{bash} ./run clean ./run \end{minted} \section{FPGA 程序烧写} FLASH 使用的是成都蜀郡的 SJ25QW256,大小 32M。烧写需要使用 ISE14.7 的 IMPACT。在 windows 10 的电脑需要做一点修改。 可以只安装 ISE 套件里面的 labtools。安装后操作步骤如下: \begin{enumerate}[(1)] \item 将 \texttt{\small /LabTools/LabTools/lib/nt64/libPortability.dll} 复制为 \texttt{\small libPortability.dll.orig} (备份该文件)。 \item 将 \texttt{\small /LabTools/LabTools/lib/nt64/libPortabilityNOSH.dll} 复制为 \texttt{\small libPortability.dll} 。 \item 将 \texttt{\small /LabTools/LabTools/lib/nt64/libPortabilityNOSH.dll} 复制为 \texttt{\small /LabTools/common/lib/nt64/libPortabilityNOSH.dll}。 \item 将 \texttt{\small /LabTools/common/lib/nt64/libPortability.dll} 复制为 \\% \texttt{\small libPortability.dll.orig} (备份该文件)。 \item 将 \texttt{\small /LabTools/common/lib/nt64/libPortabilityNOSH.dll} 复制为 \texttt{\small libPortability.dll} 。 \item 从桌面的 「此电脑」 点右键选择 「属性」,依次点开 「高级系统设置」 => 「环境变量」 => 「系统环境变量」 => 「新建」,添加环境变量 \texttt{\small \textcolor{blue!80} {XIL\_IMPACT\_SKIPIDCODE}}, 其值为:\texttt{\small\textcolor{blue!80}{1}} 。 \item IMPACT 里面 spi flash 型号选择:\texttt{\small \textcolor{blue!80}{N25Q256}},数据宽度选 \texttt{\small \textcolor{blue!80}{4}}。 \end{enumerate} 在实际的使用过程中,发现用 platform usb jtag 仿真器是不成功的,用 HS2 jtag 仿真器能正常烧写。 \section{新板子 FPGA 不能访问} FPGA 与 FT2000 连接的 PCIE 接口需要先解锁才能使用,新板子刚烧上程序的时候,系统起来会报与逻辑连接的PCIE相关的错误。用 「授权管理工具」 连接串口,选 「自动授权」成功之后重启一下板子: \begin{figure}[H] \centering \includegraphics[width=0.9\textwidth] {ar18_unlock} \caption{fpga 解锁} \label{fig:fpgaunlock} \end{figure} \section{调试串口不能输入} \label{sec:dbg} 当调试串口线接在 sub板上,开机后,调试串口有打印输出,在 reworks 命令行不能正常输入。请检查sub 板上标有 「\textcolor{blue!80}{232使能}」 的 \textcolor{blue!80}{J20} 跳线插针,把跳线帽插上。 \section{清除超温参数} 在 uboot 的命令行上清除 \textcolor{blue!80}{therm\_high} 和 \textcolor{blue!80}{therm\_low} 环境变量: \begin{figure}[H] \centering \includegraphics[width=0.65\textwidth]{ar18_therm} \caption{清除超温参数} \end{figure} \section{FT2004 PCIE控制器LTSSM 状态寄存器} FT2000/4 内置两个PCIE单元(PCI-E Unit, PEU),分别为 PEU0 和 PEU1。每个PEU包含3个 控制器:C0、C1和C2。 PEU 基地址: \begin{table}[H] \centering \begin{tabular}{cc} \toprule PEU 单元& 基地址 \\ \midrule \texttt{PEU0} & \texttt{0x29100000} \\ \texttt{PEU1} & \texttt{0x29101000} \\ \bottomrule \end{tabular} \caption{PEU 基地址} \end{table} 控制器调试寄存器地址偏移: \begin{table}[H] \centering \begin{tabular}{ccc} \toprule 控制器 & 偏移 & 描述 \\ \midrule \texttt{C0} & \texttt{0x540} & \texttt{5:0 LTSSM} \\ \texttt{C1} & \texttt{0x550} & \texttt{5:0 LTSSM} \\ \texttt{C2} & \texttt{0x560} & \texttt{5:0 LTSSM} \\ \bottomrule \end{tabular} \caption{调试寄器偏移} \end{table} LTSSM 状态编码参考 PCIE 规范,如下表: %\begin{table}[H] % \centering %\begin{tabular}{lc} % \toprule % LTSSM State Name & Value(hex) \\ % \midrule % Detect.Quiet & 00 \\ % Detect.Active & 01 \\ % Polling.Active & 02 \\ % Polling.Compliance & 03 \\ % Polling.Configuration & 04 \\ % Configuration.Linkwidth.Start & 05 \\ % Configuration.Linkwidth.Accept & 06 \\ % Configuration.Lanenum.Accept & 07 \\ % Configuration.Lanenum.Wait & 08 \\ % Configuration.Complete & 09 \\ % Configuration.Idle & 0A \\ % Recovery.RcvrLock & 0B \\ % Recovery.Speed & 0C \\ % Recovery.RcvrCfg & 0D \\ % Recovery.Idle & 0E \\ % L0 & 10 \\ % Rx\_L0s.Entry & 11 \\ % Rx\_L0s.Idle & 12 \\ % Rx\_L0s.FTS & 13 \\ % Tx\_L0s.Entry & 14 \\ % Tx\_L0s.Idle & 15 \\ % Tx\_L0s.FTS & 16 \\ % L1.Entry & 17 \\ % L1.Idle & 18 \\ % L2.Idle & 19 \\ % L2.TRansmitWake & 1A \\ % Disabled & 20 \\ % Loopback.Entry(Master) & 21 \\ % Loopback.Active(Master) & 22 \\ % Loopback.Exit(Master) & 23 \\ % Loopback.Entry(Slave) & 24 \\ % Loopback.Active(Slave) & 25 \\ % \bottomrule %\end{tabular} %\caption{调试寄器偏移} %\end{table} \begin{figure}[H] \centering \includegraphics[width=0.85\textwidth]{ltssm} \caption{LTSSM 状态编码} \end{figure} % Local Variables: % TeX-master: "../ar18_guide" % End: