<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AM335x的U-Boot/SPL 的CCS 調(diào)試

          基于AM335x的U-Boot/SPL 的CCS 調(diào)試

          作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          XDS560v2和XDS100v2在PC機上的驅(qū)動(Windows,Linux)都已經(jīng)包含在中了,所以安裝了最新版的,就會安裝相應(yīng)的驅(qū)動。

          2.2 集成開發(fā)環(huán)境

          TI有自己的集成開發(fā)環(huán)境(IDE).目前最新的版本是基于Eclipse IDE架構(gòu)的,界面新穎方便。

          下載地址 http://processors.wiki.ti.com/index.php/Download_CCS。

          CCS有Windows版本和Linux 版本,后面會在介紹調(diào)試過程中具體介紹兩者的差異。

          2.3 開發(fā)板

          目前,針對不同的應(yīng)用,TI發(fā)布了基于的多個開發(fā)板。其中BeagleBone,Starter Kit和ICE上配置了基于FT2232的xds100v2。而GPEVM和IDK上引出了CTI JTAG接口。

          這里選擇GP EVM和 Spectrum DigitalXDS560v2 作為調(diào)試平臺。

          3. CCS 調(diào)試Uboot/SPL的具體步驟

          下面正式開始CCS的調(diào)試。調(diào)試的過程主要分為導(dǎo)入U-Boot/SPL 工程, CCS 連接,代碼調(diào)試等幾個部分。

          3.1 導(dǎo)入CCS代碼

          在CCS中, Menu File -》 Import … 選擇 Makefile 方式導(dǎo)入,如下圖所示:

          import

          在ezsdk中,U-Boot/SPL所對應(yīng)的Makefile的具體路徑如下:

          /home/sitara/ti-sdk-am335x-evm-05.05.00.00/board-support/U-Boot-2011.09-psp04.06.00.08

          如前面所提到,U-Boot 和SPL的源碼在同一個文件夾的,通過不同的Makefile管理不同的編譯宏來區(qū)分的。這里導(dǎo)入的是U-Boot的代碼對應(yīng)的Makefile,會相應(yīng)的導(dǎo)入U-Boot對應(yīng)的預(yù)編譯選項,因為其包含了所有的代碼。而對于SPL,也會相應(yīng)的一起帶入,只是在CCS中看到的代碼的宏定義有些不對,但這個不影響調(diào)試。

          3.2 CCS 連接 .

          主要分成仿真器的連接,target連接和Debug配置等幾部分:

          3.2.1 [url=]仿真器的連接[/url]

          對于 AM335x GP EVM選用Spectrum DigitalXDS560v2 的20 pin的接口板,連在baseboard的J2口上即可,注意pin腳的順序,不要把JTAG 接口插反了。

          對于beaglebone,StarterKit,ICE等,這些板子已經(jīng)把XDS100v2 仿真器集成到板子上了,所以直接用usb線連到PC機上即可。

          A. CCS的配置

          CCS的配置主要包括Target的配置和連接兩部分。

          a. Target 配置

          Target的配置包含兩個部分,一個是仿真器(XDS560v2),另一個就是SOC(AM335x)。具體操作如下:

          i. View -》 Target Configurations

          ii. 點右鍵選擇New Target Configuration.

          iii. 新建一個叫做AM335_EVM的target.

          iv. Connection中選擇 Spectrum Digital XDS560V2 STM USB Emulator.

          v. 對于XDS100v2 , 可以選擇 Texas InstrumentsXDS100v2 USB Emulator.

          vi. 在Board or Device 中選擇AM335x.

          vii. 點擊Save 保存。

          viii. 點擊Test Connection 看是否能夠正常連接。

          配置target成功后,會看到如下界面

          06

          3.2.2 Target 連接

          A. 右鍵選中Target Configurations中已配置好的target,AM335x_EVM.ccxml, 在右鍵菜單中選擇Launch SelectedConfiguration,連接成功后,可以得到下圖

          05

          此時,PC 和仿真器以及仿真器和SOC的JTAG連接成功,但是ARM core還沒有連上。從圖中可以看到,有多個core的配置選項,由于U-Boot/SPL,Linux 運行在ARM coretex-A8 core上,這里只關(guān)注ARM core。

          B. 在Debug窗口中,右鍵點擊CortxA8 core, 選擇Connect Target. 連接成功后,如下圖所示:

          D

          此時,已經(jīng)成功連上AM335x的Cortex-A8 core了。

          3.2.3 Debug配置

          這里的debug配置,是對emulator連上core后行為的設(shè)置。 可以通過鼠標(biāo)右鍵點擊properties,得到以下界面:

          03

          在該頁配置中,在調(diào)試過程需要調(diào)整的就是Auto RunOptions,可以根據(jù)需要設(shè)置,當(dāng)加載了image后,core自動運行到指定的symbol,并且被JTAG接口所停住

          調(diào)試U-Boot/SPL的方式有兩種,主要涉及如何加載image:一種是把image通過JTAG下載到片上RAM或者DDR中,然后導(dǎo)入 symbol,重置 PC指針到image的入口處,進行調(diào)試;另一種,把image燒到SD卡或者其他啟動存儲器上,啟動板子,通過JTAG停住core的PC指針,導(dǎo)入 symbol,重置 PC指針到image的入口處,進行調(diào)試。

          下面會在具體步驟中說明這兩種方式如何操作:

          A. 下載SPL image到AM335x中。

          如果AM335x是從SD卡方式啟動,此時 SPL image已經(jīng)被ROM code成功讀到片上 RAM中,就不需要加載 SPLimage了。

          如果選擇SPL image通過CCS下載,鼠標(biāo)左鍵選擇CortxA8core , 然后在CCS菜單中, Tools -》 Load Memory, 選擇編譯好的SPL image U-Boot-.bin,如下圖所示:

          HOME

          選擇加載的地址。由于加載的U-Boot-.bin是RAW data,所以需要指定loadaddress,這個地址就是SPL的入口地址

          對于AM335x,SPL的入口地址是0x402F0400,對應(yīng)的宏定義為CONFIG_SPL_TEXT_BASE, 該宏定義在include/configs/am335x_evm.h中。通過編譯出的map文件U-Boot-.map也可以查到,是 __startsymbol對應(yīng)的地址。

          設(shè)定加載image內(nèi)型。 由于所有的代碼都是運行在ARM(32bit)模式下。所以Type-size也要設(shè)成32bit。設(shè)置界面如下:



          關(guān)鍵詞: AM335x spl u-boot CCS

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();