am335x編寫裸機程序並在CCS中用Jlink調試

摘自:https://blog.csdn.net/mao0514/article/details/46545843

https://blog.csdn.net/colordrv/article/details/20839045?depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1&utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1

裸機開發經驗教程:https://blog.csdn.net/szhebin/article/details/79728099

 

StarterWare在AM335X上的燒錄運行

 

步驟:
1、下載安裝StarterWare,我們團購的SK需要02.00.00.07版本。最近外網訪問慢,我上傳到論壇。
2、找一張miniSD卡,不需要很大,系統只有幾個M而已。
3、如果你按默認路徑安裝,那請去C:\ti\AM335X_StarterWare_02_00_00_07\tools\sd_format下面執行TI_SDCard_boot_utility_v1_0.exe

4、在路徑 C:\ti\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\am335x\evmskAM335x\bootloader 選好MLO
5、在路徑C:\ti\AM335X_StarterWare_02_00_00_07\binary\armv7a\cgt_ccs\am335x\evmskAM335x\demo 選擇APP
6、執行,格式化並拷貝。
7、把mini-sd放到SKit上運行即可

 

 

 

StarterWare爲何物,簡單說是像STM32庫函數一樣的東西。

StarterWare for AM335X 最新下載地址:  http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/starterware/latest/index_FDS.html

註冊ti帳號下載

 

Linux Installer StarterWare for AM335X 35416K

然後在同一個頁面下載for BeagleBone-Black的patch

 

 

  Beaglebone black patch Beaglebone support files 84K

 

特別注意,如果用的是64位的linux,請安裝ia32-libs

在/home/<user>/目錄下:

修改AM335X_StarterWare_02_00_01_01_Setup.bin 爲可執行 ,chmod +x AM335X_StarterWare_02_00_01_01_Setup.bin

然後輸入./AM335X_StarterWare_02_00_01_01_Setup.bin進行安裝

安裝好後,再將下載好的BBB的patch文件StarterWare_BBB_support.tar.gz放到你StartWare的安裝目錄底下

解壓 tar -xvzf StarterWare_BBB_support.tar.gz,這樣就打好patch了,具體修改來什麼文件,請看安裝目錄底下的doc文件BBB_support_manual

下載官方推薦的編譯器,下載地址爲:  gcc-arm-none-eabi-4_7-2012q4-20121208-linux.tar.bz2

gcc-arm-none-eabi-4_7-2012q4-20121208-linux.tar.bz2

看個人愛好,我將編譯器放在StarterWare的安裝目錄底下,解壓 tar -xjvf gcc-arm-none-eabi-4_7-2012q4-20121208-linux.tar.bz2

個人不推薦將編譯器直接添加到/etc/environment 文件,這樣會搞到PATH中默認有太多編譯器,在後面編譯內核什麼的容易造成衝突

Ctrl + Alt + T打開終端,使用export將編譯器和LIB臨時添加到PATH和LIB_PATH

export PATH=$PATH:/home/colordrv/AM335X_StarterWare_02_00_01_01/gcc-arm-none-eabi-4_7-2012q4/bin/

 export LIB_PATH=/home/colordrv/AM335X_StarterWare_02_00_01_01/gcc-arm-none-eabi-4_7-2012q4

使用cd切換目錄到~/AM335X_StarterWare_02_00_01_01/build/armv7a/gcc/am335x/beaglebone/gpio/

這下面是gpio翻轉LED示例的build目錄,下面有makefile

輸入make命令,自動make,生成bin文件將放在~/AM335X_StarterWare_02_00_01_01/binary/armv7a/gcc/am335x/beaglebone/gpio/目錄下

默認有Debug和Realse兩個版本

 

下載測試步驟

找一張microSD卡,容量不要太小,我的用2G,所用官方提供的HPUSBFW.EXE格式化sd卡

然後將~/AM335X_StarterWare_02_00_01_01/binary/armv7a/gcc/am335x/beaglebone/bootloader/Release_MMCSD/MLO拷貝到SD卡根目錄下

在將剛纔生成的LED實驗的BIN文件改名成app(注意沒有擴展名)也拷貝到SD卡根目錄下

插入SD到BBB上,按住boot按鍵,給BBB上點,LED閃爍,裸機環境搭建OK。

 

當然大家還可以用TI的CCS IDE。

如果要使用CCS進行StarterWare開發,在安裝CCS時,要選上TI的ARM 編譯器。

我們可以通過File->Import ..-> Import eisting CCS project

project路徑在~/AM335X_StarterWare_02_00_01_01/build/armv7a/cgt_ccs目錄下,project文件是隱藏的,在ubuntu下按Ctrl+H鍵可以看到隱藏文件

比如我import了了上面說的gpioproject

由於打開的CCS project默認有Debug和Realse兩個版本,默認Debug版本爲Active狀態

如果直接build project會出錯,原因是因爲Build時有lib文件鏈接,而在StarterWare的Debug下的lib需要自己生成。

所以我們需要先Import platform drivers等(最好把全部的lib都用Dedug模式Build一遍)lib project,先生成Debug下的LIB文件。

這樣之後就會Build前面的DEMO工程的Debug版了

而realse版本默認已經有LIB文件了,所以不需要該無聊的步驟了。

 

在CCS下使用JLINK調試BeagleBone-Black的StarWare

可以參考 

需要安裝CCS的Jlink插件

http://processors.wiki.ti.com/index.php/J-Link_Emulator_Support#Installation

至於怎麼配置,可以看下面的網頁

http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/21227.aspx

 

開發環境搭建:

https://blog.csdn.net/luosong1991/article/details/39009083?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

https://blog.csdn.net/zwkdvgasiufbseiufb/article/details/50135285?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2

M335x運用starterware裸機運行環境搭建:

Host:win7

Target:AM335x

編譯環境:CCSv5.5

調試工具:XD100V2 USB Emulator (JTAG接口)

CCS是TI針對DSP和ARM系列芯片開發的基於Eclipse的集成調試環境,有windows和linux兩個版本,AM335x系列芯片較新,只有CCS5.4及以上的版本的開發環境才支持,這裏以CCSv5.5的win7版本說明環境的搭建加載starterware過程中可能碰到的一些問題。

首先我們需要下載CCS並安裝。TI官網下載地址

http://processors.wiki.ti.com/index.php/Download_CCS

TI提供了Web installers 和Off-line installers兩種方式安裝,在線安裝方式可能會受到網速等影響安裝不正確,建議將源文件下載到本地安裝,進入安裝嚮導后里面有選擇安裝對應芯片的軟件,上面有TI全系列產品軟件,根據實際需要選擇對應的安裝可有效節約時間。

安裝好軟件之後需要破解,要不然加載starterware和build會出錯誤

破解方法:許可證lic文件,拷貝到/ccsv5/ccs_base/DebugServer/license 下面,來源於http://download.csdn.net/detail/hbhuang_nj/6796833

在CCS中加載starterware:可能有很多人不太熟悉Starterware這個軟件,這是TI公司提供的軟件包,類似於庫函數,裏面以工程爲單位提供了對應芯片的所有片內外設基本操作源碼,對於初學者還是有較大的參考價值。

在加載starterware前我們需要安裝AM335X_StarterWare,可以到TI官網下載安裝,下載地址:http://www.ti.com/tool/starterware-sitara

根據嚮導安裝好之後,打開CCS 在file菜單下Import->code composer studio->Existing CCS Eclipse Projects  

Next 進入在Browse下加載starterware安裝目錄下的AM335X_StarterWare_02_00_01_01文件夾,在Discovered projects下可以看到加載的工程,選擇需要加的工程選擇Auto後Finish,在CCS Project Explorer下可以看到我們剛加載的工程。

在CCS Project Explorer下選中工程右鍵clean project 在建立build project可能會存在unresolved symbol Entry 這樣的錯誤

這是由於庫函數找不到連接不成功的原因,在右鍵工程 PROPERTIES / BUILD/ ARMLINKER /FILE SEARCH PATH下可以看到我們所添加的庫和頭文件path

解決方法,根據錯誤提示添加PATH就好了,我們可以找到安裝文件下\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\evmskAM335x\platform\Debug沒有我們需要的platform.lib庫在Release目錄下有,將platform.lib考到Debug下,再將其他沒找到的庫函數加進去,再clean project

buildproject 就能連接成功生成.out和.bin執行文件。

現在我們工程的編譯和連接算是完成了,但還沒和目標板建立連接,在CCS中與目標板建立連接需要一個配置文件Target Configuration文件,在View菜單下選擇Target Configuration,在Target Configuration下右擊User Defined->Newtarget configuration

Finish選擇target型號和仿真器類型之後save ->Test connection連接成功會在test connection窗口出現succeeded 不成功會提示faild

成功之後就可以仿真了,在run下Debug(F11)進入仿真頁面,

在CortexA8(Suspended)下右鍵connect target 就可以通過Register窗口查看和修改寄存器的值了


 

TI官方燒寫步驟:https://processors.wiki.ti.com/index.php/AM335X_StarterWare_Booting_And_Flashing

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章