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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

C2000 CLA的使用與常見CLA內(nèi)存問題及解決方案

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-01-12 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Other Parts Discussed in Post: TMS320F280049

作者:Chen Yang, Benjamin Zhou, Strong Zhang

CLA(Control Law Accelerator)控制率加速器是一個獨立可編程的32位浮點數(shù)字處理單元,為快速觸發(fā)響應及數(shù)學運算而設計。CLA獨立于C28x CPU工作,時鐘頻率與CPU相同,可執(zhí)行算法以及周期性的計算工作。通過增加平行的處理單元CLA,拓展了C28x CPU的性能。當前C2000系列產(chǎn)品共有3種類型的CLA, 不同的C2000型號對應不同的CLA類型, 各類型的差別及對應的C2000器件型號詳情如圖1所示。Type 2型的CLA可直接讀取ADC 結果寄存器,極大減小ADC采樣至輸出的延時,提高系統(tǒng)的響應并允許系統(tǒng)以更高的頻率運行;并且可直接操作所有的Epwm,HRPWM,eCAP,eQEP,CMPSS,DACSDFM,PGA,SPI,LIN,F(xiàn)SI,PMBUS,CLB和GPIO數(shù)據(jù)寄存器;CLA可獨立地響應外設中斷。利用CLA執(zhí)行一些周期性任務可以解放CPU,使其工作于其他系統(tǒng)任務。

pYYBAGGKSAOAIYC5AAKgkoiS9Hk766.png

圖1 CLA類型及對應C2000器件

CLA的使用包括初始化設置和任務定義。初始化由CPU完成,包括程序內(nèi)存和數(shù)據(jù)內(nèi)存分配,任務的觸發(fā)配置;Type 2型CLA提供 8個獨立的任務(也可配置為7個獨立的任務和1個底層持續(xù)運行的任務),這些任務類似中斷服務函數(shù),由中斷觸發(fā)并運行至任務結束,并且可配置在任務完成時產(chǎn)生中斷, CLA 框圖如圖2所示。

pYYBAGGKSAWAbEuUAAE3JaNWpVc946.png

圖2 CLA框圖

CLA可訪問RAMLS0-LS7 區(qū)塊的內(nèi)存,并且每個塊可以配置為CPU專用或CPU與CLA之間共享數(shù)據(jù)。這些內(nèi)存塊復位時默認分配給CPU,需要由CPU初始化后才可用于與CLA共享數(shù)據(jù)。如果這些內(nèi)存塊被配置為數(shù)據(jù)共享的,則可進一步配置為程序內(nèi)存或數(shù)據(jù)內(nèi)存,程序內(nèi)存用于存放CLA的程序代碼,數(shù)據(jù)內(nèi)存用于存放供CLA程序使用的變量和系數(shù),并且有專用的消息內(nèi)存MSG RAMs用于在CPU和CLA之間傳遞數(shù)據(jù), CLA的Memory及寄存器操作方式描述如圖3所示。

pYYBAGGKSAeAaHjMAAGbFg07xTo106.png

圖3 CLA Memory及寄存器操作

CLA的初始化是在軟件初始化期間由CPU執(zhí)行,主要包括6個步驟:

從Flash中復制CLA 任務代碼至CLA 程序內(nèi)存中

分配CLA數(shù)據(jù)內(nèi)存

配置CLA寄存器:包括使能CLA時鐘;分配CLA任務函數(shù)地址;選擇任務觸發(fā)源;根據(jù)需要使能軟件觸發(fā)任務;映射CLA程序內(nèi)存和數(shù)據(jù)內(nèi)存到CLA空間

PIE中配置CLA任務完成中斷的服務函數(shù)

在MIER寄存器中使能CLA任務觸發(fā)

初始化觸發(fā)源外設,使其能觸發(fā)CLA任務

在CLA開發(fā)過程中,工程師往往專注于代碼層面對CLA初始化,CLA_task的配置以及算法設計,忽略了更為底層的問題——CMD文件中CLA內(nèi)存分配問題。不合理的內(nèi)存分配可能會導致編譯報錯及內(nèi)存溢出。

本博文將舉例使用TI的TMS320F280049進行CLA開發(fā)時,由于內(nèi)存分配錯誤導致的具體報錯。

本例中在完成了CLA初始化,CLA_task的中斷函數(shù)配置后,點擊編譯CCS報43個“#17003-D” warnings,如圖4:

poYBAGGKSAmAdSn6AAQxuVQfGbw673.png

圖4 #17003-D Warning

Description Resource Path Location Type:

#17003-D relocation to symbol “CLAscratch_end” overflowed; the 6-bit relocated address 0xee is too large to encode in the 16-bit unsigned field (type = ‘R_ABS16_OC’ (107), file = “。./xxxxxxx”, offset = 0x00000312, section = “Cla1Prog”)

警告顯示CLAscratch_end內(nèi)存溢出,問題定位至CMD文件,檢查CMD中與scratch相關的內(nèi)存分配, 如圖5。

pYYBAGGKSAuAJjQ_AAEfIZZzGLE548.png

圖5 CMD文件scratchpad描述

發(fā)現(xiàn)僅有.scrathpad分配至RAMLS1,并未找到CLAscratch_end以及對CLA_SCRATCHPAD_SIZE的定義。

于是,打開.map文件判斷是否分配了__cla_scratchpad_end/start,在.map文件中搜索scratchpad,如圖6所示。

poYBAGGKSA2AWqmMAAIGG4QLcSE170.png

圖6 .map文件中cla_scratchpad_end描述

如圖6,在.map中僅僅找到__cla_scratchpad_end,可以判斷工程使用了scratchpad,但是并沒有__cla_scratchpad_start的內(nèi)存分配。

至此找到了問題原因,解決方案就是需要在CMD文件中對scratchpad進行相關配置, 如圖7所示。

參考配置如下:

①在CMD文件的頭部添加以下代碼,如圖所示

CLA_SCRATCHPAD_SIZE = 0x100;

--undef_sym=__cla_scratchpad_end

--undef_sym=__cla_scratchpad_start

pYYBAGGKSA-AYZnFAALYjsdKzCc576.png

圖7 scratchpad配置

②在CMD文件的SECTIONS{}代碼部分的末尾添加以下代碼

CLAscratch :

{ *.lib(CLAscratch)

。 += CLA_SCRATCHPAD_SIZE;

*.lib(CLAscratch_end) } 》 RAMLS1,

PAGE = 1

再次編譯,#17003-D警告已經(jīng)消失,編譯通過,結果如圖8所示。

pYYBAGGKSBKAaIBkAAA8T9agdLE239.png

圖8 修改CMD后編譯結果

此時,再次查看.map文件,發(fā)現(xiàn)__cla_scratchpad_end/start以及CLA_SCRATCHPAD_SIZE已經(jīng)成功分配,如圖9所示。

poYBAGGKSBOAP3j6AAECULiW2AA714.png

poYBAGGKSBWAE0ARAAD-vr_CApM845.png

pYYBAGGKSBeAcUtAAADZtmQg0xc609.png

圖9 修改CMD文件編譯生成.map文件圖

以上就是關于“#17003-D warning”的解決方案,希望通過這個例子,讓廣大工程師在CLA開發(fā)時能夠注意到CMD對CLA內(nèi)存正確配置的重要性,防止在實際開發(fā)時遇到問題,難以排查。

審核編輯:金巧

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

    關注

    0

    文章

    341

    瀏覽量

    10516
  • Cla
    Cla
    +關注

    關注

    0

    文章

    15

    瀏覽量

    11036
  • CMD文件
    +關注

    關注

    0

    文章

    5

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    NVIDIA DRIVE AV軟件平臺與Halos架構助力梅賽德斯奔馳CLA車型獲得最高安全評分

    NVIDIA DRIVE AV 軟件平臺與 NVIDIA Halos 架構助力 CLA 車型獲得最高安全評分(top safety rating)。
    的頭像 發(fā)表于 02-02 09:28 ?1358次閱讀

    思必馳助力全新梅賽德斯奔馳純電CLA正式上市

    近日,全新梅賽德斯-奔馳純電CLA正式上市,推出奔馳純電CLA 300 L超長續(xù)航版、奔馳純電CLA 300 L超長續(xù)航領智版及奔馳純電CLA 300 L超長續(xù)航冠軍限量版三款車型。梅
    的頭像 發(fā)表于 12-12 11:38 ?824次閱讀

    關于E203內(nèi)核高性能乘法器優(yōu)化(二)

    ] = 1'b0;assign cout = c[width>>2];cla_4bit u_cla_4bit_0(.op1( op1[ 0*4+3
    發(fā)表于 10-23 07:33

    HXS320F28035數(shù)字信號控制器

    ,提供自主可控的DSP解決方案。典型應用場景電機驅(qū)動與控制:支持無傳感器磁場定向控制(FOC),適用于步進電機、直流無刷電機(BLDC)、永磁同步電機(PMSM)等。光伏逆變器:高精度ADC和快速PWM
    發(fā)表于 10-22 09:05

    北京奔馳全新純電CLA正式下線

    近日,北京奔馳MMA平臺首款車型一全新純電CLA正式下線。作為梅賽德斯-奔馳中國“智造”與研發(fā)20年集大成之作,全新純電CLA搭載MB.OS架構與城區(qū)及高速領航輔助駕駛系統(tǒng),并配備了同級唯一的兩檔變速箱和800V高壓架構,使其同時兼顧動力、能效與充電性能,樹立了智能電動車
    的頭像 發(fā)表于 09-11 14:25 ?1051次閱讀

    CLA系列

    Cla
    銀河電氣
    發(fā)布于 :2025年07月11日 15:49:07

    谷東智能C2000 AR智能眼鏡推動航空航天行業(yè)數(shù)字化轉型

    在航空航天領域,安全、效率與精準性是永恒的追求。谷東智能推出的 C2000 AR 智能眼鏡,憑借其卓越的性能與廣泛的應用,已成為眾多頭部航司的得力助手,并獲得了某民航局局長的高度認可。
    的頭像 發(fā)表于 06-20 15:14 ?1263次閱讀

    納芯微NSSine? NS800RT正面硬剛TI C2000,國產(chǎn)替代“芯”戰(zhàn)事, 工業(yè)控制MCU市場迎來變局?

    在實時控制MCU(微控制器)的江湖里,德州儀器(TI)的C2000系列是一個繞不開的名字。三十余年來,它如同一位功力深厚的宗師,定義了高性能電機控制、數(shù)字電源等領域的標準。對于無數(shù)奮戰(zhàn)在一線的工程師
    的頭像 發(fā)表于 06-20 12:45 ?1610次閱讀
    納芯微NSSine? NS800RT正面硬剛TI <b class='flag-5'>C2000</b>,國產(chǎn)替代“芯”戰(zhàn)事, 工業(yè)控制MCU市場迎來變局?

    16 位 ADC 的 汽車類與非汽車類C2000? 32 位 MCU(TMS320F28377DPTPS TMS320F28377SPTPQ)微控制器

    前言 C2000? 32 位微控制器針對處理、感應和驅(qū)動進行了優(yōu)化,可提高實時控制應用(如工業(yè)電機驅(qū)動器、光伏逆變器和數(shù)字電源、電動汽車和運輸、電機控制以及感應和信號處理)的閉環(huán)性能。C2000
    發(fā)表于 04-30 14:11

    TMS320F2800155 C2000? 32 位 MCU 120MHz 128KB 閃存數(shù)據(jù)手冊

    TMS320F280015x (F280015x) 是成本優(yōu)化的 C2000 實時微控制器系列的成員,該系列可擴展、超低延遲器件專為提高電力電子的效率而設計。
    的頭像 發(fā)表于 04-15 15:08 ?1373次閱讀
    TMS320F2800155 <b class='flag-5'>C2000</b>? 32 位 MCU 120MHz 128KB 閃存數(shù)據(jù)手冊

    TMS320F2800133 C2000? 32 位 MCU,具有 120 MHz、64 KB 閃存、FPU 和 TMU數(shù)據(jù)手冊

    TMS320F280013x (F280013x) 是 C2000? 實時微控制器系列的成員,該系列可擴展、超低延遲器件專為提高電力電子效率而設計。
    的頭像 發(fā)表于 04-15 14:46 ?1538次閱讀
    TMS320F2800133 <b class='flag-5'>C2000</b>? 32 位 MCU,具有 120 MHz、64 KB 閃存、FPU 和 TMU數(shù)據(jù)手冊

    TMS320F28P659DK-Q1 C2000? 32 位 MCU、2 個 C28x+CLA CPU、鎖步、1.28MB 閃存數(shù)據(jù)手冊

    TMS320F28P659DK-Q1是一款高性能的實時控制微控制器,集成了兩個C28x DSP CPU和一個CLA CPU,提供強大的實時信號處理能力。同時,該設備還支持功能安全應用,具有豐富的外設接口和靈活的電源管理選項,適用于工業(yè)控制、汽車電子等領域。
    的頭像 發(fā)表于 04-15 11:29 ?1678次閱讀
    TMS320F28P659DK-Q1 <b class='flag-5'>C2000</b>? 32 位 MCU、2 個 <b class='flag-5'>C28x+CLA</b> CPU、鎖步、1.28MB 閃存數(shù)據(jù)手冊

    F29H850TU C2000? 64 位 MCU,帶 C29x 200MHz 三核技術手冊

    F29H85x 和 F29P58x 是 C2000? 實時微控制器系列的成員,該系列是可擴展、超低延遲的器件,旨在提高電力電子器件的效率,包括但不限于:高功率密度、高開關頻率,并支持使用 GaN 和 SiC 技術。
    的頭像 發(fā)表于 04-14 14:10 ?1746次閱讀
    F29H850TU <b class='flag-5'>C2000</b>? 64 位 MCU,帶 <b class='flag-5'>C</b>29x 200MHz 三核技術手冊

    TMS320F28P550SG C2000? 32 位 MCU技術手冊

    TMS320F28P55x (F28P55x) 是 C2000? 實時微控制器系列的成員,該系列可擴展、超低延遲器件旨在提高電力電子器件的效率,包括但不限于:高功率密度、高開關頻率,并支持使用 GaN 和 SiC 技術。
    的頭像 發(fā)表于 04-14 10:35 ?2428次閱讀
    TMS320F28P550SG <b class='flag-5'>C2000</b>? 32 位 MCU技術手冊

    F29H859TU-Q1 汽車級 C2000? 64 位 MCU數(shù)據(jù)手冊

    F29H85x 和 F29P58x 是 C2000? 實時微控制器系列的成員,該系列是可擴展、超低延遲的器件,旨在提高電力電子器件的效率,包括但不限于:高功率密度、高開關頻率,并支持使用 GaN 和 SiC 技術。
    的頭像 發(fā)表于 04-14 09:44 ?1615次閱讀
    F29H859TU-Q1 汽車級 <b class='flag-5'>C2000</b>? 64 位 MCU數(shù)據(jù)手冊