原创 常見查找算法:二分查找算法
本文主要總結二分查找算法的遞歸實現與非遞歸實現,二分查找算法的時間複雜度爲,且只能針對已經排好序的數組進行查找。 1.非遞歸的實現: 1.1 首先設置3個索引,分別指向開始,結束和中間位置,即start=0,end=len-1,m
原创 Qt:程序封裝打包爲EXE
1.準備一個ico格式的圖標,放在工程目錄中 2.新建一個txt文檔,輸入IDI_ICON1 ICON DISCARDABLE "exe_ico.ico",exe_ico.ico爲圖標的名稱 3.將.txt文檔後綴名改爲 .rc,這裏
原创 DSP在SYS/BIOS建立自定義Platform
本文詳細介紹建立Platform的流程,Platform類似於CMD,主要是建立平臺與CPU地址的綁定。對於C6678芯片其默認的平臺爲 ti.platforms.evm6678。 查看已有的平臺包: 1.在CCS工具欄:Project-
原创 1、IPC--MessageQ
本節講解如何建立一個多核例程,並解釋代碼的運行結果. 首先確保安裝了SYS/BIOS中的IPC模塊,該模塊中有兩個例程:MessageQ,Notify。 其中MessageQ的代碼文件位於 F:\ProgramFiles\ti\ipc_1
原创 5、SYS/BIOS--ERROR
本文介紹ERROR模塊,通過設置無效的內存分配,來導致程序的中止。 /* * ======== error.c ======== * This example shows the use of xdc.runtime.Error
原创 4、SYS/BIOS--CLOCK
本文主要講解SYS/BIOS的定時器模塊(CLOCK)。 對於定時器模塊,可以設置成週期性的定時器,也可以設置爲一次性的定時。如上圖所示,當startFLAG爲True表示立即啓動而不需要調用Clock_start()來啓動。Clock
原创 3、SYS/BIOS--TASK
本模塊介紹SYS/BIOS中的第三種線程:TASK線程。 Task線程被Task模塊所管理控制,Task的優先級高於空閒循環(Idle Loop),但是低於硬件中斷和軟件中斷。Task模塊基於Task的優先級和當前執行的狀態動態地調度和搶
原创 2、SYS/BIOS--SWI
本模塊主要介紹軟件中斷(SWI);軟件中斷通過調用SYS/BIOS中斷API接口函數如Swi_post()來觸發中斷程序。SWI優先級高於任務,低於HWI。 同以下API函數可以觸發或者發起一個SWI: Swi_andn():當觸發器值變
原创 1、SYS/BIOS--HWI
在SYS/BIOS中,一個線程就是控制單點,它能夠激活一個函數的調用,或者是激活一段中斷服務程序(ISR)。SYS/BIOS中提供了一系列具有不同屬性的線程,每個線程類型具有不同的優先權和執行特性,各種線程從最高優先級到最低優先級排列如下
原创 EVMC6678L時鐘主頻配置
本文從兩個方面來講解如何配置6678的CPU: 關於6678芯片時鐘初始化可以利用F:\ProgramFiles\ti\ccsv8\ccs_base\emulation\boards\evmc6678l\gel 文件夾下面的GEL文件來進
原创 C語言的內存管理
由於DSP片上資源有限,良好的內存管理有利於提升效率,這裏總結一下關於C的內存管理。 一、一個可執行程序在存儲時(沒有調入到內存)分爲代碼區(text)、數據區(data)和未初始化數據區(bss)3個部分。 1、代碼區(text):存放
原创 DSP中CMD文件理解
CMD的名稱爲鏈接命令文件(Linker Command Files),用來存放鏈接的配置信息,簡稱命令文件,CMD由三大部分組成:1、輸入輸出定義,2、MEMORY命令,3、SECTION命令 1、輸入輸出的定義:通過ccs的“Buil
原创 GMSK信號調製
GMSK爲MSK+高斯濾波器:其中高斯濾波器的響應:MSK信號表示:close all;clear; Tpulse=20e-6;%脈衝寬度 Fs=25e6;%採樣頻率 Ts=1/Fs;%採樣週期 S=floor(Tpulse/Ts);%一
原创 Matlab中MUSIC函數轉爲C語言
1.在MATLAB中自己寫好封裝的函數music.m後,在新建m文件編寫數據輸入,其中pulse0是已經產生好的數據矩陣:2.將測試矩陣pulse0.mat轉爲txt格式,方便後續轉化爲C語言的測試使用;這裏需要注意矩陣轉爲txt是以列向