原创 常見查找算法:二分查找算法

本文主要總結二分查找算法的遞歸實現與非遞歸實現,二分查找算法的時間複雜度爲,且只能針對已經排好序的數組進行查找。 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是以列向