摘自:https://blog.csdn.net/mao0514/article/details/46545843
裸機開發經驗教程: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
開發環境搭建:
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