一TCM是什么?
隨著單片機(jī)(MCU)在各種應(yīng)用中的使用越來越廣泛,對其性能和響應(yīng)速度的要求也越來越高。為了滿足這種需求,MCU的主時鐘頻率往往會不斷提高,以提升系統(tǒng)的處理能力和性能。然而,隨著主時鐘頻率的增加,訪問外部存儲器(如閃存、RAM)所需的訪問時間也要求相應(yīng)減少,這可能會成為系統(tǒng)性能的瓶頸之一。在這種情況下,使用TCM(Tightly-Coupled Memory)成為了一種解決方案。
Tightly Coupled Memory(TCM)緊耦合內(nèi)存是通過專用的接口直接連接到處理器的存儲器區(qū)域,它提供單周期訪問,避免其他存儲器可能存在的仲裁延時和延遲。
RA8x1 Cortex-M85內(nèi)核有2種TCM類型:Instruction TCM (ITCM) 指令TCM和Data TCM (DTCM) 數(shù)據(jù)TCM。
RA8x1有64KB ITCM和64KB DTCM。
ECC保護(hù)(代碼生成和糾正邏輯)。
RA8x1支持ITCM和DTCM ECC功能,可以通過OFS2.INITECCEN設(shè)置來啟用和禁用。
RA8x1 CPU方框圖
TCM具有以下優(yōu)點(diǎn):
低延遲訪問:TCM與處理器核心之間的直接連接消除了訪問延遲,使得數(shù)據(jù)和指令能夠更快速地被處理器訪問,從而提高了系統(tǒng)的響應(yīng)速度。
高帶寬:TCM通常具有更高的帶寬,可以支持處理器對數(shù)據(jù)和指令的高速讀寫,提升了系統(tǒng)的整體性能。
節(jié)省功耗:由于TCM與處理器核心直接連接,不需要通過總線進(jìn)行數(shù)據(jù)傳輸,因此可以降低功耗。此外,由于訪問延遲較低,處理器可以更快地完成任務(wù)并進(jìn)入休眠模式,進(jìn)一步降低功耗。
提高實時性能:對于需要實時響應(yīng)的應(yīng)用程序,TCM的低延遲和高帶寬特性使得處理器能夠更快地訪問關(guān)鍵數(shù)據(jù)和指令,從而提高了系統(tǒng)的實時性能。
增強(qiáng)安全性:TCM可以用于存儲敏感數(shù)據(jù)和關(guān)鍵代碼,通過與處理器核心的緊密耦合,可以降低數(shù)據(jù)泄露和惡意攻擊的風(fēng)險,提高系統(tǒng)的安全性。
減少對外部存儲器的依賴:TCM可以用于存儲頻繁訪問的數(shù)據(jù)和指令,減少了對外部存儲器的訪問次數(shù),降低了總體的訪問延遲和功耗。這對于一些資源有限的嵌入式系統(tǒng)尤為重要。
增強(qiáng)可靠性:TCM的直接連接和高速訪問特性可以提高系統(tǒng)的可靠性,減少因外部存儲器或總線故障而導(dǎo)致的系統(tǒng)性能下降或故障。
因此,TCM適用于許多不同的應(yīng)用和場景,特別是對于需要高性能、低延遲和實時響應(yīng)的應(yīng)用,其優(yōu)勢更加突出。以下是一些適合使用TCM的應(yīng)用和場景:
實時控制系統(tǒng):對于需要快速響應(yīng)的實時控制系統(tǒng),如工業(yè)機(jī)器人、航空航天控制系統(tǒng)、醫(yī)療設(shè)備等,TCM可以提供所需的低延遲和高帶寬,確保系統(tǒng)能夠及時、準(zhǔn)確地響應(yīng)各種控制指令。
信號處理應(yīng)用:TCM對于需要大量數(shù)據(jù)處理和信號處理的應(yīng)用非常適用,例如無線通信系統(tǒng)、雷達(dá)系統(tǒng)、圖像處理系統(tǒng)等。通過將頻繁訪問的數(shù)據(jù)和指令存儲在TCM中,可以提高系統(tǒng)的處理速度和效率。
物聯(lián)網(wǎng)設(shè)備:隨著物聯(lián)網(wǎng)設(shè)備的普及,對于需要在資源有限的設(shè)備上實現(xiàn)高性能和實時響應(yīng)的應(yīng)用,TCM可以幫助提高系統(tǒng)的性能和能效,同時減少對外部存儲器和網(wǎng)絡(luò)帶寬的依賴。
高性能計算:在需要進(jìn)行復(fù)雜計算和大規(guī)模數(shù)據(jù)處理的高性能計算應(yīng)用中,TCM可以提供更快速和可靠的數(shù)據(jù)訪問,從而提高系統(tǒng)的計算性能和吞吐量。
二RA8x1系列MCU如何將通過FSP將代碼/數(shù)據(jù)放置到TCM中?
瑞薩電子靈活配置軟件包(FSP)是用于嵌入式系統(tǒng)設(shè)計的高質(zhì)量增強(qiáng)型軟件包,支持瑞薩電子RA產(chǎn)品家族ARM微控制器,提供用戶友好的界面且可靈活擴(kuò)展,確保從入門級到高性能的整個RA微控制器的軟件兼容性。FSP包括高性能、低內(nèi)存占用的業(yè)界一流的HAL驅(qū)動程序。還包含集成了Azure RTOS和FreeRTOS的中間件協(xié)議棧,能夠簡化通信和安全等復(fù)雜模塊的實現(xiàn)。e2 studio IDE提供了對圖形化配置工具和智能代碼生成器的支持,從而使編程和調(diào)試變得更加輕松快捷。
瑞薩FSP鏈接腳本提供TCM內(nèi)存區(qū)域段定義
memory_region.ld中的內(nèi)存大小定義:
點(diǎn)擊可查看大圖
內(nèi)存區(qū)域定義:
點(diǎn)擊可查看大圖
如下原型定義可用于將用戶代碼/數(shù)據(jù)放置到TCM中。在啟動過程中,.itcm_data和.dtcm_data區(qū)域?qū)⑼ㄟ^閃存中存儲的初始化代碼進(jìn)行數(shù)據(jù)初始化。.dtcm_bss區(qū)域已初始化為零。
點(diǎn)擊可查看大圖
FSP中的ITCM段定義:
點(diǎn)擊可查看大圖
FSP中的DTCM段定義:
點(diǎn)擊可查看大圖
三TCM例子分析
下圖是一個RA8x1 MCU實際使用TCM的例子,它使用了ITCM和DTCM。圖片中的右邊為RA8x1 MCU的系統(tǒng)地址空間。
點(diǎn)擊可查看大圖
具體分析過程為:
1紫色的代碼“uint16_t i;”全局變量,它運(yùn)行的時候,分配的地址是在從0x2200_0000開始的On-chip SRAM中。
2紅色的代碼“BSP_PLACE_IN_SECTION(“.dtcm_data”)uint8x16_t rega_8, regb_8, regc_8, regd_8;”,全局變量,但是由于這些變量前面添加了BSP_PLACE_IN_SECTION(“.dtcm_data”),這表示將這些變量放置到DTCM中,它運(yùn)行的時候,分配的地址是在從0x2000_0000開始的DTCM中。
3青色的代碼“void hal_entry(void)”,它是函數(shù),運(yùn)行的時候,分配的地址是在從0x0200_0000開始的On-chip flash中。
4深綠色的代碼“void helium_test(void)”,它是函數(shù),但是由于這些變量前面添加了BSP_PLACE_IN_SECTION(“.itcm_data”),這意味著,該代碼運(yùn)行的時候,分配的地址是從0x0000_0000開始的ITCM中。
下圖是上面描述的代碼在e2 studio中使用了LLVM工具鏈編譯并仿真運(yùn)行的截圖,可以發(fā)現(xiàn)右邊表達(dá)式窗口中的i,rega_8, regb_8, regc_8, regd_8,helium_test,hal_entry這些代碼或者變量的地址和剛剛分析的結(jié)果是相符的。
點(diǎn)擊可查看大圖
需要技術(shù)支持?
如您在使用瑞薩MCU/MPU產(chǎn)品中有任何問題,進(jìn)入瑞薩技術(shù)論壇尋找答案或獲取在線技術(shù)支持。
-
處理器
+關(guān)注
關(guān)注
68文章
19896瀏覽量
235258 -
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650518 -
mcu
+關(guān)注
關(guān)注
146文章
17984瀏覽量
366974 -
TCM
+關(guān)注
關(guān)注
0文章
37瀏覽量
13075
原文標(biāo)題:RA8x1 TCM使用指南
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
請問STM8S如何將中斷代碼拷貝到RAM中運(yùn)行?
怎樣將微型ROS移植到機(jī)器人的RA MCU中呢
如何將X-CUBE-NFC5代碼集成到平臺中?
如何在沒有任何額外代碼的情況下將程序復(fù)制到SRAM中?
如何從SD啟動到I/D TCM?
數(shù)學(xué)原理:如何將ADC代碼轉(zhuǎn)換為電壓(第1篇)
如何將MCU應(yīng)用到FPGA中:關(guān)于FPGA(1)
瑞薩將micro-ROS移植到RA MCU中
使用RA2E1 MCU和FSP實現(xiàn)超低設(shè)計

RA Overwrite模式在FSP中的支持

瑞薩電子RA8E1和RA8E2 MCU新品解讀

瑞薩RA-T系列芯片馬達(dá)類工程TCM加速化設(shè)置(上)提高電流環(huán)執(zhí)行速度

評論