1. 程式人生 > >瑞芯微 RK3399 JTAG 配置指南

瑞芯微 RK3399 JTAG 配置指南

  RK3399的CPU採用big.LITTLE大小核架構,雙Cortex-A72大核+四Cortex-A53小核結構,對整數、浮點、記憶體等作了大幅優化,在整體效能、功耗及核心面積三個方面都具革命性提升。 RK3399的GPU採用四核ARM新一代高階影象處理器Mali-T860,整合更多頻寬壓縮技術:如智慧迭加、ASTC、本地畫素儲存等,還支援更多的圖形和計算介面,總體效能比上一代提升45%。

    盈鵬飛科技最新研發的RK3399安卓主機板,搭載了最新android7.1 系統,4G DDR3記憶體,32G EMMC 存諸等...RK3399開發板主機板尺寸為:146*102mm,設計有非常豐富的介面,板載5路UART,支援USB3.0高效能裝置介面, WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、乙太網等;可擴充套件模組包括4G模組、Camera(1300萬、500萬)等應用類功能模組。

     RK3399開發板為消費類電子、智慧終端、MID、無線通訊、醫療裝置、工業控制等行業產品的應用開發而設計,超強的視訊處理能力,超高清視訊輸出優勢,口豐富、效能穩定。支援Android\Linux\Ubuntu系統,軟體支援完善,開放原始碼適合企業二次開發帶高清顯示的商顯廣告機、自助售貨機、教育終端等,可降低研發門檻,縮短產品研發週期。

RK3399  JTAG 配置指南

RK3399 系統除錯架構,支援 JTAG/SW 和 TRACE_DATA 兩種輸出介面。 這裡主要介紹 JTAG/SW。

JTAG/SW 又分為兩種介面,5 線的 JTAG 介面和 2 線的 SW 介面。

JTAG 介面包括 TDO、TDI、TRST_N、TMS、TCK,SW 介面包括 TMS 和 TCK 兩根線。 如圖 1.2.1,Debug 的腳是和 SDMMC 複用的,硬體設計上可以直接將這些引腳連到

JTAG/SW 座子上,或者採用 TF 卡轉接板來連線。這兩種介面是晶片硬體自動識別和控制的,不需要軟體干預。即除錯軟體如 DS-5,若 TDO/TDI/TRST_N/TMS/TCK 全部連線,配置為 JTAG 或 SW 介面都能識別,如果只連線 TMS 和 TCK,則只能配置為 SW 介面,如下圖:

TF 卡轉接板

圖上的兩列單排針根據圖 1.2.3 佈線,圖 1.2.3 是 DS-5 等偵錯程式的 JTAG 介面圖。一般情況下,DS-5 上 Debug 的連線都採用 2 線的 SW(serial wire)介面。硬體準備好後,可以在 Maskrom 或 Loader 燒寫模式試連,以確保硬體沒問題。因為在上述模式 JTAG/SW 功能是使能 的,但到執行至 Linux 核心,SDMMC 驅動可能會禁止 JTAG 功能,這需要軟體做相應修改。也就 是說 Debug 功能和 TF 卡無法同時使用。

圖 1.2.3

2.JTAG/SW 暫存器配置

IOMUX 引腳複用功能的切換

JTAG 各個引腳是和其他功能模組複用的,需要切換到 JTAG 的各個引腳。

1.配置 IOMUX 暫存器

GRF_GPIO4B_IOMUX (0xFF77_0000 +0x0e024)

2.當配置 force Jtag 位時,硬體會自動切換,不需要配置暫存器 IOMUX

GRF_SOC_CON7(0xFF77_0000+0x0e21c)

Coresight、CPU 等相關模組

一般無需 CLK 開關配置。

JTAG/SW 軟體配置

Rockchip Linux 4.4

如果有使能 cpu power down 功能,會導致 jtag 無法正常訪問 cpu,這需要禁止所有 CPU 進入 power down 狀態。手動將每個 CPU 節點的 cpu-idle-states 屬性註釋掉:

arch/arm64/boot/dts/rockchip/rk3399.dts

也可以通過命令列動態開關:

CLK 無需軟體配置,預設暫存器配置就能正常使用 JTAG。如果無法連線,可以嘗試在 command line

新增以下配置:

將所有 CLK 預設開啟

Upstream Linux 4.10 及以後版本

只需將 force jtag 配置為 1 即可,程式碼如下:

DS-5 使用說明

DS-5 是 ARM 公司出的一款除錯軟體,下載地址 https://developer.arm.com/products/software-development-tools/ds-5-development-studio

DS-5 soc 配置檔案,以 DS-5 V5.26.2 為例: 1.建立 Configuration Database

點 FILE->New->Other

選擇 Configuration Database

2.建立 Platform Configuration

A.  點 FILE->New->Other

B.  選 Platform Configuration,點選 Next

C. 如果硬體連線的是 5 線的 JTAG,選第一個 Automatic/simple platform detection。 如果是 2 線的 SW,需要選第二個 Advanced platform detection or manual creation。 點選 Next

D.  選擇之前建立的 Database,然後點 Next

E.  建立成功後,在 Connection Address 選擇 JTAG DEBUG 裝置

F. 如果硬體連線的是 5 線的 JTAG,直接點選 Autodetect Platform。如果是 2 線的 SW,需要 配置如下圖紅色矩形框的配置,然後再點選上圖的 Autodetect Platform。需要注意:選擇 Autodetect Platform 一定要在 Maskrom 模式下,否則很多模組可能識別不到。

G.  掃描檢測完後在左側視窗展開如下列表,軟體提示 CSETM_0-3 沒有連線,需要手動新增

H.  右擊 CSETM_0,點選 Add Link From This Device

I :選擇 CSTFunnel,以此類推新增 CSETM_0-3

J:Ctrl+S 儲存工程,這時工程會生成如下檔案

K.  選擇除錯連線的核

注意:嘗試連線時最好也是在 Maskrom 模式下先測試。