<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 工業電子產品 > 半導體產品 > 微處理器MPU > iMX

      類型分類:
      科普知識
      數據分類:
      iMX

      使用 DS-MDK 開發 NXP iMX7

      發布日期:2022-05-11 點擊率:121

      • 關鍵詞:                                                                ARM                                                                DS-MDK                                                                iM

      • 摘要:本文就基于Toradex 基于NXP i.MX7處理器發布的Colibir i.MX7計算機模塊來進行演示如何使用DS-MDK來調試i.MX7。


      1). 簡介

      NXP  i.MX7 處理器是一款具有 Cortex-A7 和 M4 的異構多核處理器。A7能夠運行 Linux 等操作系統,完成 GUI、網絡、文件管理和算法運算等復雜任務,而 M4 則可以運行諸如 FreeRTOS 實時操作系統性或者低功耗應用。傳統的 Cortex-M 開發可以借助 JTAG,在線實時調試用戶程序。i.MX7 由于其特殊的架構,除了要求能夠調試片上的 M4 外,同時還需要調試 A7 運行的任務。ARM 針對此類異構多核系統提供了調試解決方案:DS-MDK。本文就基于Toradex 基于NXP i.MX7處理器發布的Colibiri.MX7計算機模塊來進行演示如何使用DS-MDK來調試i.MX7。


      DS-MDK是 ARM 公司針對 32-bit ARM? Cortex?-A 以及 32-bit ARMCortex-A 和 ARM Cortex-M 異構系統所推出的開發環境,其結合了DS-5和  CMSIS-Pack  技術。 目前你可以通過 DS-MDK 和 Ulinkpro 調試開發 Colibrii.MX7 嵌入式計算機模塊。DS-MKD 支持在 M4 上單步執行、設置斷點、應用重置等功能,在調試的過程中實時查看片上寄存器,保留傳統 Cortex-M 的開發調試功能。DS-MDK 還可以調試 Linux 應用,捕獲 A7 和 M4 之間的通信。實現在保持 A7 運行的同時,重置 M4 內核,方便用戶在線實時調試 M4 上的應用。


      2). 準備

      a). 軟件準備

      你可以從下面鏈接下載能夠在 DS-MDK 中使用的 Linux 鏡像以及相關調試文件。

      ./ Linux 鏡像:

      https://armkeil.blob.core.windows.net/products/Colibri_iMX7_LinuxImageV2.6_20161014_sdcard_files.zip

      ./ Debug Symbols:

      https://armkeil.blob.core.windows.net/products/vmlinux-Colibri-iMX7-20161014.zip

      ./ Kernel Source:

      https://armkeil.blob.core.windows.net/products/kernel-source-Colibri-iMX7-20161014.tar.gz


      b). 硬件連接


      ./ 插入裝有 Linux 鏡像的 SD 卡(參考“FlashingEmbedded Linux”)

      ./ 使用 RS232(X27)USB 接口連接 ARMCortex-A7

      ./ 使用  RS232(X25 頂部 UART B)接口連接  ARM Cortex-M4

      ./ 使用 Ulinkpro 連接 JTAG 接口

      ./ 連接以太網接口,使用 RSE 連接 Linux 系統

      ./ 連接電源


      為了能夠使用 X27 USB 轉串口,你需要設置 J17、J19、J20 和 J21 短路帽。正確連接四個對應的引腳。


      3). 創建Linux 鏡像

      a). ToradexOpenEmbedded (core) guide 介紹了從源碼編譯 BSP 的具體步驟。


      b). 軟件安裝

      ./ 我們需要一個 Linux 系統來運行編譯步驟。當然也可以使用 Linux 虛擬機,但是速度將會很慢。在 Linux 主機上需要安裝下面的軟件:

      ----------------------------------

      sudo apt-get install libsdl1.2-dev xtermsed cvs

      subversion coreutils texi2htmldocbook-utils python-pysqlite2

      help2man make gcc g++ desktop-file-utilslibgl1-mesa-dev

      ----------------------------------

      ./ 使用 bash 代替系統默認的 dash。如果有必要,可以重新配置bash/dash:

      ----------------------------------

      sudo dpkg-reconfigure dash

      ----------------------------------

      ./ 安裝  repo 工具

      ----------------------------------

      mkdir ~/bin

      curlhttp://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

      chmod a+x ~/bin/repo

      ----------------------------------


      c). 編譯鏡像

      ./ Toradex 有專門的文檔調試如何從源碼編譯 BSP。在最后使用 bitbake 命令之前,你需要運行下面的命令:

      ----------------------------------

      bitbake -c menuconfig linux-toradex

      ----------------------------------

      ./ 使用你想要的內核配置選項。以.config 文件為例。修改 ~/oe-core/build/out-glibc/work/colibri_imx7-angstrom-linux-gnueabi/linux-toradex/4.1.15-r0/defconfig,創建新的 .config 文件。并用新的配置文件重新編譯和部署內核:

      ----------------------------------

      bitbake -c compile -f linux-toradex

      bitbake -c deploy linux-toradex

      ----------------------------------

      ./ 生成的文件位于~/oe-core/build/out-glibc/deploy/images/colibri-imx7。

      ./ 按照這里的說明重新燒寫 iMX7 的鏡像。

      ./ 按照這里的說明配置 u-boot 環境參數。

      ----------------------------------

      setenv defargs clk_ignore_unused;

      setenv fdt_fixup 'fdt addr ${fdt_addr_r}&& fdt rm /soc/aips-bus@30800000/spba-bus@30800000/serial@30890000';

      ----------------------------------


      4). Linux 內核模塊調試

      只需要一些簡單的配置,就可以開始內核模塊調試工作。這一部分內容將以 imx_rpmsg_tty 模塊為例,闡述如何進行配置。該模塊在 Getting Started with DS-MDK 用戶手冊中的例程項目中有詳細的說明。

      a). 從  i.MX 7 軟件包中復制并編譯 RPMSG TTY RTXLinux Application TTY

      ./ 下載并解壓 Linux 內核符號vmlinux。

      ./ 下載并解壓內核模塊源碼和 object 文件imx_rpmsg_tty.zip。


      b). 創建 CMSIS C/C++  項目

      ./ 為  i.MX 7 的 Cortex-A7 處理器創建一個新的 CMSIS C/C++  項目。名字為 Kernel_Debug

      ./ 添加兩個 DS-5Debugger  腳本:右擊項目,選擇 New -> Other....

      ./ 在窗口中選擇 DS-5 Debugger -> DS-5 Debugger script。 設置文件名為"stop" 和 "load_ko"。

      ./ 在 stop.ds 腳本中添加:

      ----------------------------------

      stop

      ----------------------------------

      在 load_ko.ds 腳本中添加:

      ----------------------------------

      add-symbol-file imx_rpmsg_tty.ko

      ----------------------------------

      注意:確認腳本文件保存在 workspace 中,DS-MDK 能找到該文件。否則請指定完整的路徑。

      ./ 第一個腳本中的 stop 命令會在加載內核符號之前暫停處理器,add-symbol-file 命令可以加載內核模塊的 object 文件。


      ./ 右擊項目,選擇  DebugAs -> CMSIS DS-5 Debugger....

      Connections 選項中,設置 CPU Instance0 或者SMP。點擊 Advanced 標簽,設置 vmlinux文件路徑并選擇 Load symbols only。 同時按照下面的圖片,設置initialization debugger 腳本:

      應用以上的設置,并關閉對話框。


      c). 調試內核模塊

      下面的步驟將向你介紹如何調試內核模塊:

      ./ 重啟你的開發板并停止在 u-boot。

      ./ 調試和運行 Cortex-M4 應用 RPMSG TTY RTX

      ./ 啟動 Linux

      ./ 在 Linux 命令模式中,運行下面命令安裝內核模塊: modprobe imx_rpmsg_tty。

      ./ 調試和運行 Kernel_Debugproject。

      ./ 現在你可以打開imx_rpmsg_tty.c 并設置斷點

      ./ 最后,調試 Linux Application TTY (確保 RSE 連接任然有效)。當開始運行應用時,debugger 會停留在之前設定的斷點。



      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產品

      更多
      主站蜘蛛池模板: 狠狠狠色丁香婷婷综合久久俺| 激情综合色五月六月婷婷| 久久九九精品国产综合喷水| 久久国产综合精品五月天| 一本久到久久亚洲综合| 亚洲欧洲国产成人综合在线观看| 久久本道综合久久伊人| 狠狠色丁香久久婷婷综合图片| 精品综合久久久久久97| 色综合久久一区二区三区| 国产成人久久综合二区| 国产综合无码一区二区辣椒| 婷婷五月综合激情| 亚洲国产精品综合久久网络 | 一本色综合网久久| 亚洲熟女乱综合一区二区| 伊人久久综合精品无码AV专区| 狠狠色伊人亚洲综合网站色| 中文字幕国产综合| 天天躁日日躁狠狠躁综合| 色综合久久中文综合网| 国产香蕉尹人综合在线| 久久综合日本熟妇| 国产99久久亚洲综合精品| 综合欧美五月丁香五月| 色爱无码AV综合区| 色妞色综合久久夜夜| 一本久道久久综合狠狠爱| 中文字幕国产综合| 狠狠色综合久色aⅴ网站| 一本色道久久88亚洲综合 | 久久精品亚洲综合| 熟女少妇色综合图区| 国产综合久久久久鬼色| 色婷婷久久综合中文久久一本` | 国产99久久亚洲综合精品| 色偷偷91久久综合噜噜噜| 一本一本久久a久久综合精品蜜桃| 99久久综合国产精品免费| 亚洲欧美综合精品成人导航| 伊人色综合一区二区三区影院视频|