新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AM335x的U-Boot/SPL 的CCS 調試

        基于AM335x的U-Boot/SPL 的CCS 調試

        作者: 時間:2016-09-12 來源:網絡 收藏

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

        2.2 集成開發環境

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

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

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

        2.3 開發板

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

        這里選擇GP EVM和 Spectrum DigitalXDS560v2 作為調試平臺。

        3. CCS 調試Uboot/SPL的具體步驟

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

        3.1 導入CCS代碼

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

        import

        在ezsdk中,U-Boot/SPL所對應的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管理不同的編譯宏來區分的。這里導入的是U-Boot的代碼對應的Makefile,會相應的導入U-Boot對應的預編譯選項,因為其包含了所有的代碼。而對于SPL,也會相應的一起帶入,只是在CCS中看到的代碼的宏定義有些不對,但這個不影響調試。

        3.2 CCS 連接 .

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

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

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

        對于beaglebone,StarterKit,ICE等,這些板子已經把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上,這里只關注ARM core。

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

        D

        此時,已經成功連上AM335x的Cortex-A8 core了。

        3.2.3 Debug配置

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

        03

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

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

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

        A. 下載SPL image到AM335x中。

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

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

        HOME

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

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

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



        關鍵詞: AM335x spl u-boot CCS

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长治县| 房产| 上林县| 东海县| 泗阳县| 惠安县| 昌图县| 乐山市| 嘉祥县| 永川市| 突泉县| 霍山县| 井研县| 清水县| 长宁区| 萍乡市| 胶南市| 钟祥市| 岳阳县| 大竹县| 娱乐| 东乌| 汉中市| 昭通市| 修文县| 菏泽市| 上虞市| 南皮县| 中阳县| 潞城市| 桂林市| 绍兴县| 庆阳市| 兴业县| 繁峙县| 遵义市| 濉溪县| 开阳县| 建昌县| 革吉县| 绥滨县|