91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

瑞薩RA-T系列芯片馬達(dá)類(lèi)工程TCM加速化設(shè)置 (下)

瑞薩嵌入式小百科 ? 來(lái)源:瑞薩MCU小百科 ? 2025-06-04 19:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

承接上文

瑞薩RA-T系列芯片馬達(dá)類(lèi)工程TCM加速化設(shè)置(上)

http://m.makelele.cn/d/6711616.html

RA8T2 sensorless方案的樣例工程;再給大家分享一個(gè)免注冊(cè)的免費(fèi)下載地址:
http://m.makelele.cn/d/6711582.html

下面介紹一下

將馬達(dá)樣例工程進(jìn)行TCM優(yōu)化的具體步驟

以RA8T1_MCILV1_SPM_LESS_FOC_E2S_V101工程為例,首先需統(tǒng)計(jì)電流環(huán)需要的的所有函數(shù),并將它們分配到ITCM中。在本樣例工程中,這些函數(shù)分為兩類(lèi):一類(lèi)是Open Source的,一類(lèi)被封裝到lib文件中的。

由于涉及到的函數(shù)數(shù)量較多,現(xiàn)僅舉例說(shuō)明設(shè)置方法:

如函數(shù)R_ADC_Read,其作用是讀出當(dāng)前的相電流采樣數(shù)據(jù),是整個(gè)電流環(huán)計(jì)算的開(kāi)端。函數(shù)體定義在/工程根目錄/ra/fsp/src/r_adc/r_adc.c文件中??稍诤瘮?shù)定義前增加修飾語(yǔ)句__attribute__((section(".itcm_data"))),將該函數(shù)指定分配到ITCM中。

示例:

__attribute__((section(".itcm_data")))
fsp_err_tR_ADC_Read(adc_ctrl_t* p_ctrl, adc_channel_tconst reg_id,uint16_t*constp_data)

ITCM起始地址為0x00000000,編譯后,查看map文件,可以確認(rèn)函數(shù)被分配到了ITCM區(qū)域中。

5540b39e-40f9-11f0-b715-92fbcf53809c.png

也可用系統(tǒng)推薦宏定義進(jìn)行設(shè)置,宏定義在工程根目錄 afspsrcspmcuallsp_compiler_support.h文件中,

具體定義如下所示:

#defineBSP_PLACE_IN_SECTION(x)_attribute__((section(x))) __attribute__((__used__))

本宏定義增加了對(duì)函數(shù)屬性的進(jìn)一步修飾,通??捎玫男揎椚缦滤荆?/p>

noinline/inline
used
long_call

對(duì)于函數(shù)的修飾,不是本文重點(diǎn),請(qǐng)查閱其他材料進(jìn)行確認(rèn)。

通常情況下,算法是公司的核心資產(chǎn)。所以存在封庫(kù)使用,或者利用第三方提供算法庫(kù)的情況。在這樣的情況下我們無(wú)法找到算法庫(kù)中的函數(shù)本體進(jìn)行設(shè)置。那我們就需要考慮將庫(kù)文件整體放入ITCM中

如RA8T1_MCILV1_SPM_LESS_FOC_E2S_V101樣例工程,使用了三個(gè)庫(kù)文件librm_motor_current.a,librm_motor_estimate.a,librm_motor_speed.a,分別用于處理電流環(huán)、位置估算、速度環(huán)的一些算法。

要實(shí)現(xiàn)本操作,需對(duì)ld文件進(jìn)行修改。ld文件(鏈接描述文件)是控制鏈接器行為的關(guān)鍵腳本文件,主要用于管理目標(biāo)文件的內(nèi)存布局和符號(hào)解析。通過(guò)腳本指令精確控制輸入文件(.o/.a)如何組合到輸出文件(可執(zhí)行文件/庫(kù))中,并定義程序在內(nèi)存中的布局結(jié)構(gòu)。?

在本工程的ld文件中,首先定義了存儲(chǔ)器的物理參數(shù):包括各內(nèi)存區(qū)域的起始地址、容量及訪問(wèn)屬性(如可讀/寫(xiě)/執(zhí)行);接著加載了必要的庫(kù)文件;通過(guò)SECTIONS指令規(guī)劃段的分布策略,明確代碼段、數(shù)據(jù)段、特殊功能段在存儲(chǔ)空間的具體位置。同時(shí)腳本還設(shè)置了關(guān)鍵的系統(tǒng)級(jí)配置:指定程序執(zhí)行的入口地址,各模塊能按預(yù)定邏輯在存儲(chǔ)器中精準(zhǔn)排布。

關(guān)于ld文件的布局,不是本文重點(diǎn),請(qǐng)搜索相關(guān)資源,進(jìn)行理解。

ld文件的設(shè)置需使用標(biāo)準(zhǔn)命令,本文不詳細(xì)展開(kāi),請(qǐng)搜索相關(guān)資源,進(jìn)行理解。

下面我們?cè)敿?xì)介紹本次修改的操作

在工程目錄script文件夾下,打開(kāi)fsp.ld文件。

在SECTIONS命令后,鏈接代碼段.text :內(nèi)刪除*(.text*)語(yǔ)句,更改為*(EXCLUDE_FILE(*librm_motor_estimate.a:*.o *librm_motor_current.a:*.o *librm_motor_speed.a:*.o) .text.*)。這樣在鏈接時(shí),將不對(duì)這三個(gè).o的lib文件在此處進(jìn)行鏈接。請(qǐng)看如下示例:

55c5956e-40f9-11f0-b715-92fbcf53809c.png

在SECTIONS命令后,在.itcm_data段內(nèi)在KEEP(*(.itcm_data*))語(yǔ)句下面,增加下面三個(gè)語(yǔ)句:

KEEP(*librm_motor_estimate.a:*.o(.text.*))
KEEP(*librm_motor_current.a:*.o(.text.*))
KEEP(*librm_motor_speed.a:*.o(.text.*))

更改后,在鏈接過(guò)程中,將這三個(gè)指定.o文件連接到itcm段。請(qǐng)看如下示例:

55e843de-40f9-11f0-b715-92fbcf53809c.png

設(shè)置完成后,重新編譯工程。排查map文件,可以看到lib中的函數(shù)已經(jīng)放置到ITCM中。如位置估算這幾個(gè)函數(shù),排查如下:

560657ca-40f9-11f0-b715-92fbcf53809c.png

然后需統(tǒng)計(jì)電流環(huán)執(zhí)行用到的所有變量,并將所有變量放置到DTCM中。由于數(shù)量較多,現(xiàn)舉例說(shuō)明設(shè)置方法。

如結(jié)構(gòu)體變量g_motor_sensorless0,此變量是電流環(huán)操作的主要變量結(jié)構(gòu)體。變量定義在/工程目錄/ra_gen/hal_data.c文件中,可在變量定義前增加修飾語(yǔ)句__attribute__((section(".dtcm_data")))將其分配到DTCM中。

請(qǐng)看如下示例:

__attribute__((section(".dtcm_data")))motor_instance_tg_motor_sensorless0 =
{ .p_ctrl = &g_motor_sensorless0_ctrl, .p_cfg = &g_motor_sensorless0_cfg, .p_api = &g_motor_on_sensorless, };

在本應(yīng)用中,g_motor_sensorless0內(nèi)部嵌套了其他結(jié)構(gòu)體變量,那么被嵌套的其他結(jié)構(gòu)體也需要做類(lèi)似聲明,分配到DTCM中。

DTCM起始地址為0x20000000,編譯后查看map文件,可以確認(rèn)變量被分配到了DTCM區(qū)域中。

5623a050-40f9-11f0-b715-92fbcf53809c.png

因?yàn)槿鹚_官方樣例工程,用FSP架構(gòu)設(shè)置系統(tǒng)參數(shù)。所以在應(yīng)用本例程測(cè)試時(shí),需做兩個(gè)手動(dòng)設(shè)置:

1)將/工程目錄 /ra_gen/,目錄下的hal_data.c和hal_data.h文件設(shè)置為只讀屬性,這樣在每次編譯時(shí),文件中所作的更改才不會(huì)被FSP默認(rèn)設(shè)置覆蓋。

2)在進(jìn)行變量的DTCM設(shè)置時(shí),如變量具有const標(biāo)識(shí)符修飾,需將const標(biāo)識(shí)符去掉。否則,類(lèi)型修改產(chǎn)生沖突,新的設(shè)置不能成功。

因?yàn)閷?shí)際應(yīng)用過(guò)程中,系統(tǒng)建立的方法各不相同,遇到上面兩種情況需注意,如自建工程,沒(méi)有相關(guān)設(shè)計(jì),則無(wú)需這兩個(gè)手動(dòng)步驟。

設(shè)置完成后,可以在電流環(huán)程序塊的出入口,分別拉高和拉低I/O口,以測(cè)試電流環(huán)執(zhí)行時(shí)間。

測(cè)試結(jié)果:為4.79us。

564446c0-40f9-11f0-b715-92fbcf53809c.jpg

同等條件下,未TCM化的例程,電流環(huán)執(zhí)行時(shí)間為5.72us。

可以看到TCM化有明顯性能提升效果。

566120ba-40f9-11f0-b715-92fbcf53809c.jpg

本文介紹了,在使用瑞薩RA8-T系列芯片設(shè)計(jì)馬達(dá)工程時(shí),如何將指令和變量放置到TCM單元,從而加速特定執(zhí)行的運(yùn)行速度??梢宰畲笙薅鹊匕l(fā)揮瑞薩芯片優(yōu)勢(shì),為客戶(hù)提供更好的解決方案。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18924

    瀏覽量

    398088
  • 瑞薩
    +關(guān)注

    關(guān)注

    37

    文章

    22481

    瀏覽量

    90864
  • 馬達(dá)
    +關(guān)注

    關(guān)注

    1

    文章

    858

    瀏覽量

    64979
  • RA8
    RA8
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    6863
  • TCM
    TCM
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    13234
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    電子RA系列MCU 2025年新品回顧

    2025年RA系列推出10個(gè)新產(chǎn)品,覆蓋了從入門(mén)級(jí)低功耗(RA0E2)、中端低功耗(RA4C
    的頭像 發(fā)表于 01-27 09:57 ?1240次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子<b class='flag-5'>RA</b><b class='flag-5'>系列</b>MCU 2025年新品回顧

    RA與RX系列的IEC61508認(rèn)證工業(yè)自動(dòng)功能安全解決方案

    RA與RX系列的IEC61508認(rèn)證工業(yè)自動(dòng)功能安全解決方案 在工業(yè)自動(dòng)領(lǐng)域,功能安全至
    的頭像 發(fā)表于 12-29 15:10 ?432次閱讀

    RA6E2地奇星開(kāi)發(fā)板試用】開(kāi)發(fā)板介紹及環(huán)境搭建

    物聯(lián)網(wǎng)、工業(yè)控制、智能硬件等場(chǎng)景。 核心參數(shù)一覽 項(xiàng)目 規(guī)格 主控芯片 R7FA6E2BB3CNE( RA6E2 系列) 內(nèi)核 Arm
    發(fā)表于 12-22 00:40

    RA6E2地奇星開(kāi)發(fā)板試用】介紹、環(huán)境搭建、工程測(cè)試

    RA 系列軟件包即可。 工程測(cè)試 由板載 LED 原理圖可知,板載 LED 對(duì)應(yīng) P402 管腳,且為高電平點(diǎn)亮。 工程創(chuàng)建 打開(kāi) e^2^ studio 軟件; 依次點(diǎn)擊 文件 -
    發(fā)表于 12-07 15:27

    RA6E2地奇星開(kāi)發(fā)板試用】+開(kāi)發(fā)環(huán)境構(gòu)建與下載測(cè)試

    這次試用的RA6E2-立創(chuàng)地奇星是一款高性?xún)r(jià)比的開(kāi)發(fā)板,為透徹地體驗(yàn)它的性能,構(gòu)建其開(kāi)發(fā)環(huán)境是一項(xiàng)最基本的工作。 開(kāi)發(fā)開(kāi)發(fā)板的的工具
    發(fā)表于 12-06 00:11

    RA6E2】E2S軟件安裝過(guò)程,等待過(guò)程玩97_e2 studio_ZGZZ

    差異 選擇第一個(gè),RA系列: 繼續(xù): 下面這個(gè)FSP要選擇,最好是全部,因?yàn)檫@里有個(gè)坑:的不同編譯器版本不同編譯會(huì)報(bào)錯(cuò)!?。。。? 你不同意就不讓用,呵呵 下一步唄 等啊等 第一個(gè)
    發(fā)表于 12-01 22:42

    電子基于RA6T2的高頻注入法方案詳解

    電子發(fā)布了基于高頻注入法的樣例方案,本篇以RA6T2樣例工程為例,介紹高頻注入法的一般性原理,
    的頭像 發(fā)表于 10-27 11:31 ?4780次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>電子基于<b class='flag-5'>RA6T</b>2的高頻注入法方案詳解

    使用R-T系列芯片實(shí)現(xiàn)相電流實(shí)時(shí)采樣

    本篇介紹如何使用R-T系列芯片,設(shè)計(jì)馬達(dá)工程時(shí),
    的頭像 發(fā)表于 07-16 16:19 ?1716次閱讀
    使用<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>R-<b class='flag-5'>T</b><b class='flag-5'>系列</b><b class='flag-5'>芯片</b>實(shí)現(xiàn)相電流實(shí)時(shí)采樣

    基于電子RA8T2 sensorless方案的樣例工程 可對(duì)電流環(huán)進(jìn)行TCM設(shè)置

    基于電子RA8T2 sensorless方案的樣例工程 可對(duì)電流環(huán)進(jìn)行TCM
    的頭像 發(fā)表于 06-04 18:29 ?1102次閱讀

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

    本篇介紹在使用 RA8-T系列芯片 ,建立 馬 達(dá)類(lèi)工程應(yīng)用 時(shí),如何將 電 流環(huán)部分的指令和變量 設(shè)置
    的頭像 發(fā)表于 06-04 18:02 ?1629次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA-T</b><b class='flag-5'>系列</b><b class='flag-5'>芯片</b><b class='flag-5'>馬達(dá)</b><b class='flag-5'>類(lèi)</b><b class='flag-5'>工程</b><b class='flag-5'>TCM</b><b class='flag-5'>加速</b><b class='flag-5'>化</b><b class='flag-5'>設(shè)置</b>(上)提高電流環(huán)執(zhí)行速度

    RA8系列教程 | RA8 開(kāi)發(fā)環(huán)境搭建,并點(diǎn)亮一個(gè)LED

    今天就給大家講講基于Cortex-M85內(nèi)核RA8單片機(jī)快速上手指南。
    的頭像 發(fā)表于 06-04 17:32 ?1767次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8<b class='flag-5'>系列</b>教程 | <b class='flag-5'>瑞</b><b class='flag-5'>薩</b> <b class='flag-5'>RA</b>8 開(kāi)發(fā)環(huán)境搭建,并點(diǎn)亮一個(gè)LED

    RA8系列教程 | 基于 Keil 開(kāi)發(fā) RA8單片機(jī)

    本文結(jié)合Cortext-M85單片機(jī)RA8D1、Keil MDK,以及自家的代碼初始化工具(Smart Configurator)給
    的頭像 發(fā)表于 04-22 17:41 ?1308次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8<b class='flag-5'>系列</b>教程 | 基于 Keil 開(kāi)發(fā) <b class='flag-5'>RA</b>8單片機(jī)

    RA8快速上手指南:Cortex-M85內(nèi)核RA8開(kāi)發(fā)環(huán)境搭建 并點(diǎn)亮一個(gè)LED

    因?yàn)镃ortex-M內(nèi)核,RA8系列單片機(jī)支持多種市面上常見(jiàn)的開(kāi)發(fā)環(huán)境,像Keil MDK、IAR EWARM等,而本文講述的是
    的頭像 發(fā)表于 03-17 14:35 ?1927次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8快速上手指南:Cortex-M85內(nèi)核<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>8開(kāi)發(fā)環(huán)境搭建 并點(diǎn)亮一個(gè)LED

    **RA2L1入門(mén)學(xué)習(xí)】+**UART測(cè)試實(shí)驗(yàn)

    RA2L1入門(mén)學(xué)習(xí)】+UART測(cè)試實(shí)驗(yàn) 本篇文章主要介紹如何使用e2studio對(duì)單片機(jī)進(jìn)行USART通過(guò)定時(shí)器中斷方式接收不定長(zhǎng)
    發(fā)表于 03-09 15:45

    RA2L1入門(mén)學(xué)習(xí)】RA2L1開(kāi)發(fā)環(huán)境搭建

    e2 studio 和 FSP 的下載、安裝及使用指南 1. 什么是 e2 studio 和 FSP? e2 studio 是電子(Renesas)專(zhuān)為 RA 系列單片機(jī)開(kāi)發(fā)的 I
    發(fā)表于 03-07 11:33