




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ADSP-EDU-BF53X說(shuō)明文 1.硬件說(shuō) 硬件配 使用ADSP-EDU- VisualDSP++5.0軟件安 VisualDSP++5.0升級(jí)包(Update)的安 Blackfin入門教 驅(qū)動(dòng)代碼說(shuō) 4.6 4.7 2 ADSP-EDU- ADSP-EDU- BlackfinFLASH燒寫說(shuō) FLASH燒寫文件的生 FLASH編 高級(jí)應(yīng)用代碼說(shuō) BF53x_SD_FS(SD卡文件系統(tǒng) BF53x_TOUCH_LINE(屏幕畫線 BF53x_TOUCH_MOUSE(光標(biāo)顯示 BF53x_ZIKU(漢字/ASICII字庫(kù) BF53x_LCD_ZIKU(字庫(kù)應(yīng)用 BF53x_LCD_TXT(電子書 BF53x_JPEG_DECODE(JPEG解碼 BF53x_JPEG_LCD_FS(電子相冊(cè) BF53x_AUDIO_PCM(播放 BF53x_TOUCH_ORGAN(電子琴 BF53x_SNAKE_KEY(鍵控貪吃蛇 BF53x_NES_128K(NES紅白機(jī)模擬器 BF53x_TOUCH_LED(光標(biāo)顯示 BF53x_MP3PLAY BF53x_JPEG_ENCODE(JPEG編碼 數(shù)字信號(hào)處理實(shí)例說(shuō) 7.1 7.2 7.3 7.4 用戶代碼收集說(shuō) BF53x_LED_KEY(LED按鍵測(cè)試 BF53x_LCD_KEY(液晶屏按鍵測(cè)試 視頻格式轉(zhuǎn)換應(yīng)用說(shuō) 9.1BF53x_RGB888_TO_RGB565(RGB888轉(zhuǎn) 9.2BF53x_YUV420_TO_RGB565(YUV420轉(zhuǎn) 9.4BF53x_YUV422_TO_RGB565(YUV422轉(zhuǎn) 圖象處理算法代碼說(shuō) BF53x_GradientSobel(Sobel算子邊緣檢測(cè) BF53x_GrayEqualize(圖像灰度均衡處理 3 BF53x_Mirror BF53x_Mirror(圖像鏡像處理 BF53x_ReverseColor(圖像反色處理 BF53x_StenciFilter(圖像的平滑處理 BF53x_Resize(圖像縮放處理 BF53x_Rotation(圖像旋轉(zhuǎn)處理 BF53x_Bright(圖像亮暗處理 BF53x_RGBtoGary(圖像灰度提取處理 BF53x_Bin_Conver(圖像二值變換處理 完整應(yīng)用代碼說(shuō) BF53x_NESPLAYER(NES游戲機(jī) 播放器 BF53x_PAINT(畫圖板 擴(kuò)展板代碼說(shuō) CMOS攝像 CVBSOUT視頻輸 CVBSIN視頻采 MEMS數(shù)字加速度傳感 12.5LCD-242.4寸真彩液晶 CPLD資源分配 擴(kuò)展接口資源分配 補(bǔ)充說(shuō)明(更多應(yīng)用正在添加中 .淘寶店http://dsp- 41.硬件配最小系統(tǒng)1.硬件配最小系統(tǒng)配DRAM:256MbitFLASH:16MbitNORFLASH1.3外設(shè)接口及功能1.31視頻輸出14.3480*27251.32實(shí)時(shí)1.33USB1個(gè)1.32實(shí)時(shí)1.33USB1個(gè) 設(shè)備接口1.34串口1RS2321.3514.31.36輕觸1.37音頻1LININ1HPOUT1.38SD/MMC1.398LED61.310網(wǎng)絡(luò)110M/100M1.3111.310網(wǎng)絡(luò)110M/100M1.311視頻輸入1.312擴(kuò)展1.4硬件接口ADSP-EDU-開(kāi)發(fā)板硬件接口如下圖7JTAG仿真接口CPLD燒寫接口7.5V電源接口RS232串LineIN接口板載MICUSB設(shè)備接口LEDTFT接口NORFLASH擴(kuò)展接口1825.4.3480*27226.1.5啟動(dòng)模式25.4.3480*27226.1.5啟動(dòng)模式S2ONADSP-BF53x啟動(dòng)模式02ADSP-EDU-2.1VisualDSP5.0軟件安9-->程序中,找到”Analog輸入序列輸入序列號(hào)“ADI-152-256-80087556-1283”,2.2VisualDSP5.02.2VisualDSP5.0升級(jí)包(Update)的關(guān)閉VisualDSP++5.0軟件,找到開(kāi)始菜單中如圖圖標(biāo)2.3仿真器與板卡的2.3仿真器與板卡的真器和AD-HP560ICE-FULL仿真器為例,來(lái)連接ADSP-EDU-BF53x開(kāi)發(fā)2.31AD-HP510ICE-采用AD-HP510ICE-FULL仿真器連接ADSP-EDU-BF53x開(kāi)發(fā)板,步驟如下其目的是防反插。AD-HP510ICE-FULL仿真器的仿真接口中Pin3孔被堵上,反向不能插入板卡。AD-HP510ICE-FULLADIICE-100BICE-JTAGEmulator軟件界面上,選擇“New軟件界面上,選擇“New選擇“ADSP-BF533via選擇“ADSP-BF533viaICE-100BADSP-EDU-BF53x開(kāi)發(fā)板以后會(huì)根據(jù)客戶需求,處理器會(huì)使用BF531,BF532,BF533,但我們的所有工程代2.32AD-HP560ICE-采用AD-HP560ICE-FULL仿真器2.32AD-HP560ICE-采用AD-HP560ICE-FULL仿真器連接ADSP-EDU-BF53x開(kāi)發(fā)板,步驟如下去,其目的是防反插。AD-HP560ICE-FULL仿真器的仿真接口中Pin3孔被堵上,反向不能插入板卡;AD-HP560ICE-FULL仿真器與ADI公司原產(chǎn)的ADSP-HPUSB-ICE仿真器完全兼容所以安裝后驅(qū)動(dòng)會(huì)顯示軟件界面上,選擇“NewADSP-EDU-BF53x軟件界面上,選擇“NewADSP-EDU-BF53x開(kāi)發(fā)板以后會(huì)根據(jù)客戶需求,處理器會(huì)BF531,BF532,BF533,但我們的所有工程代是以ADSP-BF533SessionBF533400MHz的主頻來(lái)選擇選擇“ADSP-BF533viaHPUSB-ICE”后3.Blackfin入門教DSP高手,本章節(jié)將詳細(xì)介紹DSP的接口使用,以最基礎(chǔ)的示例來(lái)詮釋Blackfin的魅力。3.13.11接口功能3.Blackfin入門教DSP高手,本章節(jié)將詳細(xì)介紹DSP的接口使用,以最基礎(chǔ)的示例來(lái)詮釋Blackfin的魅力。3.13.11接口功能過(guò)寄存器配置,可以輸出電平和感知接口電平,每一個(gè)PF接口都可以作為外部中斷接口。IO接口輸出時(shí),直接將輸出信號(hào)值付給該接口,如果作為輸入時(shí),直接通過(guò)3.12接口寄存器3.13例子代碼*pFIO_DIR&=3.13例子代碼*pFIO_DIR&=*pFIO_INEN|=i=*pFIO_DIR|=*pFIO_FLAG_S|=*pFIO_FLAG_D|=*pFIO_FLAG_D&=3.14代碼實(shí)現(xiàn)3.15測(cè)試工程BF53x_GPIO_OUT.dpj:運(yùn)行代碼后PF0將不斷變換高低電平3.23.21接口功3.23.21接口功能SIC_IARx:設(shè)置中斷優(yōu)先等級(jí)。每個(gè)中斷源都有一個(gè)默認(rèn)的優(yōu)先等級(jí),如不對(duì)該寄存器配置,則可以使用register_handler(ik_ivg12,斷管理器定義的中斷標(biāo)識(shí)符為FlagA_ISR和中斷等級(jí)為12級(jí)。3.22接口寄存器3.23例子代碼|=PF0|PF1;|=//設(shè)置PF0,PF13.23例子代碼|=PF0|PF1;|=//設(shè)置PF0,PF1//設(shè)置PF0,PF1為輸入*pFIO_MASKA_D|=*pSIC_IAR0=*pSIC_IAR1=*pSIC_IAR2=register_handler(ik_ivg12,{if(*pFIO_FLAG_D=={printf("interruptis}elseif(*pFIO_FLAG_D=={printf("interruptis}*pFIO_FLAG_C=}3.24代碼實(shí)現(xiàn)3.25測(cè)試3.25測(cè)試3.33.31接口功能PLL機(jī)制如圖3.32接口寄存器 分頻寄存器,設(shè)置系統(tǒng)時(shí)鐘和內(nèi)核時(shí)鐘分頻PLL控制寄存器,設(shè)置VCO倍頻系數(shù)和一些控制開(kāi)3.33例子代碼*pPLL_DIV=new_PLL_CTL=(pmsel&0x3f)<<//3.33例子代碼*pPLL_DIV=new_PLL_CTL=(pmsel&0x3f)<<//將VCO倍頻系數(shù)移位至需設(shè)置*pSIC_IWR|=if(new_PLL_CTL!={*pPLL_CTL=}3.34代碼實(shí)現(xiàn)=鐘為400/3=100MHz3.35測(cè)試運(yùn)行代碼后,處理器的內(nèi)核時(shí)鐘會(huì)運(yùn)行在400MHz,系統(tǒng)時(shí)鐘運(yùn)行在100MHz3.43.41接口功能EBIU接口是ADSP-BF53x的外部總線接口,ADSP-BF53xEBIU16根數(shù)據(jù)線,19根地址線,支持同步SDRAM接入和異步的總線外設(shè)接入,ADSP-BF53xEBIU接口共4BANK,每BANK接口采用指針?lè)绞皆L問(wèn),通過(guò)宏定義出要訪問(wèn)的地址,然后通過(guò)指針進(jìn)行讀寫數(shù)據(jù)PLL狀態(tài)寄存器,獲取芯片當(dāng)前工作的狀PLL計(jì)數(shù)器,用于設(shè)置計(jì)數(shù)時(shí)上圖是ADSP-BF53x處理器的內(nèi)存分其中上圖是ADSP-BF53x處理器的內(nèi)存分其中地址0~0x08000000為SDRAM地址,地址3.42接口寄存器BANK0,BANK1時(shí)序配置寄存BANK2,BANK3時(shí)序配置寄存EBIU使能寄存3.43例子代碼#define(volatileunsignedshort//定義一個(gè)指針,3.43例子代碼#define(volatileunsignedshort//定義一個(gè)指針,地址指向*pADDR=i=printf("datais%x\n",i);i=*pADDR;printf("addrisprintf("datais3.44代碼實(shí)現(xiàn)3.45測(cè)試3.53.51接口功能SPI4SPIFLASH,SPIAD,DA等等。ADSP-BF53xSPI接口支持主機(jī)模式和從機(jī)模式,它有7SPI從機(jī)片選,在主機(jī)模式下,它同時(shí)可以掛載7SPI設(shè)備,還可以在主機(jī)模式或從機(jī)模式下進(jìn)行BOOT啟動(dòng)。SCKFrequency=(PeripheralclockSCLK)/(2x3.52接口寄存器3.53例子代碼*pSPI_FLG//1/4系統(tǒng)時(shí)鐘SPISCKFrequency=(PeripheralclockSCLK)/(2x3.52接口寄存器3.53例子代碼*pSPI_FLG//1/4系統(tǒng)時(shí)鐘SPI//*pSPI_FLG&=*pSPI_TDBR=*pSPI_FLG|=*pSPI_FLG&=while(*pSPI_STAT&RXS)//查看SPI傳輸狀態(tài)是否有數(shù)i=*pSPI_FLG|=自動(dòng)片選的例子可以參考板卡驅(qū)動(dòng)程序中的SD卡驅(qū)動(dòng)代碼。3.54代碼實(shí)現(xiàn)3.55測(cè)試3.54代碼實(shí)現(xiàn)3.55測(cè)試3.63.61接口功能ADSP-BF53x上有3個(gè)通用定時(shí)器,每個(gè)定時(shí)器有三種模脈沖寬度調(diào)制模式脈沖寬度計(jì)數(shù)捕獲模式外部事件模式3.62接口寄存器3.63例子代碼====*pSIC_IAR0=*pSIC_IAR1=*pSIC_IAR2=0xfffffff4;*pSIC_IAR0=*pSIC_IAR1=*pSIC_IAR2=0xfffffff4;{printf("timer0interrupt}//標(biāo)識(shí)符為TIMER0_ISR的中斷3.64代碼實(shí)現(xiàn)3.65測(cè)試3.73.71接口功能()ADSP-BF53xUARTIrDA模式,在硬件上增加一個(gè)紅外通訊模塊當(dāng)設(shè)IrDA模式后,輸出的波形會(huì)與原數(shù)據(jù)相反,且信號(hào)寬度變窄,下圖IrDA模式下和正常模式下的比較BAUD=x接口寄例子代DLL//將變量divRBRTHRBAUD=x接口寄例子代DLL//將變量divRBRTHR*pSIC_IAR0=*pSIC_IAR1=UART*pSIC_IAR2=register_handler(ik_ivg10,//*pSIC_IAR2=register_handler(ik_ivg10,//{{cont=0;}}3.74代碼實(shí)現(xiàn)3.75測(cè)試3.83.81接口功能其速度可以達(dá)到1/2每一SPORT口有兩根接收數(shù)據(jù)線和兩根傳輸數(shù)據(jù)線,支持全雙工模式傳輸。SPORT接口通常用做一些高速的數(shù)據(jù)傳I2S模式,通常SPORT接口連接音頻的編解碼器芯片,作為SPORTx_TCLKfrequency=(SCLKfrequency)/(2x(SPORTx_TCLKDIV+1))SPORTx_RCLKfrequency=(SCLKfrequency)/(2x(SPORTx_RCLKDIV+SPORTxTFSfrequency=(TSCLKxfrequency)/(SPORTx_TFSDIV+SPORTxRFSfrequency=(RSCLKxfrequency)/(SPORTx_RFSDIV+3.82接口寄存器3.83例子代碼SPORTxRFSfrequency=(RSCLKxfrequency)/(SPORTx_RFSDIV+3.82接口寄存器3.83例子代碼====*pDMA4_PERIPHERAL_MAP=*pDMA4_CONFIG=WDSIZE_32|DI_EN*pDMA4_PERIPHERAL_MAP=*pDMA4_CONFIG=WDSIZE_32|DI_EN//DMA工作//DMA傳輸//設(shè)置DMA每次地址增量變=(*pDMA4_CONFIG|*pSPORT1_TCR1=(*pSPORT1_TCR1|*pSIC_IAR0=*pSIC_IAR1=*pSIC_IAR2=0xffffffff;register_handler(ik_ivg9,Sport1_RX_ISR);register_handler(ik_ivg10,{printf("SPORTTXDMA*pSIC_IMASK&=}//DMA中斷3.84代碼實(shí)現(xiàn)DMA傳輸數(shù)據(jù)和接收數(shù)據(jù),SPORT1接口時(shí)鐘和同步信號(hào)數(shù)據(jù)。也可以將擴(kuò)展接口上SPORT1的DT1PRI和DR1PRI兩個(gè)接口短接,實(shí)現(xiàn)環(huán)路測(cè)試功能,通過(guò)接收數(shù)據(jù)Buffer查看收到的數(shù)據(jù)3.85測(cè)試3.93.91接口功能3.93.91接口功能PPI(ParallelPeripheralInterface)ADSP-BF53x上常用于視頻信號(hào)和同步數(shù)據(jù)的傳輸,是半雙工接口,ADSP-BF53x上有一個(gè)16BitPPI接口,最高速度可以到系統(tǒng)時(shí)鐘的1/2,有視頻信號(hào)傳輸使用的行、列、場(chǎng)是三個(gè)同步信號(hào),支持ITU656,ITU601等模式,可兼容大部分視頻相關(guān)的芯片。PPIPPICLK信號(hào)必須由外部設(shè)備或者晶振提供,它沒(méi)有專門的行,列同步信號(hào)管腳,在使PPITimer1Timer2管腳來(lái)作為行列同步信號(hào)管腳,PPI接口的場(chǎng)同步FS3PF3腳復(fù)用,該信號(hào)是在傳輸電視視頻信號(hào)時(shí),指示當(dāng)前傳輸?shù)男盘?hào)是奇場(chǎng)還是偶場(chǎng)信號(hào),在通常不3.92接口寄存器3.93例子代碼*pDMA0_START_ADDR=*pDMA0_X_MODIFY=3.92接口寄存器3.93例子代碼*pDMA0_START_ADDR=*pDMA0_X_MODIFY=*pDMA0_Y_MODIFY=*pDMA0_CONFIG=//配置DMA一行要傳輸多少次數(shù)*pPPI_CONTROL=*pPPI_DELAY=*pPPI_COUNT=*pPPI_FRAME===== *pDMA0_CONFIG|=/3.94代碼實(shí)現(xiàn)3.95測(cè)試3.103.101模塊功3.94代碼實(shí)現(xiàn)3.95測(cè)試3.103.101模塊功能3.102接口寄存器3.103例子代碼*pMDMA_S0_START_ADDR=*pMDMA_S0_X_MODIFY=//8//2,16bit2個(gè)MDMA源地址寄存MDMA源地址通道配置寄存MDMA源地址配置寄存MDMA目的地址寄MDMA目的地址通道配置寄存MDMA目的地址配置寄*pMDMA_D0_START_ADDR=*pMDMA_D0_X_MODIFY=*pMDMA_S0_PERIPHERAL_MAP=*pMDMA_D0_START_ADDR=*pMDMA_D0_X_MODIFY=*pMDMA_S0_PERIPHERAL_MAP=//配置使用的DMA=*pSIC_IAR5=0xfffff6ff;3.104代碼實(shí)現(xiàn)能MDMA,重復(fù)搬運(yùn)數(shù)3.105測(cè)試在中斷函數(shù)中打個(gè)斷點(diǎn),運(yùn)行代碼后,Src_Buf中的數(shù)據(jù)會(huì)被搬運(yùn)到中去,完成搬運(yùn)后會(huì)進(jìn)3.113.111模塊功能ADSP3.113.111模塊功能ADSP上的LDF(LinkerDescriptionFiles)連接器描述文件是處理器用來(lái)進(jìn)行資源分配的文件,3.112LDF文件的VisualDSP++在彈出窗口中選擇“addStartup容量為32MB。選好后點(diǎn)“確定3.113LDF文件說(shuō)在3.113LDF文件說(shuō)在LDF文件上進(jìn)行雙擊鼠標(biāo)左鍵,或者按右鍵在彈出菜單中按下圖選擇,會(huì)SDRAM在LDF文件定義空間時(shí),在LDF文件定義空間時(shí),常在空間片斷描述符后面看到“ZERO_INIT”標(biāo)志,該標(biāo)志表示在編譯代碼時(shí),將該空間清為3.114如何使用LDF文件3.114如何使用LDF文件定義的要在代碼中使用LDF文件定義的空間,可以通過(guò)“section(“*** “***”如定義一個(gè)數(shù)組“buffer[10000]”,將其放到“sdram0_bank1”的空間地址中,可以定義如下從上圖中可以看到 這個(gè)數(shù)組被定義在了 sdram0_bank1的起始地址“L1_CODE”地“L1_CODE”地址現(xiàn)指定“Set_PLL”函數(shù)將其放入“sdram0_bank2”空SDRAM空間,系統(tǒng)也會(huì)自動(dòng)將該數(shù)組放置在SDRAM空間中,但前提是必須使用該工程生成LDF文件。對(duì)于早期的VDSP軟件版本,則沒(méi)有該功能,必須指定數(shù)組放置的空間。可以通過(guò)“section”指令指定使3.115代碼實(shí)現(xiàn)3.116測(cè)試可以看到通“section”指令指定的數(shù)組和函數(shù)位于內(nèi)存中位置的4本章教程參考代碼位于“BoardDriver”文件夾4.1ADSP-EDU-BF53X音頻實(shí)驗(yàn)4.11硬件實(shí)現(xiàn)TITLV320AIC23BCodec芯片,TLV320AIC23B1路MICIN,1LINEIN1路OUT,1HPOUT。硬件設(shè)計(jì)中將1LINEIN1HPOUT通過(guò)接口引出,板載1MIC,連接芯片的MICINBF53x處理器的SPORT接口支IIS協(xié)和TDM協(xié)議,可直TLV320AIC23B的接口連接。通過(guò)BF53x處理器的PF0PF1接口分別模擬IICSCLSDA總線,用來(lái)初始化TLV320AIC23B芯片。TLV320AIC23B支持多種音頻采樣格式,硬件設(shè)計(jì)中為其提供的時(shí)鐘為12MHz,可參考TLV320AIC23B數(shù)據(jù)手冊(cè)將其配置為USB模4.12硬件連接示4.13初始化TLV320AIC23B的器件地址4.12硬件連接示4.13初始化TLV320AIC23B的器件地址可通過(guò)接口上CS引腳進(jìn)行選擇,如下表IIC總線模式,該配置映射在CPLDDEVICE_OE寄存器,其配置功能為:CSTLV320AIC23B寫器件地TLV320AIC23B讀器件地01,,4.14代碼實(shí)現(xiàn)代碼實(shí)現(xiàn)了一個(gè)音頻輸入播放的功能,將一個(gè)聲源通過(guò)LINEIN接口(藍(lán)色)播放器對(duì)準(zhǔn)板上MIC接口播放音樂(lè),在音響或耳機(jī)中能聽(tīng)到輸入聲源的聲音。4.15代碼實(shí)現(xiàn)代碼通過(guò)IIC初始化TLV320AIC23B后,TLV320AIC23B開(kāi)始LINEIN接口采集模擬音頻數(shù)據(jù),并將采到的數(shù)據(jù)通過(guò)ADSP-BF53x的SPORT口傳送給ADSP-BF53x,ADSP-BF53x將數(shù)據(jù)做內(nèi)存交換再通過(guò)SPORT口傳送給TLV320AIC23B,TLV320AIC23B將數(shù)據(jù)轉(zhuǎn)為模擬信號(hào)后通過(guò)HPOUT接口輸出。IICTLV320AIC23B后,TLV320AIC23BMIC采集模擬音頻數(shù)據(jù),并將采集到的數(shù)據(jù)通過(guò)ADSP-BF53xSPORT口傳送給ADSP-BF53x,ADSP-BF53x將數(shù)據(jù)做內(nèi)存交換后,再SPORTTLV320AIC23B,TLV320AIC23BHPOUTBit765432104.16測(cè)試實(shí)驗(yàn)將仿真器(ICE)與4.16測(cè)試實(shí)驗(yàn)將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好接口(綠色接口先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電加載VisualDSP++5.0工程文件BF53x_AUDIO_TALKTHROUGH.dpj,編譯并全速運(yùn)行將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好接口(綠色接口先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電加載VisualDSP++5.0工程文件BF53x_AUDIO_MIC.dpj,編譯并全速運(yùn)行。4.17測(cè)試4.2ADSP-EDU-BF53X4.21硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上的中斷資源連接到了CPLD通過(guò)CPLD將中斷信號(hào)連接到PF0,使用中斷時(shí),將,使用中斷時(shí),將I2C_SCL位設(shè)置為1。INTERRUPT_DAT寄存器(讀唯一INTERRUPT_DAT寄存器地INTERRUPT_DAT寄存器位功能4.22硬件連接示4.23代碼實(shí)現(xiàn)Bit76543210Bit76543210測(cè)試實(shí)測(cè)試實(shí)先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電加載VisualDSP++5.0工程文件BF53x_INTERRUPT.dpj,編譯并全速運(yùn)行。測(cè)試結(jié)4.3ADSP-EDU-BF53X按鍵實(shí)驗(yàn)4.31硬件實(shí)現(xiàn)CPLDINTERRUPT_DAT,使用中斷時(shí),將PF0_SET位設(shè)置為1。KEYBOARD_DAT寄存器(讀唯一KEYBOARD_DAT寄存寄存器位寄存器(讀唯,使用中斷時(shí),將PF0_SET位設(shè)置為1。KEYBOARD_DAT寄存器(讀唯一KEYBOARD_DAT寄存寄存器位寄存器(讀唯一寄存器地INTERRUPT_DAT寄存器位功能4.32硬件連接示Bit76543210Bit76543210Bit765432104.33代碼實(shí)現(xiàn)key.c文件中的宏開(kāi)關(guān)“4.33代碼實(shí)現(xiàn)key.c文件中的宏開(kāi)關(guān)“#defineKEY_INT_ENABLE”注釋掉,運(yùn)行代碼后,程序會(huì)不停地掃描按鍵,key.c文件中的宏開(kāi)關(guān)“#defineKEY_INT_ENABLE4.34測(cè)試先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電加載VisualDSP++5.0工程文件BF53x_KEY.dpj,編譯并全速運(yùn)行。4.35測(cè)試4.4ADSP-EDU-BF53X網(wǎng)口實(shí)驗(yàn)4.41硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上的4.41硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上的網(wǎng)卡模塊采用DM9000EP實(shí)現(xiàn),DM9000EP為DAVICOM公司生產(chǎn)的網(wǎng)絡(luò)芯片,它集成了網(wǎng)卡的MACPHY10M/100M速度。支持16Bit/32Bit總線訪問(wèn)帶寬。ADSP-BF53x通過(guò)EBIU總線采用16Bit總線方式與DM9000EP連接,其映射地址為ADSP-BF53xDM9000_PPTR寄存器DM9000EP的指令寄存器,用于為DM9000EP寫入指DM9000_PDATA寄存器(讀寫DM9000_PDATA寄存器地址4.42硬件連接示4.43代碼實(shí)現(xiàn)4.44測(cè)試ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電。將 ++ ++ 運(yùn)行抓包軟Commview.exe,通過(guò)軟件抓取網(wǎng)卡發(fā)送的數(shù)據(jù)4.45測(cè)試使用COMMVIEW軟件抓取的數(shù)使用COMMVIEW軟件抓取的數(shù)據(jù)包信息4.5ADSP-EDU-LED燈控制實(shí)驗(yàn)4.51硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上共設(shè)計(jì)了8個(gè)LED,這些LED直接連接于CPLD,通過(guò)灌電流方式接入,需要LED_OE:LED指示燈使能LED_OE:LED指示燈使能LED_DAT寄存器(寫唯一LED_DAT寄存器地器Bit位設(shè)置點(diǎn)亮其中一個(gè)LED指示燈。4.52硬件連接示4.53代碼實(shí)現(xiàn)4.54測(cè)試將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電Bit76543210++4.55測(cè)試4.64.61硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上設(shè)計(jì)了一個(gè)RS232接口,該接口通過(guò)ADSP-BF53xUART接口,擴(kuò)展上采用的晶振頻率為25MHz,具體波特率配置可以參考之前的UART接口介紹。4.62硬件連接示4.63代碼實(shí)現(xiàn)代碼實(shí)現(xiàn)了UART接口的自動(dòng)波特率檢測(cè)功能,運(yùn)行Windows上自帶的超級(jí)中斷軟件,其路徑->所有程序->附件->通訊->超級(jí)終端。將超級(jí)終端設(shè)置的波特率為9600。編譯并運(yùn)行VisualDSP++5.0BF53x_RS232.dpj的代碼,打開(kāi)超級(jí)中斷窗口,通過(guò)計(jì)算機(jī)鍵盤輸入”@”,這時(shí)板卡會(huì)自動(dòng)識(shí)別當(dāng)前超級(jí)終端通訊4.64測(cè)試4.64測(cè)試將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好。先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電VisualDSP++5.0BF53x_RS232.dpj,編譯并全速運(yùn)行。4.65測(cè)試4.74.71硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上的液晶屏480*272尺4.74.71硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上的液晶屏480*272尺寸真彩TFT液晶屏,其型號(hào)為WXCAT43-TG3#001R。WXCAT43-TG3#001R24Bit的液晶屏,數(shù)據(jù)輸入格式RGB888。ADSP-BF53xPPI16根數(shù)據(jù)線,所以接入方式為RGB565,將RGB的低位數(shù)據(jù)線直接接地,以匹配數(shù)據(jù)線的不足。WXCAT43-TG3#001R的背光開(kāi)關(guān)由CPLD控制,其映射CPLD的DEVICE_OE寄存器。其背光亮度由1:關(guān)閉TFT液晶屏背光PPI_SET1~0:PPIBit765432101x:選PPI時(shí)鐘由1x:選PPI時(shí)鐘由擴(kuò)展接口輸0TIMER0_CONFIG寄存器:配置Timer工作模式TIMER0_WIDTH寄存器:配置脈沖寬度TIMER0_PERIOD4.72硬件連接示4.73代碼實(shí)現(xiàn)RGB888RGB565格式,通過(guò)PPI接口使用PPIDMAInit_Timers0函數(shù)可以配置背光亮度。代碼中的color_bar函數(shù),可以產(chǎn)生彩條數(shù)據(jù),在液晶屏上產(chǎn)生彩條測(cè)試將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好。先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電++測(cè)試4.8ADSP-EDU-4.8ADSP-EDU-4.81硬件實(shí)現(xiàn)ADSP-BF53x處理器上集成了一個(gè)實(shí)時(shí)時(shí)鐘(RTC)模塊,板卡上設(shè)計(jì)了一個(gè)專門RTC時(shí)鐘源的4.82代碼實(shí)現(xiàn)代碼實(shí)現(xiàn)了配置ADSP-BF53x處理器的RTC寄存器,為其設(shè)定一個(gè)初始時(shí)間,通過(guò)打印將當(dāng)前的時(shí)測(cè)試將仿真器(ICE測(cè)試將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好。先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電++測(cè)試4.94.91硬件實(shí)現(xiàn)SD卡有兩種工作模式:SDIOSPI模式。SDIO模式為半字節(jié)讀寫模式,該模式采用四根數(shù)據(jù)線,每次可對(duì)半個(gè)字節(jié)作操作。SPI模式有4根控制線:MOSI,MISO,SPICLK,SPISS.因?yàn)槊看沃荒軐?duì)一位數(shù)據(jù)作操作。SD/MMC卡的尋址方式是按字節(jié)尋址的,為方便使用,將其尋址方式定義成連續(xù)的存儲(chǔ)單元尋址方式。每個(gè)存儲(chǔ)單元為512個(gè)字節(jié)。每個(gè)存儲(chǔ)單元地址唯一,通過(guò)訪問(wèn)存儲(chǔ)單元地址來(lái)讀取數(shù)據(jù)。一個(gè)SPI設(shè)備。SPI_SEL1~0:SPI片選選擇01:SPI_SEL選通SD卡模10:SPI_SEL選通外部SPI_SEL1~0:SPI片選選擇01:SPI_SEL選通SD卡模10:SPI_SEL選通外部SPI0模在使SD/MMC卡接口時(shí)時(shí),需將SPI_SEL0位設(shè)置為1SPI_SEL1位設(shè)置為04.92硬件連接示4.93代碼實(shí)現(xiàn)代碼實(shí)現(xiàn)了對(duì)4.94測(cè)試將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好。SDMMCSD卡接口。先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電VisualDSP++5.0BF53x_SD_MMC.dpj,編譯并全速運(yùn)行。4.95測(cè)試Bit76543210SD/MMC卡校驗(yàn)完4.10ADSP-EDU-BF53XSD/MMC卡校驗(yàn)完4.10ADSP-EDU-BF53XSDRAM模塊實(shí)驗(yàn)4.101硬件實(shí)現(xiàn)ADSP-EDU-BF53x板卡上采用的SDRAMMT48LC16M16A2,32Mbyte16BitADSP-BF53x。通過(guò)配置EBIU的SDRAM控制寄存器對(duì)其進(jìn)行初始4.102代碼實(shí)現(xiàn)4.103測(cè)試將仿真器4.103測(cè)試將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好。先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電++4.104測(cè)試testSDRAM中的測(cè)試數(shù)4.114.111硬件實(shí)現(xiàn)ADSP-BF53xSPI接口連接該控制器PF24.111硬件實(shí)現(xiàn)ADSP-BF53xSPI接口連接該控制器PF2SD卡和觸摸屏控制器SPI設(shè)備,所以通過(guò)CPLDPF2接口做了個(gè)21切換,通過(guò)配置CPLDDEVICE_OE寄存器,來(lái)使能和選通PF2連接哪一個(gè)SPI設(shè)備。SPI_SEL1~0:SPI片選選擇01:SPI_SEL選通SD卡模10:SPI_SEL選通外部SPI0模4.112硬件連接示4.113代碼實(shí)現(xiàn)據(jù)寄存器,判斷確認(rèn)為觸摸屏中斷,然后調(diào)用觸摸屏讀坐標(biāo)函數(shù)分別讀取X坐標(biāo)和Y坐標(biāo)。并將坐標(biāo)打印在VisualDSP++5.0軟件上Bit765432104.114測(cè)試將仿真器(ICE)與4.114測(cè)試將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好。先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電++4.115測(cè)試++4.124.121硬件實(shí)現(xiàn)PDIUSBD12,6BANK3PDIUSBD12芯片,通過(guò)CPLD為其分配訪問(wèn)地址,通過(guò)CPLDUSB_DAT寄存器和USB_CMDUSB_DAT寄存器(讀寫USB_CMD寄存器(寫唯一USB_CMD寄存器地4.122硬件連接4.122硬件連接示4.123代碼實(shí)現(xiàn)MINIUSB將串口設(shè)置波特率9600,打開(kāi)超級(jí)終端,可以看到USB與計(jì)算機(jī)通訊的數(shù)據(jù)信息。也可抓包工具抓舉更4.124測(cè)試4.124測(cè)試將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好。先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電VisualDSP++5.0BF53x_USB,編譯并全速運(yùn)行。4.125測(cè)試4.134.131硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上擴(kuò)展接口的PORT2和PORT3中引出4.134.131硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上擴(kuò)展接口的PORT2和PORT3中引出了6個(gè)擴(kuò)展IO接口輸入接口,這些連接到了CPLD,通過(guò)CPLD將這些信號(hào)與EBIU總線和中斷管腳PF0連接,并將中斷數(shù)據(jù)地址映射在CPLD的當(dāng)有擴(kuò)展IO有輸入后PF0中斷信號(hào),同時(shí)可以通過(guò)EBIU總線訪問(wèn)中斷功能映射到CPLD寄存器中的INTERRUPT_DAT寄存器,通過(guò)訪問(wèn)該寄存器,可以獲取鍵盤的中斷源數(shù)據(jù),通過(guò)讀取CPLDEXT_IO_INDAT寄存器,可以獲取,使用中斷時(shí),將PF0_SET位設(shè)置為1。EXT_IO_INDAT寄存器(讀唯一EXT_IO_INDAT寄存器地址EXT_IO_INDAT寄存器Bit76543210Bit76543210INTERRUPT_DAT寄存器(讀唯一INTERRUPT_DAT寄存器地INTERRUPT_DAT寄存器位功能INTERRUPT_DAT寄存器(讀唯一INTERRUPT_DAT寄存器地INTERRUPT_DAT寄存器位功能4.132硬件連接示4.133代碼實(shí)現(xiàn)main.c文件中的宏開(kāi)關(guān)“#defineEXT_IN_INT_ENABLE”注釋掉,運(yùn)行代碼后,程序會(huì)不停地掃描擴(kuò)IO,等待擴(kuò)展IOIO有被拉低后,則讀取擴(kuò)展IO位并打印出信息。main.c文件中的宏開(kāi)關(guān)“#defineEXT_IN_INT_ENABLE”打開(kāi),運(yùn)行代碼后,程序會(huì)等待中斷觸發(fā),測(cè)試步將仿真器(ICE)與ADSP-EDU-BF53x開(kāi)發(fā)板和計(jì)算機(jī)連接好先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電Bit76543210加載VisualDSP++5.0工程文件BF53x_EXT_IN.dpj,編譯并全速運(yùn)行。拉低擴(kuò)展IO測(cè)試結(jié)加載VisualDSP++5.0工程文件BF53x_EXT_IN.dpj,編譯并全速運(yùn)行。拉低擴(kuò)展IO測(cè)試結(jié)4.144.141硬件實(shí)現(xiàn)IOEXT_IO_OUTDAT寄存器(讀唯一EXT_IO_OUTDAT寄存器地EXT_IO_OUTDAT寄存器位Bit765432104.142硬件連接示4.143代碼實(shí)現(xiàn)4.142硬件連接示4.143代碼實(shí)現(xiàn)測(cè)試步先給ADSP-EDU-BF53x開(kāi)發(fā)板上電,再為仿真器(ICE)上電++4.145測(cè)試4.151硬件實(shí)現(xiàn)ADSP-EDU-BF53x開(kāi)發(fā)板上的NorFlash采用的是S29AL016D70。NorFlash主要用于存儲(chǔ)ADSP-BF53x啟ADSP-BF53x4個(gè)異步BANK,每BANKADSP-BF53x4個(gè)異步BANK,每BANK1MB空間,S29AL016D702MBFlash,所以硬件設(shè)4.152硬件連接示4.153代碼實(shí)現(xiàn)使用這個(gè).DxeVisualDSP++5.0FLASH4.154測(cè)試4.155測(cè)試5.BlackfinFLASH燒寫說(shuō)5.1FLASH燒寫文件的BF53x_LED.dpj工程載入VisualBF53x_LED.dpj工程載入VisualDSP++5.0在工程名上按鼠標(biāo)右鍵,選擇“ProjectSDRAM,板卡上電后會(huì)最先執(zhí)行該文件,不加載此文件板卡將不能正常運(yùn)行燒寫的程序。點(diǎn)擊找到“32M_Initializationcode.dxe”文找到“32M_Initializationcode.dxe”文選擇“ReBuildAll“選擇“ReBuildAll“按鈕全編譯工程5.2FLASH為Flash5.2FLASH為Flash加載一個(gè)驅(qū)動(dòng)文件,這個(gè)文件在例子代碼下“flashdrive”文件夾下找到“ADSP-EDU-BF53x_FlashDriver.dxe”文“Programming”頁(yè)Driver”,成“Programming”頁(yè)Driver”,成功加載后,能看到右邊窗口提示按下圖選擇然后點(diǎn)后面的按鈕,找到BF53x_LED工程下Debug文件夾下剛才生文件,加載后文件,加載后,點(diǎn)“Program”按鈕VisualDSP5.0軟件,為板卡斷電。VisualDSP5.0軟件,為板卡斷電。6.部分代碼會(huì)使用.xml文件進(jìn)行初始化,為保證所有高級(jí)代碼都能正常運(yùn)行,請(qǐng)將光盤提供的ADSP-BF533-與 ++軟件安裝路徑下: \System\ArchDef\ADSP-BF533-本章教程參考代碼位于“ApplicationCode”文件夾下6.1BF53x_SD_FS(SD卡文件系統(tǒng)6.11代碼6.1BF53x_SD_FS(SD卡文件系統(tǒng)6.11代碼實(shí)現(xiàn)SD卡上的文件,并對(duì)文件和文件夾做讀、寫、刪除、建立、文件列表、文件搜6.12代碼使用工程下有兩個(gè)文件夾:bf53x_sd_mmc_libfat32_libSD卡驅(qū)動(dòng)的庫(kù)源代碼和文件系void{*pFIO_DIR=*pFIO_FLAG_S=*pSPI_FLG=*pSPI_BAUD=*pSPI_CTL=*pSPI_CTL=0x0001|MSTR}修改*pSPI_BAUD的值進(jìn)行配置,當(dāng)為2時(shí),速度最快,配置值不能小于2。當(dāng)使用SD卡時(shí),需通過(guò)CPLD打通SD卡鏈路,配置如下:=6.13代碼實(shí)驗(yàn)SDSD6.14代碼實(shí)驗(yàn)6.14代碼實(shí)驗(yàn)6.21代碼實(shí)現(xiàn)6.22代碼使用tem_x=(tem_x-tem_y=(tem_y-0x150)voidplay_point(unsignedintx,unsignedinty,unsignedchar{pdispbuf[2*x+1+y*960]=}6.23代碼實(shí)驗(yàn)6.24代碼實(shí)驗(yàn)6.316.24代碼實(shí)驗(yàn)6.31代碼實(shí)現(xiàn)6.32代碼使用tem_x=(tem_x-0xb0)*100/800;6.33代碼實(shí)驗(yàn)6.34代碼實(shí)驗(yàn)6.4BF53x_ZIKU(漢字/ASICII字庫(kù)6.4BF53x_ZIKU(漢字/ASICII字庫(kù)6.41代碼實(shí)現(xiàn)6.42代碼使用ASICII碼顯Glib_disp_hzk16_v(130,200,"北京6.43代碼實(shí)驗(yàn)待代碼運(yùn)行完成后,選擇VisualDSP++5.0菜單下“View-->DebugWindows-->imageviewer…”選項(xiàng)4.點(diǎn)“OK6.44代4.點(diǎn)“OK6.44代碼實(shí)驗(yàn)6.51代碼實(shí)現(xiàn)6.526.51代碼實(shí)現(xiàn)6.52代碼使用小為391680字節(jié)。6.53代碼實(shí)驗(yàn)6.54代碼實(shí)驗(yàn)6.61代碼實(shí)現(xiàn)6.62代碼使用解析函數(shù)6.62代碼使用解析函數(shù)將數(shù)據(jù)進(jìn)行解析,并將相應(yīng)的文字調(diào)入液晶顯示內(nèi)存中,并做了自動(dòng)換行、換頁(yè)、向上翻頁(yè)的機(jī)display_txt(unsignedchar*pbuff,WORDlen,int6.63代碼實(shí)驗(yàn)將SD卡插入開(kāi)發(fā)板SD卡接口。編譯并運(yùn)行代碼,待提示“開(kāi)始閱讀電子書,按按鍵翻頁(yè)查看”時(shí),按下“Lift->Down”按鍵,通過(guò)“Lift和“Lift->UP”按鍵可進(jìn)行上下翻頁(yè)6.64代碼實(shí)驗(yàn)6.71代碼實(shí)現(xiàn)RGB888rgb24data6.72代碼使用代碼調(diào)用了JPG解碼庫(kù)該解碼庫(kù)可以解640*480及以下尺寸的JPG文件,將JPG文件解碼為同尺寸的6.73代碼實(shí)驗(yàn)6.73代碼實(shí)驗(yàn)-->6.74代碼實(shí)驗(yàn)6.816.81代碼實(shí)現(xiàn)6.82代碼使用代碼調(diào)用了JPG解碼庫(kù)該解碼庫(kù)可以解640*480及以下尺寸的JPG文件,將JPG文件解碼為同尺寸的6.83代碼實(shí)驗(yàn)6.83代碼實(shí)驗(yàn)6.84代碼實(shí)驗(yàn)6.96.91代碼實(shí)現(xiàn)以PCMGoldWave6.92代碼使用intfind_head(unsignedchar*start,unsignedchar參數(shù):start:mp3intcheck_data(char*pMp3Stream,char*pPCMStream,int*in_size,int字節(jié))mp3in_size:返回針對(duì)本mp3音頻格式的每次解碼所需的數(shù)據(jù)幀大小out_size:返回針對(duì)本mp3音頻格式的每次解碼后的數(shù)據(jù)大小開(kāi)始是否存儲(chǔ)有mp3數(shù)據(jù)0x20個(gè)字節(jié)。intMP3DEC_decode(unsignedintMP3DEC_decode(unsignedcharshortMP3DEC_Params:?jiǎn)螏臄?shù)據(jù)大小pGetSize:已解碼的數(shù)據(jù)大小.pPCMStream=dataA;input_file=fopen("../test.mp3","rb");//打開(kāi)需要進(jìn)行解碼的文件result_num=fread(mp3_stream,1,0x300000-0x1000,input_file);mp3_stream_bufend=&mp3_stream[0]+result_num;//mp3數(shù)據(jù)的結(jié)束地head_flagfind_head(pMp3Stream,mp3_stream_bufend);mp3decode_flag=result=if(result==-1){}{result=if(result=={{if(result=={{frame_num=0;}}decode_flag+=if(decode_flag+input_mp3>=mp3_stream_bufend)//判斷解碼是否{}}testbf533.ldf6.93代碼實(shí)驗(yàn)運(yùn)行代碼,查看原工程下生成的PCM文件,正常解碼后,刷新時(shí)能看到PCM文件大小會(huì)慢慢增加。如,沒(méi)F10鍵,單步方式將代碼運(yùn)行到MP3循環(huán)解碼的函數(shù)里,然后再按F5鍵連續(xù)運(yùn)行。開(kāi)PCM文件。當(dāng)提示文件打開(kāi)格式時(shí),按如圖配置6.94代碼實(shí)驗(yàn)6.94代碼實(shí)驗(yàn)6.101代碼實(shí)現(xiàn)”文件,并讀取6.102代碼使用代碼采用了SPORT接口的描述符DMA實(shí)現(xiàn),通過(guò)SPORT口以I2S方式,將音頻數(shù)據(jù)送給音頻解碼芯片代碼實(shí)以由GoldWave軟件生成,文件格式必須為立體聲44.1KHz128Kbps格式。6.104代碼實(shí)驗(yàn)6.111代6.104代碼實(shí)驗(yàn)6.111代碼實(shí)現(xiàn)6.112代碼使用代碼實(shí)代碼實(shí)6.121代碼實(shí)現(xiàn)6.122代碼使用6.122代碼使用#defineSNAKE_Max_LongFood.X=}while((Food.X>46)||(Food.X<Food.Y=}while((Food.Y>25)||(Food.Y<代碼實(shí)BF53x_SNAKE_KEY.dpj工程加入VDSP軟件,編譯運(yùn)行代代碼實(shí)上left-左left-下left-右left-6.13BF53x_NES_128K(NES紅白機(jī)模擬器6.1316.13BF53x_NES_128K(NES紅白機(jī)模擬器6.131代碼實(shí)現(xiàn)NESBF53xROM內(nèi)的NES游戲ROM,然后運(yùn)行游戲,在液晶屏上顯示出游戲內(nèi)容。通過(guò)開(kāi)發(fā)板上的按鍵可進(jìn)行游戲娛樂(lè)。目前代碼解128KROM128KROM文件不支持運(yùn)行。6.132代碼使用fp=fopen("../rom/hundouluo.nes","rb");lenth=fread(rom_file,1,0x200000,void{intu16u8for(x=0;x<{for(yfor(x=0;x<{for(y=0;y<{color_data= color_r=(color_data>>11)&0x1f;color_g=(color_data>>5)&color_b=(color_data)&color_data=(color_r)|(color_g<<5)|DisplayBuffer_565[x][y*2+220]=(color_data&0xff)DisplayBuffer_565[x][y*2+221]=((color_data>>8)&}}}u8ReadKey(u8{u8u8temp_code=staticu8temp_code=KeyCode=((temp_code>>0)&0x1)<<4;KeyCode|=((temp_code>>1)&0x1)<<6;KeyCode|=((temp_code>>2)&0x1)<<5;KeyCode|=((temp_code>>3)&0x1)<<7;KeyCode|=((temp_code>>4)&0x1)<<3;KeyCode|=((temp_code>>5)&0x1)<<1;KeyCode|=KeyCode|=for(i=0;i<7;{if{KeyDly[i]=}{if{if(KeyDly[i]<{}return}{if(KeyDly[i]>{{if{if(KeyDly[i]<{}return}{if(KeyDly[i]>{KeyDly[i]--}return}}}}6.133代碼實(shí)驗(yàn) left-左left-下left-右上right-Bright-Aright-right-待屏幕出現(xiàn)魂斗羅畫面,通過(guò)按待屏幕出現(xiàn)魂斗羅畫面,通過(guò)按鍵輸入:上上下下左右左BABA,START,開(kāi)始游6.134代碼實(shí)驗(yàn)6.141代碼實(shí)現(xiàn)6.142代碼使用tem_x=(tem_x-tem_y=(tem_y-0x150)6.142代碼使用tem_x=(tem_x-tem_y=(tem_y-0x150)if(tem_x>20&&tem_x<88){if(tem_y>88&&{led_temp_dat&=//從緩存數(shù)據(jù)中讀取當(dāng)前燈點(diǎn)亮情況并將操作數(shù)據(jù)更}elseif(tem_y>129&&{}}6.143代碼實(shí)驗(yàn)LED6.144代碼實(shí)驗(yàn)6.151代碼實(shí)現(xiàn)6.151代碼實(shí)現(xiàn)6.152代碼使用input_filefopen("../dida.mp3 //打開(kāi)工程下的MP3printf("OpenMP3printf("ReadMP3files,pleaseresult_len=fread(mp3_stream,1,0x7F63B0,pMp3Stream=mp3_stream_bufend=&mp3_stream[0]+result_len;pMp3Stream_sta=pMp3Stream+head_flag;inMp3Size=//根據(jù)解析的MP3pPCMStream=dataA;pMp3Stream_sta=pMp3Stream+head_flag;{while(sport_flag==pPCMStream=dataA;pMp3Stream_sta=pMp3Stream+head_flag;{while(sport_flag==if(sport_flag%2)pPCMStream=//PCM流輸result=if(result=={}pMp3Stream_sta+=inMp3Size;old_sport_flag=decode_flag=}代碼實(shí)代碼實(shí)6.161代碼實(shí)現(xiàn)6.161代碼實(shí)現(xiàn)6.162代碼使用JPEGjpeg_len=文件大小保存在jpeg_len中。6.163代碼實(shí)驗(yàn)6.164代碼實(shí)驗(yàn)7.本章教程參考代碼位于“SignalProcess”文件夾下7.17.11代碼實(shí)現(xiàn)統(tǒng)。因此,7.17.11代碼實(shí)現(xiàn)統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識(shí)別等領(lǐng)域都有著廣泛的應(yīng)用。代碼實(shí)現(xiàn)了通過(guò)算法實(shí)現(xiàn)FIR濾波器,對(duì)輸入的波形進(jìn)行濾波后輸出,通過(guò)VisualDSPPolt工具可以查實(shí)驗(yàn)步將按下圖打開(kāi)工程下保存的.vdw實(shí)驗(yàn)結(jié)實(shí)驗(yàn)結(jié)7.27.21代碼實(shí)現(xiàn)7.27.21代碼實(shí)現(xiàn)ransformation7.22實(shí)驗(yàn)按下圖,選擇“Restore”菜單BTCBTCMemoryAD-HP560ICE-FULLADIHP-ICE仿真器時(shí),才能使用AD-HP510ICE-仿真器不支持該功能,該選項(xiàng)為灰BTCMemoryBTCMemory再次調(diào)出鼠標(biāo)右鍵菜單,選擇“Auto再次調(diào)出鼠標(biāo)右鍵菜單,選擇“Auto7.23實(shí)驗(yàn)7.37.31代碼實(shí)現(xiàn)7.37.31代碼實(shí)現(xiàn)就是IIR數(shù)字濾波器,顧名思義,具有反饋,一般認(rèn)為具有無(wú)限的脈沖響應(yīng)。VDSPIIRVisualDSP實(shí)驗(yàn)步將按下圖打開(kāi)工程下保存的.vdw 7.33實(shí)驗(yàn) 7.33實(shí)驗(yàn)7.47.41代碼實(shí)現(xiàn)7.47.41代碼實(shí)現(xiàn)fg的重疊部分的累積。如果將參加卷積的一個(gè)函實(shí)驗(yàn)步 7.43實(shí)驗(yàn)8. 7.43實(shí)驗(yàn)8.代碼包中UserCodeCollection8.1BF53x_LED_KEY(LED按鍵測(cè)試8.11代碼實(shí)現(xiàn)8.12代碼使用LED數(shù)據(jù)寄存器,不斷的掃描賦值實(shí)現(xiàn)對(duì)按鍵的狀態(tài)實(shí)時(shí)顯示在LED燈上。{8.12代碼使用LED數(shù)據(jù)寄存器,不斷的掃描賦值實(shí)現(xiàn)對(duì)按鍵的狀態(tài)實(shí)時(shí)顯示在LED燈上。{}8.13代碼實(shí)驗(yàn)LED8.14代碼實(shí)驗(yàn)8.21代碼實(shí)現(xiàn)8.22代碼使用if(keydata_temp!=keydata){if(keydata!=0){{}}}if(keydata=={{{}}}if(keydata=={}8.23代碼實(shí)驗(yàn)8.24代碼實(shí)驗(yàn)8.3BF53x_LCD_RTC(液晶屏電子鐘8.31代碼實(shí)現(xiàn)8.32代碼使用right->up和right->down可修改分鐘。externstructTimeNow_Time=8.33代碼實(shí)驗(yàn)8.33代碼實(shí)驗(yàn)將工程BF53x_LCD_RTC.dpj載入VDSP軟件,編譯并運(yùn)行8.34代碼實(shí)驗(yàn)8.41代碼實(shí)現(xiàn)8.42代碼使用unsignedintnow_year=2011; unsignedcharnow_month=11;unsignedcharnow_day=if(Key_down_flag=={}8.43代碼實(shí)驗(yàn)將工程BF53x_LCD_CALENDAR.dpj}8.43代碼實(shí)驗(yàn)將工程BF53x_LCD_CALENDAR.dpj載入VDSP軟件,編譯并運(yùn)行8.44代碼實(shí)驗(yàn)9.本章教程參考代碼位于“VideoFormatConversion”文件夾下9.11代碼實(shí)現(xiàn)RGB888RGB565VDSPImageViewer工具上RGB數(shù)據(jù)格式的位置,在液晶屏上,R5位,B5ImageViewer工具上,R數(shù)據(jù)位于高5位,B數(shù)據(jù)位于低5位。為了方便查看,在代碼中將這兩種轉(zhuǎn)換函數(shù)都列出,9.12代碼使用dst[j+1]=src[i+2]dst[j+1]|=((src[i+1]>>5)&0x07);dst[j]=((src[i+1]<<3)&0xe0);dst[j]|=((src[i]>>3)//#define1轉(zhuǎn)換后輸出的RGB565格式的數(shù)據(jù)存放在out_buffer中。unsignedchar{unsignedchar9.13代碼實(shí)驗(yàn)待代碼停止VDSPImageViewer工具以RGB565格式查看圖像。其配置如下9.14代碼實(shí)驗(yàn)ImageView窗口中可看到圖9.219.21代碼實(shí)現(xiàn)板卡液晶屏和VDSP軟件商ImageViewer工具上的RGB565格式不同,其區(qū)別是RGB數(shù)據(jù)格式的位置,在液晶屏59.22代碼使用staticvoidyuv420_to_rgb565(intwidth,intheight,constunsignedchar*src,unsignedshort*dst)intwidth:圖像寬度unsignedshort*dst:RGB5659.23代碼實(shí)驗(yàn)9.23代碼實(shí)驗(yàn)待代碼停止VDSPImageViewer工具以RGB565格式查看圖像。其配置如下9.24代碼實(shí)驗(yàn)ImageView窗口中可看到圖9.31代9.31代碼實(shí)現(xiàn)9.32代碼使用RGB565YUV422intwidth:圖像寬度9.33代碼實(shí)驗(yàn)9.34代碼實(shí)驗(yàn)ImageView窗口中可看到圖9.41代碼實(shí)現(xiàn)9.41代碼實(shí)現(xiàn)9.42代碼使用RGB565ConvertYUY2toRGB24(BYTE*pDst,BYTE*pSrc,intw,intintw:圖像寬度inth:圖像高度BYTE*pDstBGR888voidsize_convert(unsignedchar*srcunsignedchar*dst)unsignedchar*src:數(shù)據(jù)入口640*480.RGB888_RGB565(unsignedchar*src,intsrc_len,unsignedcharunsignedchar*src:RGB888intRGB888數(shù)據(jù)大unsignedchar*dst:RGB565ImageView//#define19.43代碼實(shí)驗(yàn)待代碼停止VDSPImageViewer工具以RGB565格式查看圖像。其配置如下9.44代碼實(shí)驗(yàn)9.44代碼實(shí)驗(yàn)ImageView窗口中可看到圖10.本章教程參考代碼位于“ImageProcess”文件夾下10.本章教程參考代碼位于“ImageProcess”文件夾下10.1BF53x_GradientSobel(Sobel算子邊緣檢測(cè)10.11代碼實(shí)現(xiàn)Sobel算子的圖像邊緣檢測(cè),代碼運(yùn)行時(shí),會(huì)通過(guò)文件系統(tǒng)打開(kāi)工程文件根目下ImageView"路徑中的testin.bmpSobel算子的圖像邊緣檢測(cè)后把處理好的圖片保存到工程文件根目下"../ImageView"路徑中的10.12代碼使用BMPIMAGEmain.c文件中定義了一個(gè)#defineLCD_VIEW_ENABLE10.13代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文件內(nèi)生成一個(gè)處理后名為testout.bmp圖片。10.14代碼實(shí)驗(yàn)10.2BF53x_GrayEqualize(圖像灰度均衡處理10.21代碼實(shí)現(xiàn)10.2BF53x_GrayEqualize(圖像灰度均衡處理10.21代碼實(shí)現(xiàn)件,進(jìn)行圖像灰度均衡處理后把圖片保存到工程文件根目下../ImageView"testout.bmp文件,并且將處理480*27224bitbmp圖片,可以根據(jù)自己的需要自行調(diào)10.22代碼使用BMPIMAGEmain.c文件中定義了一個(gè)#defineLCD_VIEW_ENABLE10.23代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文件BF53x_GrayEqualize.dpj內(nèi)生成一個(gè)處理后名為testout.bmp圖片。10.24代碼實(shí)驗(yàn)10.31代碼實(shí)現(xiàn)"../"10.32代碼使用funct.cGrayStretch(constBMPIMAGE*10.32代碼使用funct.cGrayStretch(constBMPIMAGE*img,floatfAfloatfB,floatBMPIMAGEfloatfAfloatfB,float 10.33代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文BF53x_GrayStretch.dpj,編譯并運(yùn)行testout.bmp代碼實(shí)10.41代碼實(shí)現(xiàn)件,進(jìn)行圖像線性變換處理后把圖片保存到工程文件根目下../ImageView"testout.bmp文件,并且將處理480*27224bitbmp圖片,可以根據(jù)自己的需要自行調(diào)10.42代碼使用funct.c中的LinearTransform(constBMPIMAGE*img,intFA,intBMPIMAGE intFAint BMPIMAGE intFAint 10.43代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文BF53x_LinearTrans.dpj,編譯并運(yùn)行testout.bmp10.44代碼實(shí)驗(yàn)10.51代碼實(shí)現(xiàn)"../路徑中的480*27224bit的bmp10.52代碼使用BMPIMAGE intFAint unsignedcharbDirection1水平鏡像,010.53代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp10.53代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片。10.54代碼實(shí)驗(yàn)10.61代碼實(shí)現(xiàn)"../路徑中的10.62代碼使用funct.c中的ReverseColor(constBMPIMAGE該函數(shù)是將讀取的圖像進(jìn)行反色處 BMPIMAGE10.63代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文件內(nèi)生成一個(gè)處理后名為testout.bmp圖片。10.64代碼實(shí)驗(yàn)10.7BF53x_StenciFilter10.64代碼實(shí)驗(yàn)10.7BF53x_StenciFilter(圖像的平滑處理10.71代碼實(shí)現(xiàn)testin.bmp文件,進(jìn)行圖像的平滑處理(高斯模板)后把圖片保存到工程文件根目下"../ImageView"路徑中的10.72代碼使用funct.c中的StenciFilter(BMPIMAGE*BMPIMAGE10.73代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文件內(nèi)生成一個(gè)處理后名為testout.bmp圖片。10.74代碼實(shí)驗(yàn)10.8BF53x_ThresholdData(圖像閾值分割處理10.81代碼實(shí)現(xiàn)件,進(jìn)行圖像閾值分割處理后把圖片保存到工程文件根目下../ImageView"10.8BF53x_ThresholdData(圖像閾值分割處理10.81代碼實(shí)現(xiàn)件,進(jìn)行圖像閾值分割處理后把圖片保存到工程文件根目下../ImageView"testout.bmp文件,并且將處理后的圖片顯示到液晶屏上。例子中的算法只支持尺寸為480*27224bitbmp圖片,可以根據(jù)自己的需要自行10.82代碼使用BMPIMAGEunsignedcharvalue10.83代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文BF53x_ThresholdData.dpj,編譯并運(yùn)行代testout.bmp10.84代碼實(shí)驗(yàn)10.91代碼實(shí)現(xiàn)".."../路徑中的10.92代"../路徑中的10.92代碼使用funct.c中的TranslationImage(BMPIMAGE*img,unsignedintlXOffset,unsignedintlYOffset)該函數(shù)是將讀取的圖像行平移處 BMPIMAGE10.93代碼實(shí)驗(yàn)ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文件內(nèi)生成一個(gè)處理后名為testout.bmp圖片。10.94代碼實(shí)驗(yàn)10.101代碼實(shí)現(xiàn)功"10.102代碼使用說(shuō)BMPIMAGEfloatBMPIMAGEfloat10.103代碼實(shí)驗(yàn)步ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片。10.104代碼實(shí)驗(yàn)結(jié)fXZoomRatiofYZoomRatio11,否則不會(huì)在液晶屏上顯示,只能通過(guò)文件查看處理后的圖片。10.11BF53x_Rotation(圖像旋轉(zhuǎn)處理10.111代碼實(shí)現(xiàn)功"../路徑中的10.112代碼使用說(shuō)funct.c中的RotateImage(BMPIMAGE*img,intBMPIMAGEiRotateAngle旋轉(zhuǎn)的角度,逆時(shí)針旋轉(zhuǎn),本例子程序只支持以下角度的旋轉(zhuǎn)10.113代碼實(shí)驗(yàn)步ImageViewtestin.bmp480*27210.113代碼實(shí)驗(yàn)步ImageViewtestin.bmp480*27224bit的bmp圖片(默認(rèn)已存一幅測(cè)試圖片。10.114代碼實(shí)驗(yàn)結(jié)10.121代碼實(shí)現(xiàn)功"../路徑中的10.122代碼使用說(shuō)funct.c中的Bright(constBMPIMAGE*img,intBMPIMAGEint10.123代碼實(shí)驗(yàn)步ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文件 10.124代碼實(shí)驗(yàn)結(jié) 10.124代碼實(shí)驗(yàn)結(jié)10.13BF53x_RGBtoGary(圖像灰度提取處理10.131代碼實(shí)現(xiàn)功件,進(jìn)行圖像灰度提取處理后把圖片保存到工程文件根目下../ImageView"testout.bmp文件,并且將處理后的圖片顯示到液晶屏上。例子中的算法只支持尺寸為480*27224bitbmp圖片,可以根據(jù)自己的需要自行10.132代碼使用說(shuō)funct.c中的RGBtoGary(constBMPIMAGE。BMPIMAGE10.133代碼實(shí)驗(yàn)步ImageViewtestin.bmp480*27224bitbmp圖片(默認(rèn)已存一幅測(cè)試圖片打開(kāi)工程文BF53x_RGBtoGary.dpj,編譯并運(yùn)行testout.bmp10.134代碼實(shí)驗(yàn)結(jié)10.14BF53x_Bin_Conver(圖像二值變換處理10.141代碼實(shí)現(xiàn)功10.14BF53x_Bin_Conver(圖像二值變換處理10.141代碼實(shí)現(xiàn)功件,進(jìn)行圖像二值變換處理后把圖片保存到工程文件根目下../ImageView"testout.bmp文件,并且將處理后的圖片顯示到液晶屏上。例子中的算法只支持尺
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年新進(jìn)展:《鐵杵成針》教學(xué)課件的變革之路
- 醫(yī)院收銀知識(shí)培訓(xùn)課件
- 119防火安全心得體會(huì)(6篇)
- DB31∕741-2020 碳酸飲料單位產(chǎn)品能源消耗限
- 化工溶劑知識(shí)培訓(xùn)課件
- 2025年宏觀經(jīng)濟(jì)學(xué)課件制作心得
- 連鎖超市顧客服務(wù)與投訴處理
- 2023年北京卷高考真題語(yǔ)文試卷-解析
- 農(nóng)村灌溉系統(tǒng)改造方案
- 解決復(fù)雜問(wèn)題的解決方案說(shuō)明
- (新版)電工三級(jí)-職業(yè)技能等級(jí)認(rèn)定考試題庫(kù)(學(xué)生用)
- 《高性能樹(shù)脂》課件
- 中央2024年中央宣傳部直屬單位招聘106人筆試歷年典型考題及考點(diǎn)附答案解析
- 《教育向美而生-》讀書分享課件
- 拒絕校園欺凌從我做起完整版課件
- 幼兒園《認(rèn)識(shí)醫(yī)生和護(hù)士》課件
- 技術(shù)進(jìn)口合同登記證
- DZ∕T 0372-2021 固體礦產(chǎn)選冶試驗(yàn)樣品配制規(guī)范(正式版)
- 細(xì)菌的分離培養(yǎng)與培養(yǎng)特性觀察課件講解
- 國(guó)家電網(wǎng)公司輸變電工程工藝標(biāo)準(zhǔn)庫(kù)變電工程部分
- 海上風(fēng)電場(chǎng)工程結(jié)構(gòu)安全監(jiān)測(cè)建設(shè)規(guī)范
評(píng)論
0/150
提交評(píng)論