<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 低能耗加速器(LEA) > 許多DSPLib功能都支持MSP430 FRAM器件上可用的低功耗加速器(LEA)外設。 LEA是一種數字加速器,可實現一流的超低功耗信號處理和嵌入式數學計算,以實現諸如乘法和累加(MAC),濾波(FIR和IIR)和變換(FFT)之類的常見操作。 請參閱下面的LEA支持的API部分,以獲取支持LEA的API的完整列表。 ## 使用LEA注意事項 > LEA外圍設備的大部分用法都作為軟件庫的一部分進行了抽象,但是將LEA與DSPLib中的功能一起使用時,需要考慮一些關鍵因素。 數據必須放入共享內存中并對齊到某些地址邊界(通常功能需要4字節對齊,但FIR和FFT功能可能需要更嚴格的對齊)。 該庫包含預處理器宏,用于在共享LEA內存中分配和對齊數據結構,下面顯示了如何使用它們的示例。 ``` // Allocate 16-bit data vector with default 4-byte alignment //默認分配4字節對齊的16位向量數據 #define VECTOR_LENGTH 16 DSPLIB_DATA(vectorData,VECTOR_LENGTH) _q15 vectorData[VECTOR_LENGTH]; // Allocate 16-bit real FFT data vector with correct alignment. //以正確的對齊方式分配16位實數FFT數據向量。 #define FFT_LENGTH 256 DSPLIB_DATA(fftData,MSP_ALIGN_FFT_Q15(FFT_LENGTH)) _q15 fftData[FFT_LENGTH]; // Allocate 32-bit complex FIR circular buffer with correct alignment. The // circular buffer is twice the length of the FIR filter and the length is // doubled again for complex data with real and imaginary components. //以正確的對齊方式分配32位復數FIR循環緩沖區。 的 //循環緩沖區是FIR濾波器長度的兩倍,并且長度是 //對于具有實部和虛部的復雜數據,再次加倍。 #define FIR_LENGTH 32 DSPLIB_DATA(firCmplxData,MSP_ALIGN_CMPLX_FIR_IQ31(FIR_LENGTH)) _iq31 firCmplxData[2*2*FIR_LENGTH]; ``` 有關使用LEA使用該庫的更詳細信息,請參閱代碼示例。 ***** ## 數據分布 > 數據和系數數組必須駐留在CPU和LEA都可以訪問的共享RAM部分中。 這些數據部分在下面針對CCS和IAR列出,但是DSPLIB_DATA宏可用于輕松地將數據放入共享的LEA存儲器中。 > * CCS linker section: ".leaRAM" > * IAR linker section: "LEARAM" ***** ## 對齊 > 放置到共享LEA RAM部分中的數據必須至少與32位邊界對齊(4字節對齊),但是某些功能可能需要更嚴格的對齊方式,例如變換(FFT)和過濾器(FIR)功能。 每個API在API文檔的“ LEA支持”部分中列出了所需的對齊方式。 默認情況下,在調用LEA命令之前會檢查對齊方式,如果不符合條件,函數將返回 > MSP_LEA_INVALID_ADDRESS。 ## 低能耗模式的使用 > 使用LEA的功能將在LEA運行時進入使能中斷的LPM0,以實現最低的能耗。 LEA中斷例程由DSPLib提供,并在命令完成后喚醒設備。 應用程序可以自由使能其他中斷,并根據需要對其進行服務,從中斷返回LPM0。 > 某些芯片修訂版受LEA1勘誤表影響,其他外圍設備的異步中斷會中斷LEA的時序。 DSPLib通過保持在活動模式并輪詢LEA寄存器來解決此勘誤,以實現有效的修訂。 盡管不像使用LPM0那樣低能耗,但該例程已進行了優化,以利用FRAM緩存,并且比典型的活動模式使用的能耗低得多。 ***** ## LEA修訂 > 為了確保LEA的功能以及應用了最新的固件和解決方法,啟用診斷檢查后,DSPLib會檢查LEA代碼ROM的修訂版。 該修訂必須在編譯器選項中預定義,或者等于DSPLIb_lea.h中定義的默認修訂。 需要修補程序的功能將加載并執行命令的最新版本。 如果從LEA ROM讀取的修訂版不等于定義的修訂版,則該函數將返回MSP_LEA_INCORRECT_REVISION狀態,指示該修訂版不正確。 msp_lea_getRevision函數可用于檢查LEA修訂版,并在下面的示例中進行演示。 > > ``` /* Check that the correct revision is defined. */ //檢查定義了正確的修訂。 if (msp_lea_getRevision() != MSP_LEA_REVISION)) { // The defined value of MSP_LEA_REVISION does not match LEA revision. // MSP\_LEA\_REVISION的定義值與LEA修訂不匹配 __no_operation(); } ``` ## LEA支持的API > 下表列出了所有DSPLib API和LEA支持。 此外,每個功能的API文檔還包括LEA是否支持該功能以及任何其他對齊要求。 > | 函數| 描述|LEA支持 | 數據對齊(字節) | | --- | --- |--- |--- | | msp_add_q15 | 兩個實源向量的加法 | 是 | 4 | | msp_add_iq31| 兩個實源向量的加法 | 是 | 4 | | msp_sub_q15| 兩個實源向量的減法 | 是 | 4 | | msp_sub_iq31| 兩個實源向量的減法 | 是 | 4 | | msp_mpy_q15| 兩個實源向量的乘法 | 是 | 4 | | msp_mpy_iq31| 兩個實源向量的乘法 | 是 | 4 | | msp_neg_q15| 源向量的否 | 是 | 4 | | msp_neg_iq31| 源向量的否 | 是 | 4 | | msp_abs_q15| 實源向量的絕對值 | 否 | 4 | | msp_abs_iq31| 實源向量的絕對值 | 否 | 4 | | msp_offset_q15| 實源向量的常數偏移| 是 | 4 | | msp_offset_iq31| 實源向量的常數偏移| 是 | 4 | | msp_scale_q15| 縮放實源向量| 否 | 4 | | msp_scale_iq31| 縮放實源向量| 否 | 4 | | msp_shift_q15| 實向量的按位移位| 是 | 4 | | msp_shift_iq31| 實向量的按位移位| 是 | 4 | | msp_max_q15| 源向量的有符號最大值| 是 | 4 | | msp_max_iq31| 源向量的有符號最大值| 是 | 4 | | msp_max_uq15| 源向量的無符號最大值| 是 | 4 | | msp_max_uq31| 源向量的無符號最大值| 是 | 4 | | msp_min_q15| 源向量的有符號最小值| 是 | 4 | | msp_min_iq31| 源向量的有符號最小值| 是 | 4 | | msp_min_uq15| 源向量的無符號最小值| 是 | 4 | | msp_min_uq31| 源向量的無符號最小值| 是 | 4 | 待續......
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看