色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

C2000 CLA的使用與常見CLA內存問題及解決方案

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-01-12 17:25 ? 次閱讀

Other Parts Discussed in Post: TMS320F280049

作者:Chen Yang, Benjamin Zhou, Strong Zhang

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

pYYBAGGKSAOAIYC5AAKgkoiS9Hk766.png

圖1 CLA類型及對應C2000器件

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

pYYBAGGKSAWAbEuUAAE3JaNWpVc946.png

圖2 CLA框圖

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

pYYBAGGKSAeAaHjMAAGbFg07xTo106.png

圖3 CLA Memory及寄存器操作

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

從Flash中復制CLA 任務代碼至CLA 程序內存中

分配CLA數據內存

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

PIE中配置CLA任務完成中斷的服務函數

在MIER寄存器中使能CLA任務觸發

初始化觸發源外設,使其能觸發CLA任務

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

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

本例中在完成了CLA初始化,CLA_task的中斷函數配置后,點擊編譯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內存溢出,問題定位至CMD文件,檢查CMD中與scratch相關的內存分配, 如圖5。

pYYBAGGKSAuAJjQ_AAEfIZZzGLE548.png

圖5 CMD文件scratchpad描述

發現僅有.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的內存分配。

至此找到了問題原因,解決方案就是需要在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警告已經消失,編譯通過,結果如圖8所示。

pYYBAGGKSBKAaIBkAAA8T9agdLE239.png

圖8 修改CMD后編譯結果

此時,再次查看.map文件,發現__cla_scratchpad_end/start以及CLA_SCRATCHPAD_SIZE已經成功分配,如圖9所示。

poYBAGGKSBOAP3j6AAECULiW2AA714.png

poYBAGGKSBWAE0ARAAD-vr_CApM845.png

pYYBAGGKSBeAcUtAAADZtmQg0xc609.png

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

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

審核編輯:金巧

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

    關注

    0

    文章

    341

    瀏覽量

    10045
  • Cla
    Cla
    +關注

    關注

    0

    文章

    15

    瀏覽量

    10509
  • CMD文件
    +關注

    關注

    0

    文章

    5

    瀏覽量

    7482
收藏 人收藏

    評論

    相關推薦

    C2000常見問題解答

    電子發燒友網站提供《C2000常見問題解答.pdf》資料免費下載
    發表于 12-06 16:04 ?0次下載
    <b class='flag-5'>C2000</b><b class='flag-5'>常見</b>問題解答

    C2000微控制器用戶培訓手冊

    電子發燒友網站提供《C2000微控制器用戶培訓手冊.pdf》資料免費下載
    發表于 12-05 14:13 ?0次下載
    <b class='flag-5'>C2000</b>微控制器用戶培訓手冊

    C2000實時控制外設參考指南

    電子發燒友網站提供《C2000實時控制外設參考指南.pdf》資料免費下載
    發表于 11-12 15:38 ?0次下載
    <b class='flag-5'>C2000</b>實時控制外設參考指南

    C2000實時控制MCU外設

    電子發燒友網站提供《C2000實時控制MCU外設.pdf》資料免費下載
    發表于 11-09 14:55 ?0次下載
    <b class='flag-5'>C2000</b>實時控制MCU外設

    C2000? MISRA-C策略

    電子發燒友網站提供《C2000? MISRA-C策略.pdf》資料免費下載
    發表于 10-11 11:43 ?0次下載
    <b class='flag-5'>C2000</b>? MISRA-<b class='flag-5'>C</b>策略

    C2000 CPU內存內置自檢功能

    電子發燒友網站提供《C2000 CPU內存內置自檢功能.pdf》資料免費下載
    發表于 10-10 09:27 ?0次下載
    <b class='flag-5'>C2000</b> CPU<b class='flag-5'>內存</b>內置自檢功能

    C2000 F28004x系列MCU PLL鎖相失敗問題解決方案

    電子發燒友網站提供《C2000 F28004x系列MCU PLL鎖相失敗問題解決方案.pdf》資料免費下載
    發表于 09-27 11:24 ?0次下載
    <b class='flag-5'>C2000</b> F28004x系列MCU PLL鎖相失敗問題<b class='flag-5'>解決方案</b>

    基于C2000? 4類PWM模塊的CRM/ZVS PFC實施方案

    電子發燒友網站提供《基于C2000? 4類PWM模塊的CRM/ZVS PFC實施方案.pdf》資料免費下載
    發表于 09-24 11:26 ?4次下載
    基于<b class='flag-5'>C2000</b>? 4類PWM模塊的CRM/ZVS PFC實施<b class='flag-5'>方案</b>

    C2000 MCU JTAG 連接調試

    電子發燒友網站提供《C2000 MCU JTAG 連接調試.pdf》資料免費下載
    發表于 09-09 09:30 ?0次下載
    <b class='flag-5'>C2000</b> MCU JTAG 連接調試

    C2000?硬件內置自檢

    電子發燒友網站提供《C2000?硬件內置自檢.pdf》資料免費下載
    發表于 09-03 11:33 ?0次下載
    <b class='flag-5'>C2000</b>?硬件內置自檢

    展示TIC2000? CLA的獨特功能的軟件示例

    電子發燒友網站提供《展示TIC2000? CLA的獨特功能的軟件示例.pdf》資料免費下載
    發表于 09-02 09:54 ?0次下載
    展示TIC<b class='flag-5'>2000</b>? <b class='flag-5'>CLA</b>的獨特功能的軟件示例

    C2000?器件中的CRC引擎

    電子發燒友網站提供《C2000?器件中的CRC引擎.pdf》資料免費下載
    發表于 08-30 10:38 ?1次下載
    <b class='flag-5'>C2000</b>?器件中的CRC引擎

    使用C2000 I2C模塊連接EEPROM

    電子發燒友網站提供《使用C2000 I2C模塊連接EEPROM.pdf》資料免費下載
    發表于 08-27 09:53 ?0次下載
    使用<b class='flag-5'>C2000</b> I2<b class='flag-5'>C</b>模塊連接EEPROM

    中軟國際簽署CLA,正式加入OpenCloudOS操作系統開源社區

    近日,中軟國際簽署 CLA(Contributor License Agreement 貢獻者許可協議),正式加入 OpenCloudOS 操作系統開源社區。
    的頭像 發表于 04-15 11:42 ?750次閱讀

    針對 C2000? 微控制器的集成微控制器 (MCU) 電源解決方案數據表

    電子發燒友網站提供《針對 C2000? 微控制器的集成微控制器 (MCU) 電源解決方案數據表.pdf》資料免費下載
    發表于 03-04 14:12 ?0次下載
    針對 <b class='flag-5'>C2000</b>? 微控制器的集成微控制器 (MCU) 電源<b class='flag-5'>解決方案</b>數據表
    主站蜘蛛池模板: 黑丝美女娇喘 | 亚洲一区免费香蕉在线 | 99久久蜜臀亚洲AV无码精品 | 无码11久岁箩筣 | 日韩久久影院 | 成年人视频在线免费看 | 十分钟免费观看大全视频 | 国产精品96久久久久久AV网址 | 亚洲人成在线播放网站岛国 | 摸董事长的裤裆恋老小说 | 99久久国产综合精品网成人影院 | 花蝴蝶高清在线视频免费观看 | 在线免费观看毛片网站 | 亚洲乱码AV久久久久久久 | 国产360激情盗摄全集 | 娇喘高潮教室h | 热久久综合这里只有精品电影 | 国产成人无码精品久久久按摩 | 天天操狠狠操夜夜操 | 免费高清在线影片一区 | 国产人妻精品久久久久久很牛 | 久久视频这有精品63在线国产 | 戳女人屁股流水羞羞漫画 | 久久久久久亚洲精品影院 | 成人影片下载网站 | 爽爽影院线观看免费 | 99视频精品全部 国产 | 精品夜夜澡人妻无码AV蜜桃 | 天天啪免费视频在线看 | 狼群资源网中文字幕 | 国精产品一区一区三区有限在线 | 女人会操出水图 | 秋霞在线看片无码免费 | 狼人大香伊蕉国产WWW亚洲 | 乌克兰少妇大胆大BBW | 久久99精品AV99果冻传媒 | 同桌上课把奶露出来给我玩 | 久久在精品线影院精品国产 | 国产99久久亚洲综合精品西瓜tv | 亚洲精品久久AV无码蜜桃 | 俄罗斯搜索引擎Yandex推广入口 |