哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

TMS320F28xxx DSP:從內(nèi)部閃存運行應用程序的全面指南

chencui ? 2026-04-23 13:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TMS320F28xxx DSP:從內(nèi)部閃存運行應用程序的全面指南

嵌入式系統(tǒng)設計中,讓應用程序在TMS320F28xxx DSP的內(nèi)部閃存上運行是一個常見需求。本文將深入探討從內(nèi)部閃存運行應用程序所需的特殊要求、軟件修改以及性能優(yōu)化技巧。

文件下載:TMDSC2KWRKSHPKIT.pdf

1. 引言

TMS320F28xxx DSP系列專為嵌入式控制器應用的獨立運行而設計。片上閃存通??上龑ν獠糠且资源鎯ζ骱椭鳈C處理器的需求。要配置應用程序從閃存運行,只需遵循幾個簡單步驟。本文涵蓋了正確配置應用程序軟件以從內(nèi)部閃存執(zhí)行所需的主要問題和步驟,同時介紹了DSP/BIOS和非DSP/BIOS項目的要求,并討論了一些性能考慮因素和技術。

適用設備與工具版本

本文討論的問題適用于TMS320F28xxx設備家族的當前成員,包括F281x、F280x/2801x/28044、F2823x/2833x、F2802x、F2803x、F2805x和F2806x等系列。代碼和方法適用于特定的開發(fā)工具版本,如CCS v5.3.0、Code Generation Tools v6.1.1和DSP/BIOS v5.42.0.07。雖然未來工具版本可能存在差異,但通常會保持向后兼容性。

示例項目

為F2812、F2808、F28335、F28027、F28035、F28055和F28069提供了示例CCS v5項目,可從http://www-s.ti.com/sc/techlit/spra958.zip下載,為代碼開發(fā)提供起點。

2. 創(chuàng)建用戶鏈接器命令文件

2.1 非DSP/BIOS項目

在非DSP/BIOS應用中,用戶鏈接器命令文件用于定義大部分內(nèi)存并指定大部分段的鏈接位置。其格式與從RAM運行應用程序時使用的鏈接器命令文件相同,區(qū)別在于段的鏈接位置。相關外設頭文件包含用于鏈接外設寄存器結(jié)構的鏈接器命令文件,可將其添加到代碼項目中。一般來說,鏈接器命令文件的順序不重要,但在某些罕見情況下,高級用戶可能需要手動控制其評估順序。

2.2 DSP/BIOS項目

DSP/BIOS配置工具會生成一個鏈接器命令文件,指定如何鏈接所有DSP/BIOS生成的段以及默認情況下所有C編譯器生成的段。從閃存執(zhí)行時,可能需要生成并鏈接一個或多個用戶定義的段。同樣,外設頭文件包含用于鏈接外設寄存器結(jié)構的鏈接器命令文件,需將其添加到項目中。在某些情況下,高級用戶可能需要手動控制鏈接器命令文件的評估順序。

3. 段的鏈接位置

3.1 段類型

存在兩種基本段類型:初始化段和未初始化段。初始化段在設備上電時必須包含有效值,如代碼和常量;未初始化段在設備上電時不包含有效值,如變量。因此,初始化段應鏈接到非易失性內(nèi)存(如片上閃存),未初始化段應鏈接到易失性內(nèi)存(如RAM)。

3.2 鏈接選項

建議使用 -w 鏈接器選項,該選項會在鏈接器遇到項目中未在鏈接器命令文件中明確指定鏈接的段時發(fā)出警告。同時,應使用大內(nèi)存模型,避免使用小內(nèi)存模型,因為小內(nèi)存模型要求某些初始化段鏈接到可尋址空間的低64Kw非易失性內(nèi)存,而F28xxx設備在此區(qū)域沒有閃存。

3.3 不同項目的段鏈接

  • 非DSP/BIOS項目:編譯器使用的特定段在從RAM或閃存運行時相同,但從閃存運行時,所有初始化段必須鏈接到非易失性內(nèi)存,未初始化段必須鏈接到易失性內(nèi)存。具體段的鏈接位置可參考表1。
  • DSP/BIOS項目:DSP/BIOS配置工具的內(nèi)存段管理器允許指定各種DSP/BIOS和C編譯器生成段的鏈接位置。具體鏈接信息可參考表2。

4. 從閃存復制段到RAM

4.1 復制中斷向量(僅非DSP/BIOS項目)

F28xxx設備的外設中斷擴展(PIE)模塊管理中斷請求。上電時,所有中斷向量必須位于非易失性內(nèi)存(即閃存),并在代碼的設備初始化過程中復制到PIE VECT RAM。可使用常量C結(jié)構包含所有128個32位向量,并使用 memcpy() 函數(shù)進行復制。對于某些設備,需避免覆蓋前三個32位PIE向量位置。

4.2 復制 .hwi_vec 段(僅DSP/BIOS項目)

DSP/BIOS的 .hwi_vec 段包含中斷向量,必須加載到閃存但從RAM運行。用戶負責將該段從其加載地址復制到運行地址,通常在 main() 中完成??墒褂肈SP/BIOS配置工具生成的全局符號確定加載地址、運行地址和段長度,并使用 memcpy() 函數(shù)進行復制。對于某些設備,需避免覆蓋前三個32位PIE向量位置。

4.3 復制 .trcdata 段(僅DSP/BIOS項目)

DSP/BIOS的 .trcdata 段必須加載到閃存但從RAM運行,且復制必須在 main() 之前進行。可使用DSP/BIOS配置工具提供的用戶初始化函數(shù)完成復制,利用配置工具生成的全局符號確定加載地址、運行地址和段長度,并使用 memcpy() 函數(shù)進行復制。

4.4 初始化閃存控制寄存器(DSP/BIOS和非DSP/BIOS項目)

閃存控制寄存器的初始化代碼不能從閃存執(zhí)行,否則可能導致不可預測的結(jié)果。因此,初始化函數(shù)必須在運行時從閃存(加載地址)復制到RAM(運行地址)。需注意閃存控制寄存器受代碼安全模塊(CSM)或雙代碼安全模塊(DCSM)保護,不同設備的保護方式不同。可使用C編譯器的 CODE_SECTION 編譯指示創(chuàng)建可單獨鏈接的段,并在用戶鏈接器命令文件中指定加載和運行地址,最后使用 memcpy() 函數(shù)進行復制。

4.5 從RAM執(zhí)行時間關鍵函數(shù)以最大化性能(DSP/BIOS和非DSP/BIOS項目)

F28xxx設備的片上RAM提供的代碼執(zhí)行性能與設備的工作時鐘頻率相等(以MIPS為單位),而片上閃存的有效代碼執(zhí)行性能稍低。因此,對于時間關鍵或計算要求高的例程,可考慮從片上RAM運行。需為這些函數(shù)設置單獨的加載和運行地址,并在運行時將其從片上閃存復制到RAM。

4.6 將關鍵全局常量鏈接到RAM以最大化性能(DSP/BIOS和非DSP/BIOS項目)

常量數(shù)據(jù)結(jié)構存放在 .econst 段中,訪問閃存中的數(shù)據(jù)常量可能需要多個周期。為提高性能,可將頻繁訪問的常量和常量表保留在片上RAM中??刹捎脙煞N方法:

  • 方法1:從RAM運行所有常量數(shù)組:為整個 .econst 段指定單獨的加載和運行地址,并在運行時將其復制到RAM。
  • 方法2:從RAM運行特定常量數(shù)組:選擇性地將常量從閃存復制到RAM,將選定的常量放置在命名段中并復制到RAM。

5. 編程代碼安全模塊密碼

F28xxx設備的代碼安全模塊提供對軟件的保護,防止未經(jīng)授權的復制和篡改。設備分為單區(qū)代碼安全模塊(CSM)和雙區(qū)代碼安全模塊(DCSM)。

5.1 單區(qū)安全設備(DSP/BIOS和非DSP/BIOS項目)

CSM保護整個閃存、OTP內(nèi)存和一些‘L’ SARAM塊。CSM使用128位密碼,在開發(fā)階段建議使用0xFFFF的虛擬密碼。開發(fā)完成后,可使用真實密碼,并將0x0000值編程到密碼地址前的118個閃存地址中??墒褂?a href="http://m.greenbey.cn/v/tag/3195/" target="_blank">匯編語言編程實現(xiàn)密碼設置,并在用戶鏈接器命令文件中放置密碼和保留段。

5.2 雙區(qū)安全設備(DSP/BIOS和非DSP/BIOS項目)

雙區(qū)安全與單區(qū)安全類似,但有三個主要區(qū)別:

  • 從安全區(qū)執(zhí)行的代碼只能訪問該區(qū)域或非安全內(nèi)存中的數(shù)據(jù)。
  • 每個區(qū)域使用位于OTP內(nèi)存中的16x16位‘區(qū)域選擇塊’控制對該區(qū)域的安全訪問。
  • 安全配置表位于OTP內(nèi)存中,每個條目只能寫入一次。

可使用匯編語言創(chuàng)建區(qū)域配置表,并在用戶鏈接器命令文件中鏈接相關段。

6. DSP復位后從閃存執(zhí)行代碼

F28xxx設備包含ROM引導加載程序,可在設備復位后將代碼執(zhí)行轉(zhuǎn)移到閃存。當引導模式選擇引腳配置為‘Jump-to-Flash’模式時,ROM引導加載程序?qū)⒎种У介W存中的跳轉(zhuǎn)目標地址。用戶應在該地址放置分支指令,分支到代碼的起始位置??墒褂脜R編代碼創(chuàng)建名為 codestart 的初始化段,并在用戶鏈接器命令文件中放置該段。

7. 在C環(huán)境引導期間禁用看門狗定時器

C編譯器運行時支持庫中的C環(huán)境初始化函數(shù) _c_int00 負責初始化全局和靜態(tài)變量。當軟件中存在大量初始化的全局和靜態(tài)變量時,看門狗定時器可能在C環(huán)境引導例程完成并調(diào)用 main() 之前超時??赏ㄟ^在C環(huán)境引導例程開始之前禁用看門狗定時器來解決該問題,在到達 main() 并開始正常代碼執(zhí)行流程后再重新啟用??墒褂脜R編代碼實現(xiàn)看門狗禁用和分支到 _c_int00 例程。

8. C代碼示例

8.1 概述

本文提供了包含CCS v5代碼項目的下載,涵蓋了F281x、F280x、F2802x、F2803x、F2805x、F2806x和F2833x子系列的超集設備。每個設備類型(除F2802x、F2803x和F2805x外)有四個不同的項目:非DSP/BIOS項目(從片上RAM運行和從片上閃存運行)和DSP/BIOS項目(從片上RAM運行和從片上閃存運行)。這些項目僅為示例,使用的開發(fā)工具版本為CCS v5.3.0、Code Generation Tools v6.1.1和DSP/BIOS v5.42.0.07。

8.2 目錄結(jié)構

每個代碼項目包含所有所需文件(除C編譯器運行時支持庫外),表3提供了CCS項目的目錄結(jié)構描述。

8.3 附加信息

  • 構建項目后,.out 文件將位于 Debug 目錄中。
  • 使用RAM示例時,板應配置為“Jump to H0 SARAM”(F2812)或“Jump to M0 SARAM”(其他設備)引導模式;使用FLASH示例時,板應配置為“Jump to Flash”引導模式。
  • 示例項目的鏈接位置未經(jīng)過精細調(diào)整,若作為代碼開發(fā)的起點,可能需要調(diào)整鏈接以提高性能。
  • 非DSP/BIOS項目在 DefaultIsr_nonBIOS.c 文件中定義了完整的中斷服務例程;DSP/BIOS項目在 DefaultIsr_BIOS.c 文件中定義了完整的(硬件)中斷服務例程。

總之,在TMS320F28xxx DSP上從內(nèi)部閃存運行應用程序需要考慮多個方面,包括鏈接器命令文件的創(chuàng)建、段的鏈接位置、段的復制、代碼安全模塊密碼的編程等。通過遵循本文介紹的步驟和技巧,工程師可以順利地將應用程序配置為從內(nèi)部閃存運行,并優(yōu)化性能。你在實際應用中遇到過哪些相關問題呢?歡迎在評論區(qū)分享。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TMS320F280x/C280x系列數(shù)字信號處理器:功能特性與應用指南

    TMS320F280x/C280x系列數(shù)字信號處理器:功能特性與應用指南 在電子設計領域,數(shù)字信號處理器(DSP)扮演著至關重要的角色,能夠高效處理各種復雜的數(shù)字信號處理任務。TI(德州儀器
    的頭像 發(fā)表于 04-23 16:05 ?93次閱讀

    TMS320F281x與TMS320C281x DSPs:功能特性與應用指南

    TMS320F281x與TMS320C281x DSPs:功能特性與應用指南 在電子設計領域,數(shù)字信號處理器(DSP)扮演著至關重要的角色。今天我們要深入探討的是德州儀器(TI)推出
    的頭像 發(fā)表于 04-23 14:20 ?82次閱讀

    TMS320F281x/C281x DSPs:高性能數(shù)字信號處理器的全面解析

    TMS320F281x/C281x DSPs:高性能數(shù)字信號處理器的全面解析 在當今的電子設計領域,數(shù)字信號處理器(DSP)扮演著至關重要的角色。TI的TMS320F281x和
    的頭像 發(fā)表于 04-23 14:15 ?77次閱讀

    TMS320F2805x系列實時微控制器:特性、應用與開發(fā)指南

    TMS320F2805x系列實時微控制器:特性、應用與開發(fā)指南 在電子工程領域,實時微控制器是眾多應用的核心組件。TMS320F2805x系列實時微控制器以其卓越的性能和豐富的功能,在工業(yè)控制、電機
    的頭像 發(fā)表于 04-23 14:05 ?88次閱讀

    TMS320F280x/C280x系列數(shù)字信號處理器深度解析

    TMS320F280x/C280x系列數(shù)字信號處理器深度解析 在電子工程領域,數(shù)字信號處理器(DSP)是實現(xiàn)高效信號處理和控制的關鍵組件。TI的TMS320F280x和TMS320C2
    的頭像 發(fā)表于 04-23 13:55 ?87次閱讀

    TMS320F243與TMS320F241 DSP控制器:數(shù)字信號處理的得力助手

    TMS320F243與TMS320F241 DSP控制器:數(shù)字信號處理的得力助手 在數(shù)字信號處理領域,德州儀器(TI)的TMS320F243和TMS
    的頭像 發(fā)表于 04-23 13:45 ?85次閱讀

    深入解析TMS320F280x與TMS320C280x系列數(shù)字信號處理器

    深入解析TMS320F280x與TMS320C280x系列數(shù)字信號處理器 前言 在電子工程師的設計工作中,選擇合適的數(shù)字信號處理器(DSP)至關重要。它能顯著影響項目的性能、成本和開發(fā)周期。今天我們
    的頭像 發(fā)表于 04-19 09:40 ?125次閱讀

    TMS320LF2401A與TMS320LC2401A DSP控制器深度解析

    TMS320LF2401A與TMS320LC2401A DSP控制器深度解析 在電子設計領域,數(shù)字信號處理器(DSP)扮演著至關重要的角色。今天,我們將深入探討德州儀器(TI
    的頭像 發(fā)表于 03-09 14:05 ?242次閱讀

    TMS320VC5507 DSP深度剖析:特性到應用的全方位指南

    TMS320VC5507 DSP深度剖析:特性到應用的全方位指南 一、引言 在現(xiàn)代電子設計領域,數(shù)字信號處理器(DSP)扮演著至關重要的角
    的頭像 發(fā)表于 03-09 10:45 ?343次閱讀

    Microchip PIC18F2XXX/4XXX 系列閃存微控制器編程指南

    Microchip PIC18F2XXX/4XXX 系列閃存微控制器編程指南 在電子設計領域,微控制器的編程是一項關鍵工作。今天,我們就來深入探討一下 Microchip 的 PIC1
    的頭像 發(fā)表于 02-09 16:50 ?1091次閱讀

    TMS320F28P650DK實時微控制器技術文檔總結(jié)

    TMS320F28P65x (F28P65x) 是 C2000? 實時微控制器系列的成員,該系列是可擴展、超低延遲的器件,專為提高電力電子效率而設計,包括但不限于:高功率密度、高開關頻率,并支持 IGBT、GaN 和 SiC 技術的使用。
    的頭像 發(fā)表于 09-29 17:44 ?2751次閱讀
    <b class='flag-5'>TMS320F28</b>P650DK實時微控制器技術文檔總結(jié)

    TMS320F280013x系列微控制器技術解析與應用指南

    控制子系統(tǒng)基于32位C28x DSP內(nèi)核,能夠為片上閃存或SRAM運行的浮點或定點代碼提供120MHz的信號處理性能。三角數(shù)學單元 (TMU) 進一步增強了C
    的頭像 發(fā)表于 08-27 10:26 ?1281次閱讀
    <b class='flag-5'>TMS320F</b>280013x系列微控制器技術解析與應用<b class='flag-5'>指南</b>

    TMS320F280015x微控制器技術解析:面向?qū)崟r控制的高效解決方案

    多大軟件開銷的情況下達到ASIL B功能安全器件等級。其實時控制子系統(tǒng)基于TI’s 32位C28x DSP內(nèi)核,它為片上閃存或SRAM運行
    的頭像 發(fā)表于 08-21 09:30 ?1342次閱讀
    <b class='flag-5'>TMS320F</b>280015x微控制器技術解析:面向?qū)崟r控制的高效解決方案

    Texas Instruments TMS320F28P65x/TMS320F28P65x-Q1實時MCU數(shù)據(jù)手冊

    Texas Instruments TMS320F28P65x/TMS320F28P65x-Q1實時微控制器(MCU)屬于C2000? 實時微控制器系列,是可擴展、超低延遲器件。C2000 MCU
    的頭像 發(fā)表于 08-01 11:05 ?2173次閱讀
    Texas Instruments <b class='flag-5'>TMS320F28</b>P65x/<b class='flag-5'>TMS320F28</b>P65x-Q1實時MCU數(shù)據(jù)手冊

    Texas Instruments TMS320F28P55x/TMS320F28P55x-Q1實時MCU數(shù)據(jù)手冊

    Texas Instruments TMS320F28P55x/TMS320F28P55x-Q1實時微控制器 (MCU) 屬于C2000? 實時MCU系列可擴展、超低延遲器件的一部分,設計用于提高
    的頭像 發(fā)表于 07-18 13:40 ?1489次閱讀
    Texas Instruments <b class='flag-5'>TMS320F28</b>P55x/<b class='flag-5'>TMS320F28</b>P55x-Q1實時MCU數(shù)據(jù)手冊
    石阡县| 碌曲县| 武陟县| 岳西县| 安塞县| 桦南县| 衡东县| 永年县| 麻城市| 永德县| 阜新市| 辉县市| 隆子县| 化隆| 通州市| 绵阳市| 台东县| 余姚市| 崇义县| 平南县| 尼木县| 大姚县| 民丰县| 西乌珠穆沁旗| 邯郸市| 陵川县| 乌审旗| 怀仁县| 社会| 平定县| 临猗县| 介休市| 涞源县| 天峻县| 崇信县| 得荣县| 益阳市| 庆元县| 富裕县| 额敏县| 巴南区|