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.
140 lines
5.8 KiB
140 lines
5.8 KiB
%\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 <install\_path>/LabTools/LabTools/lib/nt64/libPortability.dll} 复制为 \texttt{\small libPortability.dll.orig} (备份该文件)。
|
|
\item 将 \texttt{\small <install\_path>/LabTools/LabTools/lib/nt64/libPortabilityNOSH.dll} 复制为 \texttt{\small libPortability.dll} 。
|
|
\item 将 \texttt{\small <install\_path>/LabTools/LabTools/lib/nt64/libPortabilityNOSH.dll} 复制为 \texttt{\small <install\_path>/LabTools/common/lib/nt64/libPortabilityNOSH.dll}。
|
|
\item 将 \texttt{\small <install\_path>/LabTools/common/lib/nt64/libPortability.dll} 复制为 \\%
|
|
\texttt{\small libPortability.dll.orig} (备份该文件)。
|
|
\item 将 \texttt{\small <install\_path>/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:
|
|
|