TI DSP6657—Nand Flash 程序固化

前言

開發(fā)嵌入式DSP程序的時(shí)候,最終生成的可執(zhí)行程序格式為.out , .out是TI CCS中一種二進(jìn)制可執(zhí)行程序的格式。在調(diào)試階段,只需要DSP開發(fā)板通過(guò)JTAG仿真器連接到PC上, 在PC端通過(guò)CCS直接將.out下載到DSP芯片的RAM中,點(diǎn)擊Run即可執(zhí)行。

但是,一旦DSP要脫離PC,仿真器, 就不能采用上面下載.out的方式,因?yàn)镽AM的性質(zhì)的掉電丟失的。 這時(shí)候,就需要將生成的程序保存在FLASH芯片中,F(xiàn)lash芯片的掉電不丟失的。下面將完整介紹DSP程序固化的流程。


RAM與ROM,F(xiàn)LASH區(qū)別

RAM與ROM區(qū)別

ROMRAM指的都是半導(dǎo)體存儲(chǔ)器,ROM是Read Only Memory的縮寫,RAM是Random Access Memory的縮寫。ROM在系統(tǒng)停止供電的時(shí)候仍然可以保持?jǐn)?shù)據(jù),而RAM通常都是在掉電之后就丟失數(shù)據(jù),典型的RAM就是計(jì)算機(jī)的內(nèi)存。

RAM的類型

RAM 有兩大類,一種稱為靜態(tài)RAM(Static RAM/SRAM),SRAM速度非常快,是目前讀寫最快的存儲(chǔ)設(shè)備了,但是它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級(jí)緩沖,二級(jí)緩沖。另一種稱為動(dòng)態(tài)RAM(Dynamic RAM/DRAM),DRAM保留數(shù)據(jù)的時(shí)間很短,速度也比SRAM慢,不過(guò)它還是比任何的ROM都要快,但從價(jià)格上來(lái)說(shuō)DRAM相比SRAM要便宜很多,計(jì)算機(jī)內(nèi)存就是DRAM的。

ROM的類型

ROM也有很多種,PROM是可編程的ROM,PROMEPROM (可擦除可編程ROM)兩者區(qū)別是,PROM是一次性的,也就是軟件灌入后,就無(wú)法修改了,這種是早期的產(chǎn)品,現(xiàn)在已經(jīng)不可能使用了,而EPROM是通過(guò)紫外光的照射擦出原先的程序,是一種通用的存儲(chǔ)器。另外一種EEPROM是通過(guò)電子擦除,價(jià)格很高,寫入時(shí)間很長(zhǎng),寫入很慢。

舉個(gè)例子,手機(jī)軟件一般放在EEPROM中,我們打電話,有些最后撥打的號(hào)碼,暫時(shí)是存在SRAM中的,不是馬上寫入通過(guò)記錄(通話記錄保存在EEPROM中),因?yàn)楫?dāng)時(shí)有很重要工作(通話)要做,如果寫入,漫長(zhǎng)的等待是讓用戶忍無(wú)可忍的。

FLASH芯片

FLASH 存儲(chǔ)器又稱閃存,它結(jié)合了ROM和RAM的長(zhǎng)處,不僅具備電子可擦除可編程(EEPROM)的性能,還不會(huì)斷電丟失數(shù)據(jù)同時(shí)可以快速讀取數(shù)據(jù)(NVRAM 的優(yōu)勢(shì)),U盤和MP3里用的就是這種存儲(chǔ)器。在過(guò)去的20年里,嵌入式系統(tǒng)一直使用ROM(EPROM)作為它們的存儲(chǔ)設(shè)備,然而近年來(lái)Flash全面代替了ROM(EPROM)在嵌入式系統(tǒng)中的地位,用作存儲(chǔ)Bootloader以及操作系統(tǒng)或者程序代碼或者直接當(dāng)硬盤使用(U盤)。

FLASH的分類

目前Flash主要有兩種NOR FlashNADN Flash

NOR Flash的讀取和我們常見(jiàn)的SDRAM的讀取是一樣,用戶可以直接運(yùn)行裝載在NOR FLASH里面的代碼,這樣可以減少SRAM的容量從而節(jié)約了成本。

NAND Flash沒(méi)有采取內(nèi)存的隨機(jī)讀取技術(shù),它的讀取是以一次讀取一塊的形式來(lái)進(jìn)行的,通常是一次讀取512個(gè)字節(jié),采用這種技術(shù)的Flash比較廉價(jià)。用戶不能直接運(yùn)行NAND Flash上的代碼,因此好多使用NAND Flash的開發(fā)板除了使用NAND Flah以外,還作上了一塊小的NOR Flash來(lái)運(yùn)行啟動(dòng)代碼。(本次固化就是在Nand Flash芯片中


開發(fā)環(huán)境/工具

  • EVM 6657評(píng)估板
  • TI XDS200 USB 仿真器
  • Flash燒寫工具
  • CCS v8
  • windows 10

DSP程序啟動(dòng)

DSP啟動(dòng)流程

上電之后,程序指針會(huì)自動(dòng)指向ROM中一個(gè)稱為Bootloader的小程序, 這段程序使得DSP在上電之后進(jìn)行一些初始化操作,然后根據(jù)期間配置的不同選擇從外部存儲(chǔ)器或者主器件中搬移代碼。C66x系統(tǒng)DSP片內(nèi)Bootloader的起始地址固定為0x20B00000

DSP啟動(dòng)方式

為了適應(yīng)不同系統(tǒng)的需求,TI公司的C66x系列支持的自啟動(dòng)模式包括:

  • SPI
  • I2C
  • EMAC
  • SRIO
  • PCIE
  • EMIF16
  • Nor Flash
  • Nand Flash

具體采用哪種啟動(dòng)方式由BOOTMODE[12:0] 引腳決定,DSP在上電脫離復(fù)位以后會(huì)讀取這些引腳的狀態(tài),Bootloader根據(jù)引腳的值來(lái)選擇相應(yīng)的啟動(dòng)方式。

TI DOC
TI DOC

基于Nand Flash的程序啟動(dòng)

TI DOC

實(shí)驗(yàn)

step1. 準(zhǔn)備好燒寫軟件

  1. CCS v8
  2. 待燒寫的.out
  3. 燒寫工具

首先,在TI官網(wǎng)論壇下載一個(gè)Boot example,包含Nand boot。 EVM板子撥碼開關(guān)撥到No boot模式。

image.png
image.png

step2: 轉(zhuǎn)換生成的.out

在轉(zhuǎn)換之前,需要進(jìn)行一些配置。


image.png
  • 設(shè)置mcsdk多核開發(fā)套件的路徑
image.png
  • rmd文件配置

length需要根據(jù).out的大小調(diào)整 ,其他不用變

image.png
image.png

配置好之后,運(yùn)行.bat文件,自動(dòng)生成一些文件。nand Flash燒寫需要用到 .dat文件。

image.png

step3:將轉(zhuǎn)換之后的.out(.dat)燒寫到Flash芯片中

  • 首先,打開一個(gè)工程,進(jìn)入到Debug模式


    image.png
image.png
  • 然后加載燒寫工具 nandwriter.out


    image.png
image.png
  • 將.dat加載到SL2內(nèi)存中,load memory,加載到指定的地址。


    image.png
image.png
image.png
image.png

這里內(nèi)存內(nèi)容將寫入的Flash芯片中。

  • 點(diǎn)擊run, 將遍歷加載到Expressions窗口


    image.png
image.png

dataSizeUint32設(shè)置為.dat 的大小 (10進(jìn)制), 然后程序繼續(xù)自動(dòng)運(yùn)行。 程序自動(dòng)將 0x0c000000起始的內(nèi)容,某個(gè)size的大小搬移到Flash芯片。

image.png

這樣Flash芯片就燒寫成功。

step4:重新上電

  • 板子撥碼開關(guān)撥到Nand Boot模式
  • 上電之后,復(fù)位

這樣,程序就自動(dòng)啟動(dòng)成功。


End

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 版權(quán)聲明:本文為小斑馬學(xué)習(xí)總結(jié)文章,技術(shù)來(lái)源于韋東山著作,轉(zhuǎn)載請(qǐng)注明出處! 一、Nor Flash原理及硬件操作 ...
    ZebraWei閱讀 4,904評(píng)論 0 6
  • 版權(quán)聲明:本文為小斑馬學(xué)習(xí)總結(jié)文章,技術(shù)來(lái)源于韋東山著作,轉(zhuǎn)載請(qǐng)注明出處!![] 一、NAND_FLASH操作原理...
    ZebraWei閱讀 3,552評(píng)論 4 8
  • 漫談可編程芯片 - 單片機(jī)DIY制作 單片機(jī)論壇 寫在前面:很多朋友都問(wèn)我做的是什么東西,我說(shuō)單片機(jī),但是大部分人...
    augustar閱讀 3,002評(píng)論 0 5
  • 學(xué)習(xí)stm32gpio 學(xué)習(xí)linux 程序員的三大方向 程序員的方向,一般可以分為3類:專業(yè)領(lǐng)域、業(yè)務(wù)領(lǐng)域、操作...
    王公民閱讀 954評(píng)論 0 3
  • 1 你有想過(guò)自殺嗎? 今天猛的被問(wèn)到 翻看了初中時(shí)的日記發(fā)現(xiàn)這個(gè)念頭在年少時(shí)候是經(jīng)常出現(xiàn)的 是不是每個(gè)人的青春期都...
    珊瑚下的藍(lán)閱讀 375評(píng)論 0 0

友情鏈接更多精彩內(nèi)容