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

RA Overwrite模式在FSP中的支持

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

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

評(píng)論