1. 程式人生 > >TMS320C6678外部儲存器SPI FLASH硬體設計以及軟體除錯

TMS320C6678外部儲存器SPI FLASH硬體設計以及軟體除錯

文章主要介紹了一下,TMS320C6678 DSP的SPI FLASH的硬體設計需要注意的問題以及相應的軟體除錯的問題。 ------作者:jiangwenj02【轉載請註明】 一、SPI FLASH 硬體設計 TMS320C6678 SPI模組擁有SPISCS0、SPISCS1、SPICLK、SPIDIN、SPIDOUT5個管腳,其中SPISCS0、SPISCS1為片選管腳,SPICLK為SPI提供時鐘,SPIDIN是資料接受管腳,SPIDOUT為資料傳送管腳。選用晶片N25Q128A11ESF40G,將管腳連線好就可以。參考官方設計板就可以。 二、SPI FLASH 軟體除錯 多核DSP為了簡化BOOT流程,在內部集成了一段ROM,大小為128KB,儲存RBL指令程式碼。RBL將外部主機或者flash儲存器中的程式搬移到記憶體之中。我們選擇用SPI掛載16MB的NOR Flash。該flash大小合適,接線簡單。將配置DSP BOOT方式的管腳GPIO[0..15]連線到FPGA。這樣在DSP正常啟動之後,GPIO還可以作為DSP和FPGA的通訊橋樑。
BOOT採用SPI FLASH,其中DSP BOOTMODE[2:0]選擇boot器件,選擇SPI,即DSP BOOTMODE[2:0]=6;N25Q128 FLASH 為24為地址的flash,因此DSP_BOOTMODE[9] = 1。 在除錯FLASH儲存器是否能正常工作的情況下,不將DSP設定在boot工作方式下。 除錯程式選擇K1_STK_v1.1提供的開原始碼,K1_STK_v1.1中對SPI的測試程式碼為SPI工程。只測試SPI FLASH將前邊的測試選項改成如下: #define SPI_LOOPBACK_TEST 0 #define SPI_NOR_FLASH_TEST 1 #define SPI_EDMA_TEST 0 注意:在最開始除錯SPI FLASH的時候,我也是一直調不通,根本沒有辦法從FLASH中讀取資料。一直到不到原因,重新購買的晶片也不行。後來直接換了一款晶片N25Q128A11ESF40G
,以前用的是官方板上的晶片,然後就好用了。個人認為原因是N25Q128A21BSF40F這款晶片已經停產了,市面上的都有問題。所以一定要選沒停產的晶片,價格還便宜。 程式下載地址:http://download.csdn.net/detail/a137376864/9795887