使用TC275的三個(gè)核心,輪流休眠待機(jī),分別控制板卡上的LED燈,如core0檢測(cè)按鍵按下,喚醒core1翻轉(zhuǎn)LED1,一秒后,喚醒core2翻轉(zhuǎn)LED2,系統(tǒng)休眠。
那我們今天就來(lái)看看如何用KIT_AURIX_TC275_LITE板卡的三個(gè)核心實(shí)現(xiàn)這個(gè)任務(wù)。
一起來(lái)看下方項(xiàng)目介紹。
硬件介紹
項(xiàng)目使用的開(kāi)發(fā)板為英飛凌的 KIT_AURIX_TC275_LITE 開(kāi)發(fā)板,其搭載的TC275芯片是一個(gè)三核的車規(guī)級(jí)芯片。
本項(xiàng)目使用了全彩LCD、按鍵與姿態(tài)傳感器模塊,并使用SPI擴(kuò)展接口控制LED燈板。
功能展示
本項(xiàng)目實(shí)現(xiàn)的功能非常簡(jiǎn)單,就是點(diǎn)擊按鍵,一個(gè)LED翻轉(zhuǎn),另一個(gè)LED等一秒鐘之后翻轉(zhuǎn)。
實(shí)現(xiàn)思路
首先配置環(huán)境
在英飛凌官方的例程中找尋相關(guān)的,學(xué)習(xí)其API
在B站搜索英飛凌多核視頻學(xué)習(xí)
把上述相關(guān)程序縫到一塊。實(shí)現(xiàn)過(guò)程
1. 環(huán)境配置
我開(kāi)發(fā)的這幾天官網(wǎng)的下載安裝包功能不知道為什么不好使了,而且之前做智能車使用的1.3.0版本過(guò)于老舊,甚至不支持導(dǎo)入例程的功能,于是在這里分享一個(gè)群友分享的1.6.0版本的安裝包:
2. 多核開(kāi)發(fā)
多核開(kāi)發(fā)的主要邏輯寫(xiě)在CPU0中,CPU1與CPU2只負(fù)責(zé)翻轉(zhuǎn)對(duì)應(yīng)的LED,且長(zhǎng)期處在休眠模式。
CPU0使用一個(gè)定時(shí)器STM0定時(shí)200ms輪詢檢測(cè)按鍵是否被按下,如果被按下,就依次喚醒另外兩個(gè)核,而后會(huì)讓CPU0自己睡眠。每個(gè)定時(shí)器中斷到來(lái),CPU0都會(huì)被喚醒,所以中斷處理函數(shù)中什么都不用寫(xiě)即可。
遇到的問(wèn)題及解決辦法
1. 編譯不過(guò)問(wèn)題
不知道為什么ADS編譯不過(guò)去,此時(shí)右鍵左側(cè)文件導(dǎo)航欄中的項(xiàng)目文件夾,點(diǎn)擊Clean Project即可。
2. 延時(shí)函數(shù)問(wèn)題
遇到了一個(gè)腦殘問(wèn)題,我把延時(shí)函數(shù)寫(xiě)到了定時(shí)器里面,且延時(shí)時(shí)間超了定時(shí)器時(shí)間,以至于一運(yùn)行就卡死,之后注意別犯傻了。
3. 外設(shè)初始化位置問(wèn)題
在寫(xiě)代碼的過(guò)程中 GPIO初始化的位置很有講究,其實(shí)在任意一個(gè)核初始化,別的核都是可以用的,但是問(wèn)題是如果你唉CPU0核中初始化CPU1核用的外設(shè),由于三個(gè)CPU是同時(shí)在跑的,如果CPU0還沒(méi)有初始化結(jié)束,CPU1就已經(jīng)跑到了使用GPIO的語(yǔ)句,就寄了,所以為了保險(xiǎn)起見(jiàn),最好哪個(gè)核用哪個(gè)外設(shè),就把這個(gè)外設(shè)的初始化寫(xiě)在這個(gè)核的代碼里。
審核編輯:劉清
-
lcd
+關(guān)注
關(guān)注
34文章
4439瀏覽量
168498 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3256瀏覽量
115467 -
Aurix
+關(guān)注
關(guān)注
1文章
72瀏覽量
10980 -
SPI串口
+關(guān)注
關(guān)注
0文章
4瀏覽量
948
原文標(biāo)題:基于英飛凌AURIX TC275 Lite的多核點(diǎn)燈-Funpack S2 #2項(xiàng)目分享(1)
文章出處:【微信號(hào):xiaojiaoyafpga,微信公眾號(hào):電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
請(qǐng)問(wèn)AURIX KIT_A2G_TC397_5V_TFT開(kāi)發(fā)板如何通過(guò)UDE進(jìn)行仿真調(diào)試?
KIT_A2G_TC375_LITE和KIT_A2G_TC375_ARD_SB在功能上有啥區(qū)別?
請(qǐng)問(wèn)AURIX TC275軟件中斷怎么設(shè)置呢?
TDA5235_915_5_BOARD中的調(diào)試器比PSOC4_HVPA_LITE_KIT KIT_A2G_TC387_MOTORCTR中的仿真器更好嗎?
AURIX TC375 LITE KIT\"用于同步采樣的EVADC主從配置\" 示例未按預(yù)期運(yùn)行是哪里的問(wèn)題?
使用帶有TC275 lite的infinion miniwiggler V3時(shí)出現(xiàn)錯(cuò)誤的原因?
使用AURIX Development Studio在ShieldBuddy TC275上進(jìn)行調(diào)試報(bào)錯(cuò)的原因?
在TC375 Lite Kit上調(diào)試時(shí)出現(xiàn)tsim問(wèn)題怎么解決?
Aurix TC275TP在DXCPL模式下使用Trace32在閃存中寫(xiě)入數(shù)據(jù),正確的命令順序是什么?
AURIX Development StudioV1.72無(wú)法閃存TC275 Lite Kit怎么解決?
AURIX TC275/TC234開(kāi)發(fā)----(1) 開(kāi)發(fā)準(zhǔn)備工作 精選資料推薦
AURIX TC275/TC234開(kāi)發(fā)----(1) 開(kāi)發(fā)準(zhǔn)備工作
![<b class='flag-5'>AURIX</b> <b class='flag-5'>TC275</b>/<b class='flag-5'>TC</b>234開(kāi)發(fā)----(1) 開(kāi)發(fā)準(zhǔn)備工作](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于AURIX TriCore單片三核微控制器TC275
AURIX TC4x虛擬化技術(shù)詳解
![<b class='flag-5'>AURIX</b> <b class='flag-5'>TC</b>4x虛擬化技術(shù)詳解](https://file1.elecfans.com/web3/M00/07/62/wKgZPGelgy2Ac6pxAAAojHiMYh8807.png)
評(píng)論