首頁(yè) > 評(píng)測(cè) > 帶你觸摸安全微控制器——TMS570LS12x LaunchPad評(píng)測(cè)
帶你觸摸安全微控制器——TMS570LS12x LaunchPad評(píng)測(cè)
- [導(dǎo)讀]
- Hercules TMS570LS12x LaunchPad 是一種價(jià)格低廉的評(píng)估平臺(tái),旨在幫助您快速掌握如何使用 Hercules 微控制器系列進(jìn)行評(píng)估和開(kāi)發(fā)。
開(kāi)發(fā)環(huán)境搭建&上電測(cè)試
1. 根據(jù)手冊(cè),上電之前,需要先安裝一個(gè)開(kāi)發(fā)環(huán)境。由于TMS570LS12x LaunchPad使用的微控制器是TMS570LS1224,ARM CortexR4 內(nèi)核,可以使用Keil,但 TI 推薦Code Composer Studio 6.01以上,所以我就裝了這個(gè)開(kāi)發(fā)環(huán)境。
2. 首次連接電腦,會(huì)先有USB XDS110 調(diào)試器驅(qū)動(dòng)安裝。一共有四個(gè)設(shè)備,驅(qū)動(dòng)程序的下載下載見(jiàn)附錄的資料下載區(qū)。
圖7:TMS570LS12x LaunchPad開(kāi)發(fā)板調(diào)試器設(shè)備安裝
完成安裝這些設(shè)備后,便可以正常進(jìn)行實(shí)驗(yàn)和試用了。
上電實(shí)驗(yàn):測(cè)試Demo PROJECT的功能。
1. 板載光傳感器測(cè)試,上電后 USER_LED_B 閃爍,如果靠近亮光,會(huì)閃爍變快,遠(yuǎn)離或遮光,則閃爍變慢。
2. 短路跳線器JP1, 會(huì)將振蕩器 OSC 短路到地,導(dǎo)致 MCU 檢測(cè)到振蕩器失效,芯片監(jiān)控器會(huì)檢測(cè)到錯(cuò)誤信號(hào),并點(diǎn)亮紅色故障燈 ERR LED。
3. 按下按鈕 USER SWITCH B, 會(huì)給 MCU 注入比較錯(cuò)誤,芯片監(jiān)控器會(huì)檢測(cè)到錯(cuò)誤信號(hào),并點(diǎn)亮紅色故障燈 ERR LED。
4. 每按下按鈕 USER SWITCH A一次, 會(huì)給 MCU 注入單個(gè)位錯(cuò)誤,ECC 校驗(yàn)器會(huì)檢測(cè)到并計(jì)數(shù)這個(gè)錯(cuò)誤,USER LED A閃爍會(huì)變快,當(dāng)檢測(cè)達(dá)到6次會(huì)觸發(fā)并點(diǎn)亮紅色故障燈 ERR LED。
這里先推薦安裝Hercules HAL 代碼生成器工具HALCoGen,這是一個(gè)功能強(qiáng)大的外設(shè)配置代碼自動(dòng)生成工具,說(shuō)到配置代碼自動(dòng)生成工具,可能大家會(huì)想到STM32 的STM32CubeMX,F(xiàn)reescale 的Processor Expert,但比它們,HALCoGen 的功能其實(shí)要更為強(qiáng)大!所有外設(shè)各功能分支都能詳細(xì)地配置,而且分類(lèi)清晰詳盡。
圖8: 代碼生成器工具界面
如果是功能介紹手冊(cè),也許會(huì)寫(xiě)成輕松點(diǎn)擊鼠標(biāo),就生成的全部初始化代碼。可是我沒(méi)有決定輕松,一方面是是這個(gè)HALCoGen 真的太專(zhuān)業(yè)太詳細(xì)了,當(dāng)然還有是對(duì)這個(gè)芯片還不熟悉,查閱芯片資料反復(fù)對(duì)照,好長(zhǎng)時(shí)間大體弄明白了自己比較關(guān)注的一些模塊的功能和設(shè)置。當(dāng)然生成代碼很簡(jiǎn)單, F5鍵是一鍵秒速完成。
圖9: 代碼生成器生成的代碼
接下來(lái)是初步分析和使用這些代碼了。按照習(xí)慣,我們會(huì)最先關(guān)心main() 函數(shù),在生成的 sys_main.c 中。打開(kāi)一看:
void main(void)
{
/* USER CODE BEGIN (3) */
/* USER CODE END */
}
不要失望,沒(méi)有調(diào)用初始化代碼,那有可能在啟動(dòng)代碼中完成,于是找到打開(kāi)sys_startup.c 文件。這些都不難找,做過(guò)c 語(yǔ)言開(kāi)發(fā)的人,一看這些文件名大體就知道它們是干什么用的。嗯,好長(zhǎng)的_c_int00() 函數(shù)。不過(guò)注釋還是比較詳細(xì)的,從內(nèi)核初始化到RAM 的 ECC 初始化,最后是內(nèi)核部分的外設(shè)初始化,最終處調(diào)用 main()。井井有序哪!不過(guò)其他外設(shè)的如GIO, 定時(shí)器和 PWM 等的初始化需要在main() 里加入代碼了。
那么先試試這個(gè)初始化的代碼直接工作的效果怎么樣呢?HALCoGen的手冊(cè)好象沒(méi)有找到例程怎么導(dǎo)入CCS 的說(shuō)明,不要緊,那就先創(chuàng)建一個(gè)CCS 的Cortex R4工程退出,再將那些已經(jīng)生成的例程復(fù)制到新工程文件夾,并刪除原來(lái)工程中的main.c文件,重新啟動(dòng)CCS, 配置一下編譯參數(shù),cmd文件和包含路徑,運(yùn)行庫(kù)和大小端模式(注意要使用be32),編譯成功。
圖10: CCS集成開(kāi)發(fā)環(huán)境
點(diǎn)擊調(diào)試工具欄按鈕,發(fā)現(xiàn)下載失敗,那是CCS 沒(méi)有安裝XDS110調(diào)試器,可以點(diǎn)擊菜單 Help->Check for Updates,選擇仿真器 “TI Emulators”,完成更新后,在工程的 General Setup - Connection 里就能使用 Texas Instruments XDS110 USB Debug Probe,便可以下載和調(diào)試了。
在 main() 里增加外設(shè)初始化代碼,注意:為了讓下次使用HALCoGen 不至于改掉你的代碼,請(qǐng)把你的代碼放在下面的這個(gè)結(jié)構(gòu)之間。
/* USER CODE BEGIN (x) */
/* USER CODE END */
加入頭文件包含和初始化代碼后,調(diào)試,觀測(cè)輸出波形。
圖11: 運(yùn)行波形圖
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車(chē)啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前