国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

DSP_基于TMS320F28377D雙核芯片和CCS7.40的編程入門

這篇具有很好參考價值的文章主要介紹了DSP_基于TMS320F28377D雙核芯片和CCS7.40的編程入門。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

開始之前明確一個東西裸機(jī)程序和RTOS程序的差別:參考下面三個連接瞅瞅

?

??????理解實(shí)時操作系統(tǒng)與裸機(jī)的區(qū)別-----Free RTOS 簡介_書中倦客的博客-CSDN博客_裸機(jī)操作系統(tǒng)

裸機(jī)與RTOS的理解和并發(fā)帶來的問題-電子發(fā)燒友網(wǎng) (elecfans.com)

??????類似于STM32之類的單片機(jī),RTOS比裸機(jī)真有那么大優(yōu)勢? (baidu.com)

總得來說呢,就是RTOS會損失部分DSP的運(yùn)算效率,建議還是開發(fā)裸機(jī)程序吧。

DSP_基于TMS320F28335和CCS7.2的編程入門_heqiunong的博客-CSDN博客

在上一篇關(guān)于DSP的文章中,我們講到了TMS320F28335芯片的編程入門,這款芯片是單核的,而本文涉及的TMS320F28377D是多核的。那么單核和多核編程直接是啥區(qū)別呢?對于TMS320F28377D,我感覺網(wǎng)上的資料不多,而且之前從來沒有多核編程的經(jīng)驗(yàn),回想當(dāng)初,我還是有些許的害怕的,其實(shí)掌握了還是很簡單的,下面記錄一下單核到多核的摸索之路。不要慌,循序漸進(jìn)即可。

1. 僅用28377D的CPU1實(shí)現(xiàn)“單核”+ 在線模式(RAM)

在線模式程序燒寫到RAM里運(yùn)行,CPU1和CPU2的啟停都受到仿真器的控制,斷電重啟后上次運(yùn)行的程序會丟失,需要重新燒寫。需要注意的重點(diǎn)是cmd文件要選對,因?yàn)槭菬龑懙絉AM,因此選擇2837xD_RAM_lnk_cpu1.cmd。另外由于我們用的是裸機(jī)程序而非RTOS,因此還需要選擇F2837xD_Headers_nonBIOS_cpu1.cmd。

DSP_基于TMS320F28335和CCS7.2的編程入門_heqiunong的博客-CSDN博客,前面我們講過建議去TI官網(wǎng)去下載controlSUITE軟件,所提及的cmd文件和各種源文件 庫文件這個軟件都能夠提供。

下面詳細(xì)介紹從打開CCS到把CPU1運(yùn)行起來。 (warning:大量無情截圖,毫無感情可言)

ccs雙核芯片下載,DSP,DSP

?ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

?ccs雙核芯片下載,DSP,DSP

?ccs雙核芯片下載,DSP,DSP

?ccs雙核芯片下載,DSP,DSP

?ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

/*
 * main.c
 *
 *  Created on: 2021年11月16日
 *      Author: Heqiunong
 */

#include "F28x_Project.h"

void main(void)
{

   InitSysCtrl();
   DINT;
   InitPieCtrl();

   IER = 0x0000;
   IFR = 0x0000;

   InitPieVectTable();

   EALLOW;
   GpioCtrlRegs.GPDPUD.bit.GPIO111  = 0;
   GpioCtrlRegs.GPDMUX1.bit.GPIO111 = 0;    // GPIO111 = GPIO111
   GpioCtrlRegs.GPDDIR.bit.GPIO111  = 1;    // GPIO111 = output
   EDIS;


    while(1){
        GpioDataRegs.GPDSET.bit.GPIO111 = 1;
        DELAY_US(1000000);
        GpioDataRegs.GPDCLEAR.bit.GPIO111 = 1;
        DELAY_US(1000000);
    }

}

?ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP?ccs雙核芯片下載,DSP,DSP

?ccs雙核芯片下載,DSP,DSP

?ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP

ccs雙核芯片下載,DSP,DSP?ccs雙核芯片下載,DSP,DSP

?2. 僅用28377D的CPU1實(shí)現(xiàn)“單核”+ 離線模式(FLASH)

?離線模式指用把程序燒寫到Flash里運(yùn)行,斷電重啟后,程序仍可正常運(yùn)行。在線模式下,CPU1和CPU2的啟動和停止都受仿真器控制。離線模式下,CPU2的啟動受CPU1控制

首先,代碼需要做一個拷貝 memcpy。【注意:以下操作有效的前提是代碼框架是按第一步那樣搭建的

ccs雙核芯片下載,DSP,DSP

其次,cmd文件需要換一個

ccs雙核芯片下載,DSP,DSP

?編譯上傳后,斷電,把仿真器拔掉,再上電。 程序依然正常運(yùn)行,可以改變呼吸燈的頻率簡單驗(yàn)證程序是否離線運(yùn)行正常。

3. CPU1 + CPU2 實(shí)現(xiàn)“雙核”+ 在線模式(RAM)

為了驗(yàn)證雙核的程序,基于雙核實(shí)現(xiàn)不同頻率的呼吸燈。TMS320F28377D的雙核CPU1和CPU2,是近乎可視為各自獨(dú)立的,從某種程度上,你可以把它視為兩塊單核的dsp來用。如果想要跑雙核的程序,需要給CPU1和CPU2分別建一個工程。

3.1 CPU1和CPU2分別各建一個工程

首先需要說明的是CPU1和CPU2都需要設(shè)置一個 Predefined Symbols, CPU1就設(shè)置個CPU1,CPU2就設(shè)置個CPU2。 前文我們是在源文件里面#define CPU1。現(xiàn)在是我們換了一種更official的方法。

ccs雙核芯片下載,DSP,DSP?

3.2 CPU1CPU2雖近乎獨(dú)立,但它們應(yīng)是主從關(guān)系

3.2.1 比如CPU2是無法配置GPIO的,它只能CPU1來配置

下面是CPU2的代碼,里面嘗試配置GPIO的上拉,復(fù)用和輸出方向

ccs雙核芯片下載,DSP,DSP?

?ccs雙核芯片下載,DSP,DSP?

因此GPIO的配置,則必須放在CPU1的工程里面。 我們的程序配置只需要配置兩個連LED燈的GPIO MUX功能為GPIO,方向配置成輸出。

3.2.2 另外還有一個證據(jù)說明CPU1 CPU2是主從關(guān)系

CPU1能夠使用官方提供的所有source文件,而CPU2卻有部分source文件是不支持的。如下圖所示。

ccs雙核芯片下載,DSP,DSP

?把圖中出現(xiàn)問題,帶有小紅×的.c源文件刪除,CPU2的工程即可正常編譯。

3.3CMD文件的選擇

CPU1工程

ccs雙核芯片下載,DSP,DSP

CPU2工程

ccs雙核芯片下載,DSP,DSP

3.4 仿真時,工程啟動順序(很關(guān)鍵)?

首先用CPU1的工程來連接,并且把CPU1和CPU2兩個都勾選上。 這特別關(guān)鍵,必須選對,它只給你選一次的機(jī)會,后面就不讓你選了。我真的找了好久的接口,會的朋友可以教教我

ccs雙核芯片下載,DSP,DSP

然后,就會出現(xiàn)下圖的情況

ccs雙核芯片下載,DSP,DSP

我們發(fā)現(xiàn), 此時CPU2上目前加載的是CPU1工程的代碼,因此我們需要替換成CPU2本身的代碼,所以需要重新load。

ccs雙核芯片下載,DSP,DSP?ccs雙核芯片下載,DSP,DSP

好,現(xiàn)在CPU1是跑的是CPU1工程的程序,CPU2跑的CPU2程序。 現(xiàn)在還需要注意的是 先跑CPU1的程序,再跑CPU2的程序。

ccs雙核芯片下載,DSP,DSP?ccs雙核芯片下載,DSP,DSP

?這樣,就是雙核在線模式的主要流程了

另外還有一個段代碼需要注意

GPIO_SetupPinMux(111, GPIO_MUX_CPU2, 0);

這句話的意思應(yīng)該是說,CPIO111復(fù)用給CPU2,里面各種指針滿天飛,主要是設(shè)置偏移地址。

沒這句話, CPU2里面對GPIO置位和清零操作是不起作用的。

4. CPU1 + CPU2 實(shí)現(xiàn)“雙核”+ 離線模式(FLASH)

代碼還是用雙核在線模式的代碼為基礎(chǔ),主要看一下怎么燒寫到FLASH里面。

4.1 CMD文件的選擇

CPU1工程的CMD

ccs雙核芯片下載,DSP,DSP

CPU2工程的CMD

ccs雙核芯片下載,DSP,DSP

4.2 代碼需要注意的地方

CPU1工程添加兩個預(yù)定義宏, CPU2工程需要添加一個預(yù)定義宏

ccs雙核芯片下載,DSP,DSP

?ccs雙核芯片下載,DSP,DSP

?強(qiáng)烈建議用上述方式去配置。

為什么呢? 因?yàn)槟阒苯釉趍ain.c里面配置的話,包含InitSysCtrl的這個文件找不到_FLASH這個宏。

ccs雙核芯片下載,DSP,DSP

?這個灰色的塊,意思就是_FLASH沒有被定義。

我嘗試寫一個main.h文件,把宏定義放在那里面。同時,Include Options把main.h的路徑添加進(jìn)去,但是還是找不到。

ccs雙核芯片下載,DSP,DSP

但在F2837xD_SysCtrl.c文件里面#include "main.h"就可以,后面再酌情優(yōu)化一下吧。

以下是關(guān)鍵代碼:

CPU1里的

#include "F2837xD_Ipc_drivers.h"
#ifdef _STANDALONE
#ifdef _FLASH
    //
    //  Send boot command to allow the CPU02 application to begin execution
    //
    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH); 這行會被執(zhí)行
#else
    //
    //  Send boot command to allow the CPU02 application to begin execution
    //
    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);
#endif
#endif

CPU2工程里的

#ifdef _FLASH
    memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
    InitFlash();
#endif

燒寫和在線模式一樣, CPU1工程啟動綠色小爬蟲, 然后再把CPU2的程序換成已編譯好的CPU2工程的.out文件。

值得注意的是,這種模式無法在線調(diào)試,加斷點(diǎn)什么的。 拔掉仿真器,然后斷電重啟,就可以正常跑起來了。

那如果要在線調(diào)試呢? 可以把_STANDALONE的預(yù)定義去掉,就可以了。文章來源地址http://www.zghlxwxcb.cn/news/detail-640477.html

到了這里,關(guān)于DSP_基于TMS320F28377D雙核芯片和CCS7.40的編程入門的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • DSP_TMS320F28377D_算法加速方法1_拷貝程序到RAM運(yùn)行

    DSP_TMS320F28377D_算法加速方法1_拷貝程序到RAM運(yùn)行

    TI C2000系列的DSP芯片算力有限,用于來控制有時候常會出現(xiàn)控制程序無法實(shí)現(xiàn)實(shí)時運(yùn)行的情況,因此從本文開始,將陸續(xù)推出幾篇DSP算法加速的方法 此方法只需要添加 一行代碼 和 一個預(yù)定義 ,即可達(dá)到算法整體加速的目的。先聲明本文是講的是TMS320F28377D,其他C2000系列芯片

    2024年02月10日
    瀏覽(26)
  • DSP_TMS320F28377D_算法加速方法2_添加浮點(diǎn)運(yùn)算快速補(bǔ)充庫rts2800_fpu32_fast_supplement.lib

    DSP_TMS320F28377D_算法加速方法2_添加浮點(diǎn)運(yùn)算快速補(bǔ)充庫rts2800_fpu32_fast_supplement.lib

    繼上一篇博客DSP_TMS320F28377D_算法加速方法1_拷貝程序到RAM運(yùn)行_江湖上都叫我秋博的博客-CSDN博客之后,本文講第二種DSP算法加速的方法,該方法的加速效果很明顯,但是加速范圍僅限于32位浮點(diǎn)數(shù)下面這幾種函數(shù): 下面稍微解釋一下一些可能有疑問的點(diǎn) 1 電機(jī)控制中經(jīng)常對同一

    2024年02月10日
    瀏覽(30)
  • TMS320F28374S之X-BAR

    TMS320F28374S之X-BAR

    X-BAR可翻譯為 交叉開關(guān) 或者 交換總線 ,在DSP中有四種 X-BAR,分別是: Input X-BAR、 Output X-BAR、 CLB X-BAR 和 ePWM X-BAR。Input X-BAR可以將外部信號傳輸?shù)紺PU內(nèi)部,Output X-BAR則可以將內(nèi)部信號傳輸?shù)酵獠縂PIO端口。CLB X-BAR 和ePWM X-BAR將內(nèi)部信號傳輸?shù)紺LB和 ePWM模塊。 Input X-BAR用于將信號從

    2024年02月13日
    瀏覽(23)
  • 【輪式平衡機(jī)器人】——TMS320F28069片內(nèi)外設(shè)之ePWM

    【輪式平衡機(jī)器人】——TMS320F28069片內(nèi)外設(shè)之ePWM

    聲明:本系列博客參考有關(guān)專業(yè)書籍,截圖均為自己實(shí)操,僅供交流學(xué)習(xí)! 脈沖寬度調(diào)制(PWM)是一種對模擬信號進(jìn)行數(shù)字編碼的方法,硬件原理是根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實(shí)現(xiàn) 開關(guān) 穩(wěn)壓電源輸出晶體管 或 晶體管導(dǎo)通時間的 改變。 一個重要

    2024年03月11日
    瀏覽(21)
  • 【TES600】基于XC7K325T與TMS320C6678的通用信號處理平臺

    【TES600】基于XC7K325T與TMS320C6678的通用信號處理平臺

    板卡概述 ??????? TES600是一款基于FPGA+DSP協(xié)同處理架構(gòu)的通用高性能實(shí)時信號處理平臺,該平臺采用1片TI的KeyStone系列多核浮點(diǎn)/定點(diǎn)DSP TMS320C6678作為主處理單元,采用1片Xilinx的Kintex-7系列FPGA XC7K325T作為協(xié)處理單元,具有1個FMC子卡接口,具有4路SFP+萬兆光纖接口,具有2路

    2024年02月06日
    瀏覽(32)
  • 基帶信號處理設(shè)計(jì)原理圖:2-基于6U VPX的雙TMS320C6678+Xilinx FPGA K7 XC7K420T的圖像信號處理板

    基帶信號處理設(shè)計(jì)原理圖:2-基于6U VPX的雙TMS320C6678+Xilinx FPGA K7 XC7K420T的圖像信號處理板

    基于6U VPX的雙TMS320C6678+Xilinx FPGA K7 XC7K420T的圖像信號處理板 ?????????綜合圖像處理硬件平臺包括圖像信號處理板2塊,視頻處理板1塊,主控板1塊,電源板1塊,VPX背板1塊。 一、板卡概述 ?????????圖像信號處理板包括2片TI 多核DSP處理器-TMS320C6678,1片Xilinx FPGA XC7K420T-

    2024年03月15日
    瀏覽(104)
  • 圖像信號處理板設(shè)計(jì)原理圖:2-基于6U VPX的雙TMS320C6678+Xilinx FPGA K7 XC7K420T的圖像信號處理板

    圖像信號處理板設(shè)計(jì)原理圖:2-基于6U VPX的雙TMS320C6678+Xilinx FPGA K7 XC7K420T的圖像信號處理板

    ?????????綜合圖像處理硬件平臺包括圖像信號處理板2塊,視頻處理板1塊,主控板1塊,電源板1塊,VPX背板1塊。 一、板卡概述 ?????????圖像信號處理板包括2片TI 多核DSP處理器-TMS320C6678,1片Xilinx FPGA XC7K420T-1FFG1156,1片Xilinx FPGA XC3S200AN。實(shí)現(xiàn)四路千兆以太網(wǎng)輸出,兩路

    2024年02月04日
    瀏覽(90)
  • 11.TMS320C5509V+Win10+CCS8開發(fā)環(huán)境搭建

    11.TMS320C5509V+Win10+CCS8開發(fā)環(huán)境搭建

    眾所周知,相較于TMS320F28335,TMS320C5509V屬于較老的平臺,在新版本的CCS版本上支持一直是一個問題。 最基本的問題便是,無法新建基礎(chǔ)工程。各開發(fā)版廠商提供的例程無法在CCS8上使用,只支持CCS3.3環(huán)境,但是由于目前Win7、Win10等系統(tǒng)均不再支持CCS3.3,所以只能折騰虛擬機(jī)來

    2024年02月07日
    瀏覽(25)
  • 車規(guī)級芯片之 MCU、MPU、DSP、FPGA、SOC

    ????????隨著處理器技術(shù)的不斷發(fā)展, CPU (Central Processing Unit)的發(fā)展逐漸出現(xiàn)三種分支,分別是 MCU (Micro Controller?Unit,微控制器單元) 和 MPU (Micro Processor Unit,微處理器單元)和 DSP (Digital Signal Processing/Processor)數(shù)字信號處理器。 ????????MCU在應(yīng)用中比較常見的就是ST的

    2024年02月02日
    瀏覽(26)
  • NTP8835(30W內(nèi)置DSP雙通道D類音頻功放芯片)

    NTP8835(30W內(nèi)置DSP雙通道D類音頻功放芯片)

    數(shù)字功放是一種具有失真小、噪音低、動態(tài)范圍大等特點(diǎn)的音頻功率放大器;由工采網(wǎng)代理的韓國耐福旗下NTP系列專業(yè)功率放大器是ClassD功放的一個新里程碑。 NTP8835是一款高性能、高保真功率驅(qū)動集成全數(shù)字音頻放大器,工作電壓范圍:7V~28V;包含 2 CH立體聲(30W x 2 BTL @2

    2023年04月13日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包