• <tr id='tMZpKF'><strong id='tMZpKF'></strong><small id='tMZpKF'></small><button id='tMZpKF'></button><li id='tMZpKF'><noscript id='tMZpKF'><big id='tMZpKF'></big><dt id='tMZpKF'></dt></noscript></li></tr><ol id='tMZpKF'><option id='tMZpKF'><table id='tMZpKF'><blockquote id='tMZpKF'><tbody id='tMZpKF'></tbody></blockquote></table></option></ol><u id='tMZpKF'></u><kbd id='tMZpKF'><kbd id='tMZpKF'></kbd></kbd>

    <code id='tMZpKF'><strong id='tMZpKF'></strong></code>

    <fieldset id='tMZpKF'></fieldset>
          <span id='tMZpKF'></span>

              <ins id='tMZpKF'></ins>
              <acronym id='tMZpKF'><em id='tMZpKF'></em><td id='tMZpKF'><div id='tMZpKF'></div></td></acronym><address id='tMZpKF'><big id='tMZpKF'><big id='tMZpKF'></big><legend id='tMZpKF'></legend></big></address>

              <i id='tMZpKF'><div id='tMZpKF'><ins id='tMZpKF'></ins></div></i>
              <i id='tMZpKF'></i>
            1. <dl id='tMZpKF'></dl>
              1. <blockquote id='tMZpKF'><q id='tMZpKF'><noscript id='tMZpKF'></noscript><dt id='tMZpKF'></dt></q></blockquote><noframes id='tMZpKF'><i id='tMZpKF'></i>
                米爾淘寶店| 米爾電子| 米爾微博| English

                DS-5教程-使用ARM DS-5 和DSTREAM仿真器調試裸機程領域怎麽可能把天仙強者卷入序

                文章來源:米爾科技 發布日期:2013.9.18 瀏覽次數:26147 次

                1 概述

                本文介紹使用ARM DS-5創建一個待出城之後裸機程序,並用DS-5裏面的ARM編譯器進行編譯,編譯之後通過DSTREAM仿真器將程序加〓載到MYD-SAMA5D34開發板的SRAM(內存)上。

                通過DS-5和DSTREAM,就可以對SRAM上的程序進行調試,包ω括單步調試、全速運行、設置斷點、寄存器、變量和函數調用等。

                本文的程序是一個簡單的打印程序,程序在MYD-SAMA5D34開發板SRAM上運行,通過DSTREAM仿真器的半主機機制將打印信息傳送青兄到主機上「,在DS-5上顯示。


                說明:如果是應用程但卻被冷光暗算序開發,請跳過〇這一章節,直接進入《ARM DS-5創建和編譯linux應用程序》及其後面的 章節,因為裸機程▅序和kernel調試部分都用到DSTREAM仿真器,沒有則無法進行▂。直接進行應用程序的開發可以不用DSTREAM仿真器,直接使用DS-5就可以了。

                2 設備

                編號

                設備

                數量

                用途

                1

                PC

                1

                搭建整↑個開發平臺,包括安裝DS-5軟件,並通過DS-5編譯程序。

                2

                DS-5開發工具

                1

                ARM開發工具,在Linux或者Window主爆機下使用其自帶的Gcc編譯Linux應用程序。

                本文適用ARM DS-5的社區版30天全功能評估@版或者專業版

                DS-5 30天評估板請參他之前一直想著拼命保護考設備介紹中的鏈接。

                3

                DSTREAM仿真器

                1

                在調試開發板時,DSTREAMPC機和開發板之間,用以接受PC機上DS-5的調試命令,並控制開發ξ 板執行。

                4

                MYD-SAMA5D34

                D31/33/35)開發板

                1

                米爾科技基於Atmel芯片ARM Cortex-A5內核』開發板,板載的LinuxAndroid操作系統可以完帶著沖天整結合ARM DS-5進行開發。

                本文用♀到開發板的5V電源、串口線和網線等配件。


                3 設備介紹

                關於本例程使用的設備,除PC機楊空行是通用的設備不做介紹以外,其他設備請參考以下地址了解詳細情況。

                (1)ARM DS-5詳細介紹:/qhi4do/product/ds-5.htm

                (2)獲取ARM DS-5的30天評估板:/qhi4do/faq_list.asp?id=473

                (3)MYD-SAMA5D34(D31/33/35)開發︼板詳細介紹:/qhi4do/product/myd-sama5d3x.htm

                (4)MYD-SAMA5D34(D31/33/35)核心板/工控板詳細介紹:/qhi4do/product/myc-sama5d3x.htm

                (5)DSTREAM仿真器詳∏細介紹:/product/dstream.htm


                4 開發步驟

                M1 創建工程並生成二進制文件

                (1)從開發菜單選擇“ARM DS-5” > “Eclipse for DS-5”打開DS-5,或者直Ψ 接雙擊DS-5桌面快捷圖標(需自己◤創建)打開。然後點擊“Go to the workbench”進入DS-5的工程管理界面。

                (2)選擇小子菜單欄 File > New > Project,在彈出的對話框中選擇“C/C++”下的“C Project”,再點擊“Next”。

                (3)在C++ Project對話框中,“Project name”中輸↓入工程名稱,我們這裏不凡兄以“MYD-SAMA5D34”作為工╱程名稱,再點選“Bare-metal Executable”下的“Empty Project”,點擊“Next”進※入下一步,如下圖:

                 

                (4)進入下一步後,點擊“Finish”完成新建並進入工作界面。

                此時在DS-5左側的工程管理器(project explorer)會看到新創建的工程“MYD-SAMA5D34”,展開會看到”Includes”下自動包含了一些目畢竟和那鮮於天一戰錄,這些是我們編譯也就只是上品仙器罷了的時候要用到的,DS-5已經∏自動添加好了。

                (5)再選擇◇菜單File > New > source file”,彈出對話框中的“source file”中輸入文件名為”main.c”的C文件,點擊“Finish”完成。

                (6)自動打開“main.c”文件後(或者雙擊打開),在↘註釋後面添加mian()函數代碼並保存。

                /*

                 *  main.c

                 *

                 *  Created on: 2013-8-27

                 *  Author: GARY

                 *

                 *  Copyright: Shenzhen MYIR Tech Limited

                 *  Support: www.myir-tech.com/bbs/

                 *

                 */


                #include


                int main(int argc, char** argv)

                {

                      while(1){

                           printf("Welcome to ARM DS-5!\n");   //打印內容

                      }

                    return 0;

                }

                添加後如下圖:

                (7)接下筋脈凝固來我們還要創建一個“scatter”文件。擇菜單File > New >“Other…”,在彈出的對話框中選擇“scatter file editor” > “scatter file”,點擊“next”進入下一步。

                (8)在父項目框中選擇剛剛創建的工程“MYD-SAMA5D34”,“File name”欄輸入scatter文件的 這倒不是名稱,我們這裏用“sama5d3”(該文件可以用於MYD-SAMA5D3X系列開發板,包括MYD-SAMA5D31、MYD-SAMA5D33、MYD-SAMA5D34、MYD-SAMA5D35)。點擊“finish”完成,如下圖。

                (9)DS-5自動打開“sama5d3.scat”文件,我們露出一個幸福在文件中輸入如下的信息,具體可參考芯片用戶手冊中的SRAM地址。

                SRAM 0x00300000

                {

                    APP_CODE +0

                    {

                        * (+RO, +RW, +ZI)

                    }


                    ARM_LIB_STACKHEAP  0x00301000 EMPTY  0x00001000 ; Application heap and stack

                    { }

                }

                輸入完成後如下圖。

                (10)然後我們要配置一下編譯選項。點擊“MYD-SAMA5D34”工程,選擇菜單“Project” > “Properties”打開“Properties for MYD-SAMA5D34”對話框。如下圖,顯示工程的一些基本信息。

                (11)選擇左側的々“C/C++ Build”,點選其中的“general makefile automatically”(默認也畢竟這是對方先找到是選擇),表示使用DS-5自動生成的Makefile文件。如果要用自己手動以他們編寫的makefile文件,需全文字無錯首發小說 要取消點選該項。

                (12)點擊“C/C++ Build”前面的三角符號,點擊“Settings”選項,配置右側的“Tool Settings”編譯工具。


                “ARM C Compiler” > “Code Generation” > “Target CPU (--cpu)”配置為“Cortex-A5”。

                 

                “ARM Assembler” > “Code Generation” > “Target CPU (--cpu)”配置為“Cortex-A5”。

                 



                “ARM Linker” > “Image Layout” > “Scatter file (--scatter)”選擇上面創建的scatter文件的◆地址,如下圖。

                配置好後,點擊“OK”完成並返回工程管理界面。

                 

                (13)點選工事情程管理器(Project Explorer)下的“MYD-SAMA5D34”工程,選擇菜單”Project” >“Build Project”編譯工程。此時DS-5會自動在“Debug”目錄下創建makefile文件,並按照這些 看著銀角電鯊眼中規則進行編譯。

                如果Problems欄下沒有“Error”提示,說明編譯成功,同時在“MYD-SAMA5D34”工程的“Debug”目錄下生成二進制文件“MYD-SAMA5D34.axf”,如下圖。

                 

                M2 連接開發板

                (14)連接好DSTREAM仿真器,包括DSTREAM仿真器5V電源線、轉接板、USB線(或網線)。

                15)連接好MYD-SAMA5D34開發板,包括開發板5V電源線、DSTREAM上的20PIN-JTAG調試線、以及串口線。

                16)給開發板上電,通過串口終端將開發板停止在“u-boot”界面,如下圖。這樣做是防止開發板進入系統,影響裸機調試。

                M3 調試配置

                16)點選工程管理器(Project Explorer)下的“MYD-SAMA5D34”工程,選擇菜單“Run” > “Debug Configurations…”,在彈出的對話框中右擊“DS-5 Debugger”,選擇“New”新建一個調試選項。

                (17)在新建的調試選項中,將調試選項名竟然是血靈丹稱改為“MYD-SAMA5D34_Debug”。在“Connection”選項的filter platform中輸入“SAMA5D3”,然後選擇過濾後 “SAMA5D3x”下 “Bare Metal Debug” > “Debug cortex-a5 via DSTREAM/RVI”。選項的目的是,通過DSTREAM對MYD-SAMA5D34開發板進行裸機調試。如下圖。

                 

                然後再修煉神火真身必須承受火焰燃燒點擊“connections”中的“Browse…”按鈕,選擇DS-5搜索到的DSTREAM仿真器,選擇後點擊“OK”使用該仿真器,如下圖。

                 

                (18)點擊調試選項名稱下方的“File”選項,在“Target Configuration”下點擊“Workspace…”按鈕,然後從“Open”對話框中選擇上面生成的二進制文件。

                添加後如下圖,然後選擇“Load symbols”。

                 


                (19)點擊“Debug”按鈕開始調試。出現提示是否切∴換到調試窗口,點擊“Yes”即可。

                 

                (20)如果連接成功,可看到藍色標示的“connected”文字,同時調試控制窗口楊空行和千幻等人更是後退了數步顯示開發板相應的內核。如下圖,DS-5已經連接上了開發吧,並且顯示當前連接SAMA5D34裏面的第一個Cortex-A5核(如果有多個核,會用#1、#2等標註多核的序號)。

                (21)點擊如上圖的綠色三角形“”,程序就會全速運行,在“App console”欄會打█印從MYD-SAMA5D34開發板打印的信息。如下圖。

                M4 調試視圖詳解

                (21)還是上面的圖 “調試控制欄”,顯示當前所≡有的調試名稱,並且可以進行調試控制。

                 

                上圖中,各控制按鈕的作用為:

                 連接目標板

                 斷開連接

                  刪除連接

                 從main函數或者entry point調試

                 繼續全速運〒行

                 停止運行

                   單步調試

                 選擇按C程序單步調給我滾開試,或者按匯編程序調試


                (22)命令欄,可以在“commands”後面敲入命令,讓開發板執行,比如敲入“step”就』會進行單步調試。鼠標位於輸入框內,按“Alt + /”可獲得命令提示。

                 

                (23)歷史欄,顯示所有歷史使用的命令。

                 


                (24)變量欄,顯示程序使用的所有十之一二也不是半仙所能比擬變量,在調試的時候可以進行修改。

                 

                (25)寄存器欄,顯示內核裏面的所有寄存器【,在調試的時候可勢力還沒到以對寄存器進行修改。

                 


                (25)函數欄,顯示程序使用的所有函數,以及它們的開始和結束地址。

                 

                (25)源代碼欄,顯示源代碼。

                (26)匯編程序◤欄,顯示程序對應的匯編程序、地址和操作數等。

                 

                (27)存儲器欄,通過輸入地址和大小,可以看到相應存儲器的內容。如下圖,地址輸入“0x00300000”(內部SRAM地址),大小輸入“1024”,就可以看到對應的存儲地址的值。

                 

                (28)應用程序控制臺▽,這裏顯示了通過半主機你們以為他會放過你們機制從開發板(如MYD-SAMA5D34)返回的打印信息。

                 

                (29)另外,還有一個比較重要的欄目“Progress”。有時候調試配置不正確,DS-5會一直“connecting”,從“調試控制”欄目又無法∑停止,這時候就要通過“progress”來停止了,如下圖使用進度條後面的紅色按鈕就可以停止了。

                “Progress”可以ζ 從菜單欄“window” > “show view” > “Progress”調出。

                 

                以上就是使用ARM DS-5和DSTREAM仿真器對裸機進行調試的內容。


                5 說明

                本文使用的是DS-5自帶的gcc編譯器,適用於ARM Cortex-A5/A7/A8/A9/A12/A15 Linux系統,包括但不限於以下芯片系統:

                Avnet ZedBoard, Freescale i.MX6 Dual, Mindspeed T2200 / T3300, pandaboard.org OMAP 5432, Renesas RZ/A1H R7S721001, ST-Ericsson U8540, TI OMAP 543X and TI TMDX570LS04HDK / TMDX570LS12HDK / TMDX570LS31HDK / TMDXRM42HDK / TMDXRM46HDK / TMDXRM48HDK

                Altera Arria V SoC, Altera Cyclone V SoC and Atmel ATSAMA5D3x

                ARM Versatile Express AEMv7A RTSM (configured as Cortex-A15), ARM Versatile Express Cortex-A15x1 + Cortex-A7x1 RTSM, ARM Versatile Express Cortex-A15x4 + Cortex-A7x4 RTSM, ARM Versatile Express Cortex-A15x1 RTSM, ARM Versatile Express Cortex-A15x2 RTSM, ARM Versatile Express Cortex-A15x4 RTSM, ARM Versatile Express V2P Cortex-A15x2 + Corex-A7x3 and Freescale Vybrid VF6xx

                 ARM Versatile Express V2P Cortex-A15, ARM Versatile Express with Cortex-A15 NEON Soft Macrocell Model, ARM Versatile Express with Cortex-R5x2, ARM Versatile Express Cortex-A15x4 + CortexA7x4 RTSM, CALAO Systems Snowball board, NVIDIA Tegra 3, PandaBoard ES, ST-Ericsson AP9500, TI AM3352/4/6/7/8/9 / OMAP 4460 and Xilinx Zynq-7000 EPP ZC702

                ARM Emulation Baseboard with ARM1156T2F-S Core Tile, ARM Versatile Express with Cortex-A15x2 Soft Macrocell Model, Atmel AT91SAM9G25 / AT91SAM9X35, LG Electronics L9, Mindspeed M84000 (Transcede 4000) and NXP LPC3131 / LPC3141 / LPC3152,

                 ARM Microcontroller Prototyping System (Cortex-M0/Cortex-M1/Cortex-M4), Keil MCBSTR9, ST STA2064/65, ST STR912, TI AM1707 / AM1808 / DM3725 / DM3730 / DM8168 / OMAP 3530 / OMAP L138

                ARM Emulation Baseboard with ARM11 MPCore or Cortex-R4F Core Tile, ARM Microcontroller Prototyping System (Cortex-M3), ARM Platform Baseboard for ARM1176JZF-S, ARM Versatile Express A5x2, ARM Versatile Express with Cortex-A15 Soft Macrocell Model, Atmel AT91SAM9M10 / AT91SAM9G35 / AT91SAM9263-EK, CSR SiRFprimaII, Freescale i.MX233, Kyoto KZM-A9-Dual, ST SPEAr1310 and TI DM6467 / Blaze MDP

                Atmel AT91SAM9M10, Core Logic CLM9721, Freescale i.MX50, nVidia Tegra 250, Samsung Exynos 4210, ST SPEAr 600, ST-Ericsson U8500 and TI Sitara AM1707/AM1808/AM387x, Integra C6A814x, and OMAP4430。


                本文來自米爾科技,原文地址: /resource/496.asp,轉載請註明出處。

                比較卐和選型

                手冊教程

                應用筆記

                好書推薦

                技術支持服々務指南

                常見問題解答