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

評論