色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用C5402外掛FLASH存儲(chǔ)器SST39VF400A實(shí)現(xiàn)在系統(tǒng)編程

電子設(shè)計(jì) ? 來源:電子技術(shù)應(yīng)用 ? 作者:丁潔 , 魏豐 , 李廣 ? 2020-05-19 07:40 ? 次閱讀

TMS320VC5402(以下簡稱C5402)是TI公司的一款性價(jià)比極好的16位定點(diǎn)DSP芯片。由于C5402內(nèi)部只有16K×16位RAM和4K×16位掩膜ROM,用戶程序必須存放在外掛的程序存儲(chǔ)器中。對(duì)程序存儲(chǔ)器的編程(即離線編程)通常是通過通用編程器完成的,即用戶將要寫入的程序轉(zhuǎn)換成編程器能夠接收的格式,再通過編程器寫入存儲(chǔ)器中。隨著芯片制造工藝的不斷提高,芯片集成度越來越高,存儲(chǔ)器正在向小型化、貼片式發(fā)展,從而使表面封裝或PLCC封裝的存儲(chǔ)器難以利用編程器編程。目前普遍采用的在系統(tǒng)編程ISP(In System Programming)技術(shù)不需要編程器,通過系統(tǒng)的DSP可直接對(duì)用戶板上的存儲(chǔ)器編程,這樣不僅節(jié)省了通用編程器及適配器的費(fèi)用,還減少了頻繁插拔存儲(chǔ)器的麻煩,從而大量節(jié)省了系統(tǒng)開發(fā)時(shí)間,滿足了用戶程序在線更新的要求。外掛的程序存儲(chǔ)器通常選用容量大、存儲(chǔ)速度快、功耗低、性價(jià)比高的FLASH存儲(chǔ)器。

由于DSP仿真軟件編譯鏈接后生成的是二進(jìn)制的COFF格式文件,不能直接寫入FLASH中,還需通過Hex轉(zhuǎn)換工具將COFF目標(biāo)文件轉(zhuǎn)換為標(biāo)準(zhǔn)的ASCII碼十六進(jìn)制格式(即Hex格式)。對(duì)于離線編程,只需將這種Hex文件直接作為編程器的輸入,即可寫入FLASH;而在系統(tǒng)編程,則是利用系統(tǒng)本身的DSP,通過軟件編程來實(shí)現(xiàn)整個(gè)燒寫過程。因此,如何對(duì)FLASH進(jìn)行燒寫是整個(gè)在系統(tǒng)編程的一個(gè)關(guān)鍵。本文以一片C5402外掛一片FLASH存儲(chǔ)器構(gòu)成的最小系統(tǒng)為實(shí)例,介紹采用C語言編寫FLASH燒寫程序,并通過DSP將用戶程序代碼寫入FLASH,從而實(shí)現(xiàn)在系統(tǒng)編程。

1 DSP與FLASH構(gòu)成的最小系統(tǒng)

本系統(tǒng)的FLASH存儲(chǔ)器選用SST公司的SST39VF400A,用作DSP的數(shù)據(jù)空間。FLASH的片選信號(hào)/CE由DSP的數(shù)據(jù)空間選擇信號(hào)/DS和存儲(chǔ)器選通信號(hào)/MSTRB產(chǎn)生,讀使能信號(hào)/OE和寫使能信號(hào)/WE由DSP的讀寫脈沖信號(hào)R/W和/DS、/MSTRB組合產(chǎn)生。FLASH的地址線A0~A15和DSP的A0~A15直接相連,A16和A17接地。由于DSP數(shù)據(jù)空間0000H~3FFFH為存儲(chǔ)器映象寄存器、暫存器和片內(nèi)RAM,對(duì)外部FLASH來講是不可見的,所以FLASH可操作的地址范圍為4000H~0FFFFH。設(shè)用戶程序從FLASH中8000H單元開始存放,則系統(tǒng)上電時(shí)引導(dǎo)程序就從數(shù)據(jù)空間的8000H單元開始搬運(yùn)數(shù)據(jù)到DSP內(nèi)部RAM指定區(qū)域,引導(dǎo)完畢后即跳轉(zhuǎn)到RAM中程序入口地址運(yùn)行用戶程序。

2 SST39VF400A的在系統(tǒng)編程

2.1 芯片簡介及常用命令

SST39VF400A是SST公司的256K×16位FLASH存儲(chǔ)器,工作電壓3.3V、擦寫壽命100 000次,訪問時(shí)間70~90ns。用戶只需向其特定地址寫入特定的指令序列,那么通過這些命令用戶即可啟動(dòng)內(nèi)部寫狀態(tài)機(jī),從而使其自動(dòng)完成指令序列要求的內(nèi)部操作,其中包括:復(fù)位、整片擦除、塊擦除、扇區(qū)擦除、操作字寫入等。

2.2 SST39VF400A編程操作

對(duì)采用在系統(tǒng)編程的FLASH存儲(chǔ)器,整個(gè)編程過程由用戶控制,因此用戶必須了解FLASH存儲(chǔ)器的各狀態(tài)位,以便知道編程或擦除是否結(jié)束。SST39VF400A內(nèi)部提供兩種軟件檢查方法:檢查狀態(tài)位Data# Polling(DQ7)和Toggle Bit(DQ6)。現(xiàn)以檢查Toggle Bit(DQ6)位為例來具體說明SST39VF400A的編程及檢查機(jī)制。SST39VF400A在進(jìn)行內(nèi)部編程或擦除時(shí),對(duì)任何地址進(jìn)行連續(xù)讀取都會(huì)引起DQ6的跳變,當(dāng)操作停止就會(huì)結(jié)束跳變。因此可以通過連續(xù)兩次讀取檢查DQ6的變化情況來判斷編程擦除操作是否完成。單字編程及檢查流程如圖1所示(其中WA為要寫入數(shù)據(jù)的存儲(chǔ)地址)。

3 C5402的并行引導(dǎo)裝載

通過在系統(tǒng)編程操作可以實(shí)現(xiàn)將用戶程序代碼寫入FLASH。如何確定FLASH中用戶程序代碼的存放格式并正確地引導(dǎo)裝載以實(shí)現(xiàn)脫機(jī)運(yùn)行,則是整個(gè)在系統(tǒng)編程的重點(diǎn)之處。在C5402的五種引導(dǎo)方式中,并行引導(dǎo)是DSP系統(tǒng)最常用最簡單的引導(dǎo)方式。下面介紹C5402的并行16位引導(dǎo)裝載方法。

3.1 引導(dǎo)過程簡介

為了正確引導(dǎo)用戶程序,必須編制引導(dǎo)表,引導(dǎo)表要告訴引導(dǎo)程序采用何種引導(dǎo)方式、程序入口地址、各段的目標(biāo)首地址和長度等。引導(dǎo)表的數(shù)據(jù)格式是由鏈接配置文件和HEX轉(zhuǎn)換配置文件決定的,鏈接配置文件定義各段存放的首地址和長度,而HEX轉(zhuǎn)換配置文件則定義引導(dǎo)方式、程序入口地址和引導(dǎo)表在外部存儲(chǔ)器中存放的首地址。引導(dǎo)程序可以從地址為0FFFFH單元的I/O端口或數(shù)據(jù)存儲(chǔ)器取得引導(dǎo)表的起始地址。本文介紹的是并行引導(dǎo)方式,引導(dǎo)過程如下:引導(dǎo)程序先從外部數(shù)據(jù)空間的0FFFFH單元(即FLASH的0FFFFH單元)讀取引導(dǎo)表起始地址,然后從該起始地址讀取引導(dǎo)標(biāo)識(shí)。若為08AAH則為并行8位引導(dǎo)方式;若不是再從起始地址的下一單元讀取內(nèi)容,看由此兩單元內(nèi)容組成的16位字是否為10AAH,若是則為并行16位引導(dǎo)方式。最后從引導(dǎo)表指定的地址搬運(yùn)各段代碼到片內(nèi)RAM對(duì)應(yīng)的地址,搬運(yùn)完畢后即從程序入口地址執(zhí)行用戶程序。由此可見,引導(dǎo)表的編制是引導(dǎo)過程的關(guān)鍵。下面結(jié)合實(shí)例具體介紹引導(dǎo)表的形成和裝載過程(設(shè)用戶程序?yàn)闇y(cè)試指示燈的程序,源文件為main.asm和vectors.asm源代碼省略)。

采用C5402外掛FLASH存儲(chǔ)器SST39VF400A實(shí)現(xiàn)在系統(tǒng)編程

3.2 鏈接配置文件編寫

(文件名為TestLedLink.cmd)

MEMORY {

PAGE 0:

VEC: org=0100h, len=0080h ;中斷向量的首地址和塊長度

CODE: org=0180h, len=0F80h ;程序塊的首地址和塊長度

PAGE 1:

STACKS: org=1100h, len=0100h ;堆棧區(qū)的首地址和塊長度

DATA: org=1200h, len=1000h ;數(shù)據(jù)塊的首地址和塊長度

}

SECTIONS{

.vectors:> VEC PAGE 0 ;將中斷向量放入程序頁的VEC區(qū)

.text> CODE PAGE 0 ;將程序代碼放入程序頁的CODE區(qū)

.stack> STACKS PAGE 1 ;將堆棧放入數(shù)據(jù)頁的STACKS區(qū)

.bss> DATA PAGE 1 ;將未初始化變量放入數(shù)據(jù)頁的DATA區(qū)

.data> DATA PAGE 1 ;將初始化數(shù)據(jù)放入數(shù)據(jù)頁的DATA區(qū)

}

鏈接配置文件寫好后,通過DSP仿真軟件CCS編譯鏈接即可生成TestLed.out文件。在匯編時(shí)要注意,不論是DOS下的ASM500還是WINDOWS下的CCS都必須加上-v548開關(guān)量,否則不能生成正確的引導(dǎo)表。

3.3 HEX轉(zhuǎn)換配置文件編寫

(文件名為TestLedHex.cmd)

TestLed.out ;轉(zhuǎn)換的文件名,即編譯鏈接后的.out文件

-a ;ASCII-HEX格式

-map TestLed.mxp ;生成的映射文件名,可不生成該文件

-o TestLed.hex ;轉(zhuǎn)換后的HEX文件名

-memwidth 16 ;系統(tǒng)存儲(chǔ)器寬度為16位

-romwidth 16 ;ROM器件寬度為16位

-boot ;將COFF文件中各段轉(zhuǎn)換為引導(dǎo)表的格式(替代SECTIONS偽指令)

-bootorg 0x8000 ;引導(dǎo)表放在FLASH的8000H開始的單元

-e 0x0100 ;裝入引導(dǎo)表后程序運(yùn)行的起始地址

HEX轉(zhuǎn)換配置文件寫好后,使用CCS提供的轉(zhuǎn)換工具HEX500將生成的COFF目標(biāo)文件TestLed.out轉(zhuǎn)化為標(biāo)準(zhǔn)的ASCII—HEX格式的文件TestLed.hex。注意在轉(zhuǎn)換時(shí)一定要把TestLedHex.cmd文件的擴(kuò)展名cmd加上。

3.4 構(gòu)造引導(dǎo)表并寫入FLASH

經(jīng)過HEX轉(zhuǎn)換生成的TestLed.hex文件內(nèi)容。

文件開始為ASCII STX字符,結(jié)束為ASCII ETX字符,$A8000表示引導(dǎo)表存放的首地址,接下來的數(shù)據(jù)就是從8000H單元存放的引導(dǎo)表的內(nèi)容,轉(zhuǎn)換后的TestLed.hex文件可直接由編程器燒寫進(jìn)FLASH,也可通過在系統(tǒng)編程的方法由上述的DSP燒寫程序?qū)戇M(jìn)FLASH。執(zhí)行燒寫程序前需要編寫一個(gè)簡單的程序?qū)ⅲ龋牛匚募衅鹗挤⑹椎刂贰⒔Y(jié)束符等與引導(dǎo)表無關(guān)的信息去掉,并轉(zhuǎn)換為DSP能識(shí)別的文件格式(如.Dat),采用.copy或.include命令將該文件作為數(shù)據(jù)段嵌入燒寫進(jìn)程序中同時(shí)注意在FLASH的0FFFFH單元寫入引導(dǎo)表起始地址8000H。燒寫FLASH后數(shù)據(jù)存放格式。

引導(dǎo)表燒寫進(jìn)FLASH后,將MP/Mc引腳置低,上電復(fù)位后引導(dǎo)程序就會(huì)自動(dòng)將FLASH中的用戶程序搬進(jìn)片內(nèi)RAM,搬運(yùn)完畢后即跳轉(zhuǎn)到程序入口地址,高速運(yùn)行用戶程序。

此方法適用于程序代碼小于16K的情況,將用戶程序全部導(dǎo)入C5402片內(nèi)RAM中即可;當(dāng)用戶程序較大而超過16K時(shí),需要外擴(kuò)程序存儲(chǔ)器,此時(shí)在引導(dǎo)表中需用到擴(kuò)展的程序計(jì)數(shù)器(XPC),來尋址擴(kuò)展的程序存儲(chǔ)空間。

責(zé)任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    50884

    瀏覽量

    424154
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1637

    瀏覽量

    148114
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7494

    瀏覽量

    163909
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DSP2812讀寫SST39VF800AC++程序源碼

    (); BlockErase(0); Write(FLASH[0x0000], 0x6666); FlashReset();}Busy = false;}下圖是在SST39VF800A實(shí)現(xiàn)的"
    發(fā)表于 02-27 07:50

    請(qǐng)問C5402有內(nèi)部FLASH嗎?

    5402硬件設(shè)計(jì)沒有連接外部存儲(chǔ)器查詢C5402的手冊(cè) 沒有找到內(nèi)部FLASH的內(nèi)容請(qǐng)問把程序燒寫到5402板子里 不用仿真
    發(fā)表于 02-12 08:32

    Flash存儲(chǔ)器SST39SF020的特性及應(yīng)用介紹

    Flash存儲(chǔ)器SST39SF020的資料下載內(nèi)容主要介紹了:SST39SF020性能特點(diǎn)SST39SF020讀寫操作和特定指令代碼
    發(fā)表于 04-15 06:33

    C5402是什么?C5402有哪幾個(gè)典型應(yīng)用?

    TS流是什么?C5402是什么?C5402有哪幾個(gè)典型應(yīng)用?如何利用CCS去開發(fā)仿真?
    發(fā)表于 05-27 06:23

    怎樣采用C5402外掛FLASH存儲(chǔ)器SST39VF400A實(shí)現(xiàn)一種在系統(tǒng)編程

    DSP與FLASH構(gòu)成的最小系統(tǒng)是什么?C5402的并行16位引導(dǎo)裝載方法是什么?怎樣采用C5402外掛
    發(fā)表于 06-26 07:23

    單片機(jī)系統(tǒng)Flash存儲(chǔ)器系統(tǒng)編程設(shè)計(jì)

    介紹了AM29F010B的編程要求,結(jié)合M68HC11上電自動(dòng)引導(dǎo)功能,針對(duì)發(fā)動(dòng)機(jī)控制單元設(shè)計(jì)中編程的問題,提供了一種Flash存儲(chǔ)器系統(tǒng)編程
    發(fā)表于 09-14 10:33 ?3382次閱讀
    單片機(jī)<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>Flash</b><b class='flag-5'>存儲(chǔ)器</b>在<b class='flag-5'>系統(tǒng)編程</b>設(shè)計(jì)

    單片機(jī)的FLASH引導(dǎo)裝載系統(tǒng)設(shè)計(jì)

    本文介紹了TMS320C6713浮點(diǎn)DSP芯片和SST公司提供的SST39VF400A FLASH存儲(chǔ)器的基本特點(diǎn),給出了使用該
    發(fā)表于 09-20 12:08 ?1828次閱讀
    單片機(jī)的<b class='flag-5'>FLASH</b>引導(dǎo)裝載<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    串行A/D與C5402組成的數(shù)據(jù)采集系統(tǒng)

    人們的廣泛青睞。C5402增強(qiáng)外設(shè)有軟件等待狀態(tài)發(fā)生、鎖相環(huán)時(shí)鐘發(fā)生、6通道直接存儲(chǔ)器訪問(DMA)控制、增強(qiáng)型8位并行主機(jī)接口(HP
    發(fā)表于 10-24 14:10 ?2次下載
    串行<b class='flag-5'>A</b>/D與<b class='flag-5'>C5402</b>組成的數(shù)據(jù)采集<b class='flag-5'>系統(tǒng)</b>

    SST39LF200A/400A/800A/SST39VF200A/400A/800A原文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(閃存技術(shù))

    該文檔是SST39LF200A/400A/800A/SST39VF200A/400A/800A
    發(fā)表于 10-30 16:50 ?15次下載
    <b class='flag-5'>SST39LF200A</b>/<b class='flag-5'>400A</b>/800<b class='flag-5'>A</b>/<b class='flag-5'>SST39VF200A</b>/<b class='flag-5'>400A</b>/800<b class='flag-5'>A</b>原文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(閃存技術(shù))

    SST39VF401C/402C/SST39LF401C/402C中文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(閃存技術(shù))

    該文檔是SST39VF401C/402C/SST39LF401C/402C(高性能CMOS的SuperFlash技術(shù))中文資料用戶手冊(cè)SST39VF
    發(fā)表于 10-30 16:54 ?27次下載
    <b class='flag-5'>SST39VF401C</b>/402<b class='flag-5'>C</b>/<b class='flag-5'>SST39LF401C</b>/402<b class='flag-5'>C</b>中文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(閃存技術(shù))

    SST39VF801C/802C/SST39LF801C/802C中文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(閃存技術(shù))

    該文檔是SST39VF801C/802C/SST39LF801C/802C(高性能CMOS的SuperFlash技術(shù))中文資料用戶手冊(cè)SST39VF
    發(fā)表于 10-30 16:58 ?22次下載
    <b class='flag-5'>SST39VF801C</b>/802<b class='flag-5'>C</b>/<b class='flag-5'>SST39LF801C</b>/802<b class='flag-5'>C</b>中文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(閃存技術(shù))

    SST39VF1601/1602/SST39VF3201/3202原文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(CMOS的SuperFlash技術(shù))

    該文檔是SST39VF1601/1602/SST39VF3201/3202(CMOS的SuperFlash技術(shù))中文資料用戶手冊(cè)SST39VF1601/1602/SST39VF3201
    發(fā)表于 10-30 17:05 ?30次下載
    <b class='flag-5'>SST39VF</b>1601/1602/<b class='flag-5'>SST39VF</b>3201/3202原文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(CMOS的SuperFlash技術(shù))

    SST39VF1681/SST39VF1682原文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(CMOS的SuperFlash技術(shù))

    該文檔是SST39VF1681/SST39VF1682(CMOS的SuperFlash技術(shù))中文資料用戶手冊(cè)SST39VF1681/SST39VF1682的應(yīng)用特征、功率參數(shù)、應(yīng)用范圍
    發(fā)表于 10-30 17:10 ?16次下載
    <b class='flag-5'>SST39VF</b>1681/<b class='flag-5'>SST39VF</b>1682原文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(CMOS的SuperFlash技術(shù))

    基于SST39VF160芯片的Nor Flash操作

    NOR Flash存儲(chǔ)器 SST39VF160芯片介紹 SST39VF160是一個(gè)1M16的CMOS多功能FlashMPF器件,由SST特有
    發(fā)表于 07-15 10:36 ?5712次閱讀
    基于<b class='flag-5'>SST39VF</b>160芯片的Nor <b class='flag-5'>Flash</b>操作

    基于SST39VF3201C/SST39VF3202C32 Mb (x16)多用途閃存

    他方法相比,分離柵極單元設(shè)計(jì)和厚氧化層隧穿注入實(shí)現(xiàn)更高的可靠性和可制造性。 SST39VF3201C/3202C 使用 2.7-3.6V 電源進(jìn)行寫操作 (
    發(fā)表于 06-30 11:23 ?18次下載
    基于<b class='flag-5'>SST39VF3201C</b>/<b class='flag-5'>SST39VF3202C</b>32 Mb (x16)多用途閃存
    主站蜘蛛池模板: 879影视动漫h免费观看| 农民下乡在线观看3| 国产av免费观看日本| 成人免费小视频| 插骚妇好爽好骚| 国产精品免费视频能看| 韩国无遮羞禁动漫在线观看96| 狠狠色狠狠色综合日日小说| 久久精品AV麻豆| 国产欧美一区二区三区视频| WWWXXXX兽交| 嘟嘟嘟WWW免费高清在线中文| 国产精品久久久久影院| 果冻传媒视频在线播放| 国产三级视频在线| 精品国产国偷自产在线观看| 啦啦啦影院视频在线看高清...| 久久久久久久久久毛片精品美女 | 小草视频免费观看在线| 亚洲日韩国产精品乱-久| 91精品国产91热久久p| 高h全肉图| 久99re视频9在线观看| 嗯啊不要老师| 天天综合网网欲色| 永久免费精品精品永久-夜色| 亚洲国产精品热久久| 樱桃bt在线www| www.青青草.com| 果冻传媒mv国产陈若瑶主演| 久久是热频国产在线| 欧美一级久久久久久久大| 午夜影视免费| 2022久久精品国产色蜜蜜麻豆 | 洗濯屋H纯肉动漫在线观看| 在线免费观看毛片网站| videossexotv极度另类| 国产在线视频分类精品| 暖暖日本在线手机免费完整版| 午夜福到在线2019| 99re8久久热在线视频|