是的,你沒看錯,TM4C129x MCU 是業(yè)界首款集成以太網(wǎng) MAC+PHY 且基于 ARM Cortex-M4 的 MCU,為了滿足互聯(lián)網(wǎng)產(chǎn)品的需求。TM4C129x MCU 提供了多種連接選項以及片上數(shù)據(jù)保護和 LCD 控制器,以節(jié)約電路板空間并實現(xiàn)連接應用(例如,家庭/樓宇自動化網(wǎng)關(guān)、已連接的人機界面 (HMI)、聯(lián)網(wǎng)傳感器網(wǎng)關(guān)及許多其他應用)。
是TI為TM4C129x系列的開發(fā)而推出的入門級開發(fā)板,作為一款入門級的開發(fā)板,很明顯的看出,TI對他的設計是非常上心的。好了,不賣關(guān)子了,就讓阿道帶領大家去一窺的真面目吧!
一:TM4C129x系列的介紹
為什么這里要先介紹TM4C129x系列的芯片呢,因為和上一篇的TM4C123G LaunchPad一樣,EK-TM4C1294XL也是LaunchPad系列的板子,這里就不對LaunchPad的來源做過多介紹了,具體可以看上一篇TM4C123G LaunchPad的評測。
TM4C129x其實TM4123x系列的升級版,在保留原有資源的基礎上并進行了擴展,以滿足越來越飛速發(fā)展的控制+自動化的需要。這里有一張阿道自己PS的圖,可以讓大家對兩者的外設資源有個清晰的對比。
看完后我只想對大家說,阿門,請原諒阿道惡心的PS技術(shù)吧!以后再慢慢改進!
從上圖可以看出,TM4C129x系列和123x系列相比,在保留原有資源的基礎上,增大了內(nèi)存和主頻率,增加了外設的數(shù)量,另外新加了以太網(wǎng)模塊和LCD模塊,增加了數(shù)據(jù)保護功能。對于需要用到互聯(lián)網(wǎng)方面的產(chǎn)品來說,這些資源足夠了!
二:EK-TM4C1294XL LaunchPad介紹
先來看看(在這里再次簡化,以后都稱之為T4Pad)的外觀。和TM4C123x Pad相比,TM4C129x的Pad無疑是高大上了許多!
看到了么,上面那個高大上的,就是TM4C129x Pad了。
T4Pad搭載的資源如下:
1>一顆高性能的M4F內(nèi)核TM4C1294NCPDT MCU
2>集成式 10/100 以太網(wǎng) MAC+PHY,一個以太網(wǎng)接口
3>USB2.0的接口(上圖左邊的USB接口)
4>4個用戶LED(不再是TM4C123x上面的RGB LED了)
5>2個用戶按鍵
6>一個休眠喚醒按鍵
7>一個在線仿真調(diào)試器ICDI
8>兩個可堆疊 BoosterPack XL 連接站點
以上板載資源在T4Pad上的對應位置如下圖所示。
有了上面的這張圖,相信大家對T4Pad的結(jié)構(gòu)有個大致的了解了吧。在這里,阿道有幾個使用中需要注意的地方需要說明:
1.主控MCU的供電,是通過JP1來選擇的。JP1有三個選項,可以選擇為ICDI USB供電,USB DEVICE供電,BoosterPack供電,通過跳線切換就可以了,同一時間只能使能一個。
2.右下角的U6是JTAG DEBUG電路。這個電路分三種模式,不使用的模式,使用外部JTAG仿真器調(diào)試TM4C1294,使用板載的ICDI調(diào)試外部的TIVA系列芯片。后兩種模式使能的時候必須調(diào)整一些電阻。具體的調(diào)整方案可以參考這個鏈接,猛擊進入
3.JP4和JP5是切換CAN為連接BoosterPack引腳,切換虛擬串口連接的串口。默認UART0連接虛擬串口。具體的切換方式可以參考這個鏈接,猛擊進入
4.看到下面的那兩排排針接口了么,你們以為那是TI讓你們引出排針,連接排線,然后接外部模塊的么?NO,TI給了個很有意思的方案,看看下圖就知道啦。
是不是很有創(chuàng)意的設計呢?忍不住給TI的工程師點個贊。
三:前期的準備工作
前期軟件的安裝什么的,這里就不再訴說啦。可以參考阿道的另一篇評測,TM4C123G LaunchPad的準備工作。這里僅列出上一篇沒有提到的部分。
ek-tm4c1294xl LaunchPad電路板資料下載如下
值得一提的是,在上面這個鏈接中下載到的pdf原理圖,是不可進行元器件搜索的,這里給個可搜索原理圖的下載版本。
經(jīng)過阿道的研究,官方給的這個原理圖,應該是不完全版本的。具體有些跳線的連接方式,在原理圖中是看不到的,比如下圖這個JP4和JP5的跳線,6.1D和3.2C的網(wǎng)絡端口,在原理圖中找不到。不過萬幸我們可以通過文檔中可以知道他的作用,并可以通過萬用表進行驗證。
四:工程的建立和下載
對于工程的建立和下載方式,可以繼續(xù)參考阿道的上一篇評測。TM4C123x和TM4C129x除去特殊的外設外,除去主控芯片的選擇外,其他部分的程序是可以通用的。
第一次剛連接PC和T4Pad的時候,配置驅(qū)動有點慢,需要耐心等待。
等待若干分鐘后,安裝完畢。
然后同樣可以在設備管理器中找到驅(qū)動。
按照上一篇評測中的做法,我們找到
C:\ti\TivaWare_C_Series-2.1.0.12573\examples\boards\ek-tm4c1294xl,導入里面的工程,就可以用CCS進行下載了。
至此,我們就可以使用CCS編輯和編譯程序給T4Pad下載程序了。
五:配置一個MDK工程,給T4Pad編譯和下載程序
上一篇評測中阿道講了用CCS導入工程來修改代碼。這么做是因為CCS的機制導致了CCS配置的工程文件很難移動。但是用MDK就不會出現(xiàn)這個問題了,所以阿道在這里帶領大家用MDK配置一個工程文件。
1.在任意位置新建一個文件夾,取名example
2.在example內(nèi)再次新建2個文件夾,分別存放自己編寫的.c和.h文件,TIVA庫中驅(qū)動文件。
3.打開MDK5.14,這里推薦用MDK5.1以后的版本,因為需要安裝pack包的。首先需要安裝TM4C12x系列的pack包,這里一定要是5.1以后的版本。
選擇TI產(chǎn)品下的TIVA系列的芯片,全部安裝即可。
4.在example文件夾下新建一個example的工程。
選擇剛裝好的TIVA開發(fā)包中,TM4C129x的芯片,這里選擇的是T4Pad的配套芯片TM4C1294NCPDT。
5.進行新建工程的文件管理。
Groups中的文件名稱和example下的文件夾名稱一樣。
6.進行MDK options的配置
主頻率的配置。
進行User的配置,配置編譯后生成.bin和.axf文件。因為LMFLAH下載需要加載.bin文件。方框處輸入fromelf.exe --bin -o "$L@L.bin" "#L"和fromelf.exe --axf -o "$L@L.axf" "#L"
在c/c++中添加宏定義,rvmdk PART_TM4C1294NCPDT TARGET_IS_TM4C129_RA0,這是定義主控芯片的版本號,芯片的名稱。
添加工程的頭文件路徑。
這里選擇創(chuàng)建的目錄下的App和Tivalib文件夾。
Debug選擇ICDI驅(qū)動。
Utilities中也選擇ICDI驅(qū)動
7.復制TIVA中的驅(qū)動到工程目錄下
復制c盤TIVA中的rmdk的啟動文件到目錄下,放在App目錄下
復制TIVA下所有庫的文件到example的Tivalib目錄下。這些文件加起來確實有點大,TIVA的庫很多的。復制過來后可以把非庫的文件都刪掉。(除去.c和.h的都可以刪掉)
復制T4Pad例程中的hello.c的文件到App下。
復制T4Pad例程中的driver到App目錄下。Driver中定義的都是T4Pad中外設模塊的驅(qū)動。
復制T4Pad例程中的hello工程的主函數(shù),hello.c到App文件夾下。
8.添加.c和.h文件到工程中
添加啟動文件,hello.c,pinout.c,uartstdio.c到APP目錄下。
添加外設lib庫到Tivalib目錄下。
9.編譯文件。
可以看到,零錯誤,零警告。
10.使用MDK DEBUG程序。
全速運行,可以看到板子上LED閃爍。
到此為止,上一個完整的MDK工程已經(jīng)建立完畢,我們可以任意的開發(fā)了。
六:使用ROM庫中固化的函數(shù)給空白芯片下載程序
TIVA系列對比其他廠商的芯片,有一個很獨特亮點。把庫函數(shù)固化在了ROM中,可以直接通過ROM_函數(shù)()來調(diào)用。在空白芯片中,或者擦除FLASH后,當上電后,默認執(zhí)行ROM中UART0和USB的初始化,因此我們可以通過LMFLASH軟件利用內(nèi)置的協(xié)議使用UART0,USB DFU接口來給芯片下載程序。下面阿道給大家演示下這個過程,我們可以在芯片空白的時候,通過UART0和USB,I2C,SSI來給芯片下載自己寫的boot程序,以后我們就可以通過這些接口,給芯片更新程序了。
1.使用ICDI擦除FLASH,這里的作用是為了模擬空白的芯片
2.連接TM4C129的串口0,因為ROM中默認初始化的就是串口0。這里使用的是ICDI模擬串口,默認情況下ICDI連接的是TM4C129的串口0。(這里要注意JP4和JP5的跳線位置,橫著跳就是ICDI連接的串口0),打開ICDI用串口連接。
3.點擊program就可以了
4.下載完畢后發(fā)現(xiàn)T4Pad的LED閃爍,說明下載OK。
5.再次擦除Flash,這次用USB DFU進行下載。這些需要選擇用ICDI進行擦除。因為芯片中已經(jīng)有了程序,再次進入的時候,不會執(zhí)行ROM中的初始化了。這里再次擦除,模擬空白芯片。
6.調(diào)整跳線JP1的位置,調(diào)整到板子上絲印為OTG的位置,即使用USB DEVICE給供電。調(diào)整USB接口的位置,用USB連接PC和網(wǎng)口挨著的USB DEVICE接口。
7.選擇用USB DFU下載程序。
8.點擊program下載程序即可。
9.下載完畢后發(fā)現(xiàn)T4Pad的LED閃爍,說明下載OK。
TM4C12x系列的下載,是不是很方便呀!
結(jié)尾
工程配置完畢后,我們就可以使用T4Pad任意的開發(fā)了。上面集成了我們?nèi)粘i_發(fā)所有的外設,其強大的外設功能和方便可擴展的接口設計,對于想要評測TM4C129x系列芯片的人來說,是絕佳的入門首選!更不用說TI為這塊板子提供了詳細的驅(qū)動手冊和Demo了!還等什么,趕緊行動起來,去感受TM4C的魅力吧!
資料下載:
CCS IDE工具下載鏈接
http://www.ti.com/tool/ccstudio&DCMP=dsp_ccs_v4&HQS=Other+OT+ccs
資料下載鏈接
http://www.ti.com/tool/ek-tm4c1294xl
LMFLASHPROGRAMMER 下載器軟件鏈接
http://www.ti.com.cn/tool/cn/lmflashprogrammer
TivaWare for C Series庫下載鏈接
http://www.ti.com/tool/sw-tm4c?DCMP=tivac-series&HQS=tivaware
Stellaris ICDI Drivers仿真器驅(qū)動下載
http://www.ti.com/tool/stellaris_icdi_drivers
Energia IDE工具下載鏈接
http://www.ti.com.cn/tool/cn/energia
——————本文系21ic原創(chuàng),未經(jīng)許可嚴禁轉(zhuǎn)載——————