日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]摘要:當需要更新DSP業(yè)務系統(tǒng)的應用軟件時,為了避免利用仿真器所帶來的不便和硬件損壞,采用了PCI總線技術(shù)來取代仿真器,完成系統(tǒng)應用程序的更新;針對帶有外圍FLASH的DSP系統(tǒng),設計了一整套DSP外圍FLASH啟動流程和

摘要:當需要更新DSP業(yè)務系統(tǒng)的應用軟件時,為了避免利用仿真器所帶來的不便和硬件損壞,采用了PCI總線技術(shù)來取代仿真器,完成系統(tǒng)應用程序的更新;針對帶有外圍FLASH的DSP系統(tǒng),設計了一整套DSP外圍FLASH啟動流程和應用程序的PCI更新方法;通過實驗證明,DSP業(yè)務系統(tǒng)可以通過上位機利用PCI總線完成DSP外圍FLASH的應用程序的更新,同時在DSP上電啟動時,也可以根據(jù)上位機的命令,選擇貯存在FLASH中不同的應用程序加載運行。
關鍵詞:DSP業(yè)務系統(tǒng);PCI;FLASH自舉;二級引導

    在DSP嵌入式業(yè)務系統(tǒng)設備中,一般采用片外FLASH自舉方式來實現(xiàn)DSP端應用程序的加載和啟動。當DSP業(yè)務系統(tǒng)需要更新應用程序時,則可通過仿真器連接JTAG口來控制DSP,完成DSP外圍FLASH的應用程序更新。然而,對于成型、交貨的設備產(chǎn)品,DSP業(yè)務系統(tǒng)板上一般不會留有JTAG口,或在機箱中很難插拔仿真器;另一方面,對已交貨產(chǎn)品經(jīng)常插拔仿真器,會對硬件設備有所損傷,使設備硬件處于非控狀態(tài)。
如果系統(tǒng)設計使用了PCI作為系統(tǒng)通信總線,則可以通過PCI來完成DSP業(yè)務系統(tǒng)應用程序的更新和加載。本設計以TI公司TMS320C6416T(簡稱C6416)芯片為例,來說明通過PCI總線來更新DSP系統(tǒng)應用程序的過程;同時本文也設計了一種C6416的上電啟動方式。

1 C6416的PCI特性
1.1 C6416 PCI傳輸機理
   
C6416片內(nèi)集成了PCI的控制器,通過PCI接口C6416可以完成同PCI總線上其他設備的數(shù)據(jù)交換。圖1描述了C6416的結(jié)構(gòu)框圖。PCI接口通過EDMA控制寄存器可以訪問C6416的片內(nèi)存儲器/Cache,或者通過EMIF接口訪問片外存儲器。


    從圖1可看出,PCI和EMIF接口都是通過EDMA傳輸控制器來與L2存儲器/Cache聯(lián)系的。EDMA傳輸控制寄存器主要用來控制L2存儲器和設備外圍間的數(shù)據(jù)通信,包括傳輸請求隊列、地址產(chǎn)生器等;而通道控制器是用戶可編程部分,用戶可以設置相應的寄存器,方便的設置數(shù)據(jù)傳輸方式(一維、二維)、事件觸發(fā)選擇、傳輸通道選擇等。
    所有的EDMA傳輸請求可以由L2控制器、HPI/PCI和EDMA通道三種渠道發(fā)出。一個傳輸請求一旦遞交,將通過鏈接通道移送到傳輸交叉開關(TC),在這里它將進行優(yōu)先級設置與處理。請求鏈為請求提供了一個內(nèi)在的優(yōu)先機制。假定一個請求在同一周期中只遞交一次請求,那么靠近TC的首先到達,最遠的最后到達。但進入TC的請求,則會進入傳輸請求隊列,按照隊列優(yōu)先級進行相應處理,如圖2所示。


    HPI/PCI自動產(chǎn)生傳輸請求來響應主機。這些請求具有Q2優(yōu)先級且對用戶是不可見的。HPI/PCI遞交請求來進行固定模式的單一單元讀、寫和短數(shù)據(jù)猝發(fā)遞增傳輸操作。
1.2 C6416 PCI操作原理
   
C6416的PCI操作可以設置為:
    主模式寫:DSP主設備通過PCI接口寫數(shù)據(jù)到外部PCI從設備。
    主模式讀:DSP主設備通過PCI接口從外部PCI從設備讀數(shù)據(jù)。
    從模式寫:外部PCI主設備通過PCI接口寫數(shù)據(jù)到DSP從設備。
    從模式讀:外部PCI主設備通過PCI接口從DSP從設備讀數(shù)據(jù)。
1.2.1 C6416 PCI寄存器
    PCI接口有以下3種寄存器:PCI配置寄存器,PCI I/O寄存器和映射在DSP存儲空間的PCI控制狀態(tài)寄存器。前兩類寄存器只能被外部主機訪問,DSP從機是不能訪問的;而最后一類寄存器,DSP從機是可以訪問的,并利用其來完成PCI通信的控制和操作。
    PCI配置寄存器包含標準的PCI配置信息,包括設備標識,供應商標識,版本等信息,其可以在上電復位時自動訪問E2PROM進行加載或上電復位時可以通過默認值初始化。
    PCI I/O寄存器可以被主機用來對從機進行操作和狀態(tài)監(jiān)控。主機通過base2存儲空間來訪問該類寄存器。該空間大小為16 B,有三個寄存器:主機狀態(tài)寄存器(HSR),主機-DSP控制寄存器(HDSR)和DSP頁寄存器(DSPP)。
1.2.2 C6416 PCI存儲器映射
    PCI端口通過3種基址寄存器可以完全訪問DSP的存儲器映射。
    Base0:4 MB的可預存取空間,通過設置DSP頁寄存器映射來對應所有DSP存儲空間,如圖3所示??梢岳斫鉃?,一個4 MB大小的存儲窗口,來遍歷整個DSP的存儲映射區(qū),而DSP頁寄存器的值則決定了這個4 MB存儲窗的起始地址。如圖4所示。


    Base1:8 MB的非預取址映射。其訪問起始地址固定,為0x01800000,該存儲空間映射為DSP片內(nèi)寄存器。如圖5所示。


    Base2:PCI 16 B I/O寄存器,上已介紹。
    上電后PCI主機將遍歷整個PCI總線,建立一棵PCI總線樹,然后對每個PCI總線樹上的結(jié)點(設備)進行上述3個基地址的分配。利用這3個基地址,PCI主機即可以訪問PCI總線上的從設備的全部存儲空間。
1.2.3 PCI中斷
   
如果設置了PCIIEN對應的中斷使能位,當對應的中斷源產(chǎn)生,DSP將進入中斷狀態(tài)。所有的中斷事件對應于一個CPU中斷:DSPINT??梢酝ㄟ^PCIIS中斷源寄存器來判斷產(chǎn)生中斷的中斷源。
1.2.4 PCI引導
    PCI接口支持從PCI總線引導DSP啟動。當其他設備從復位狀態(tài)喚醒后,CPU被復位。在此期間,PCI主機可以盡可能的通過PCI初始化DSP內(nèi)存。當PCI主機完成所需要的初始化工作,則向I/O寄存器HDCR.DSPINT位寫1,使DSP核退出復位。DSP則從地址0處開始運行。值得注意是的是,當C6416使用PCI引導方式時,需要通過硬件設置來配置DSP上電邏輯選擇PCI引導模式。

2 利用PCI總線來更新系統(tǒng)軟件的設計
2.1 應用程序的數(shù)據(jù)格式生成
   
通過DSP的開發(fā)平臺CCS,可以把編寫的應用程序編譯、鏈接成.out文件。該文件包含了應用程序的各個段的數(shù)據(jù),如text段,cinit段,const段,switch段等。這些段是CCS的編譯器把所寫的C語言編譯成匯編語言,然后生成COFF目標文件,再鏈接實時動態(tài)庫和靜態(tài)庫生成DSP核可執(zhí)行的COFF文件,提供給C6416使用。但是該文件不可直接被FLASH識別,同時也不可被C語言所識別。
    CCS提供了一個實用工具hex6x.exe來完成.out文件的轉(zhuǎn)換。該工具可以把.out文件的COFF數(shù)據(jù)格式轉(zhuǎn)換成16進制的ASCII碼數(shù)據(jù)格式文件.hex。然后利用TI公司提供的hex2aray.exe工具,把生成的.hex文件轉(zhuǎn)換成C語言能夠識別的數(shù)據(jù)數(shù)組格式文件.h。
    hex6x.exe工具的使用可以直接在Windows的cmd中調(diào)用命令。如下:
    hex6x-a-o firm.hex filename.out
    也可以創(chuàng)建一個命令文件來存放命令行操作和輸入、輸出文件命,以被hex6x.exe所調(diào)用。
    filenamc.out
    -a
    -o firm.hex
    生成的.hex文件都是以ASCII格式所保存。利用hex2aray.exe工具則可以完成ASCII碼到16進制數(shù)據(jù)的轉(zhuǎn)換。利用該工具生成的.h文件把所有數(shù)據(jù)段的數(shù)據(jù)順次存放在一個數(shù)組中,這樣則可以被C語言所訪問。
    本設計中在CCS生成.out的文件夾中,加入了上述兩個工具,然后創(chuàng)建了一個命令文件c6416_test.cmd,來輸入hex6x.exe.所需要的命令行;創(chuàng)建了一個批處理文件c6416_test.bat,來綜合調(diào)用兩個工具,代碼如下:
    hex6x c6416_test.cmd
    hex2aray-i c6416_test.hex-o c6416_test.h
2.2 PCI上電直接加載應用程序到DSP存儲空間
    對于PCI總線上的從DSP設備,如果沒有片內(nèi)或片外FLASH,則PCI主機在上電時可以直接把從DSP設備的應用程序數(shù)據(jù)寫到DSP的片內(nèi)RAM或片外RAM,然后指定DSP PC指針運行的起始地址。而從DSP設備應用程序的數(shù)據(jù)應當存放在PCI主機的系統(tǒng)存儲設備中(如片外FLASH,電子盤等)。
    首先通過調(diào)試編譯DSP的應用程序,完成所有功能需求,生成C6416可執(zhí)行的.out文件;然后利用上述工具,生成.out文件所對應的.h文件,該文件中數(shù)組的內(nèi)容,則是應用程序的二進制代碼數(shù)據(jù);接著通過硬件管腳電平控制,來使DSP處于PCI引導方式,并利用DSPPCI從寫模式,在系統(tǒng)上電后,主機把.h中的數(shù)據(jù)傳輸?shù)街付ǖ腃6416程序存儲空間;最后向I/O寄存器HDCR.DSPINT位寫1,使DSP核退出復位,C6416則從0地址開始運行。
    上述流程中有一個關鍵問題,就是在進行PCI數(shù)據(jù)傳輸時,存放數(shù)據(jù)的地址如何確定。這些地址表示的是應用程序各個數(shù)據(jù)段、代碼段在C6416中運行時所存放的位置,其由應用程序中的.cmd文件指明。在應用程序.out生成后,可以查看.map文件來清楚的獲知各個段的存放地址。可以用.map文件來明確主機PCI數(shù)據(jù)發(fā)送的具體地址,手動輸入各個段存放的起始地址。然而,此方法主要用于程序調(diào)試和測試,當應用程序發(fā)生變化,主機的PCI傳輸程序也需要變化;此外如果使用了DSP/BIOS,.out文件會包含很多的代碼段、數(shù)據(jù)段,手動輸入將是一個很繁瑣的工作。hex6x.exe工具有一個命令-boot,利用該命令生成的數(shù)據(jù)包含了系統(tǒng)程序的入口地址c_int00和各個段的起始地址、段的長度。利用這些信息,可以很方便的使用程序把各個段的數(shù)據(jù)寫入到指定的C6416存儲空間中,避免了繁瑣的手動輸入操作。由于當DSP退出復位后,PC指針是從0地址開始運行,如果數(shù)據(jù)段和代碼段是存放在片外RAM時,則需要在0地址存放一段指針跳轉(zhuǎn)語句,使PC指針跳轉(zhuǎn)到片
外RAM,繼續(xù)運行。
2.3 利用PCI總線完成從DSP設備外圍FLASH應用程序的更新
   
更多的嵌入式設備中,從DSP設備都接有外圍的FLASH等ROM設備,用來存放DSP運行的應用程序。這樣一方面可以減少PCI主機存儲空間的壓力,同時可以提高從機的啟動速度。
2.3.1 C6416的FLASH啟動方式
   
C6416的啟動方式是由硬件邏輯來決定,通過EMIFB地址總線上的BEA[19:18]兩個管腳的上拉、下拉來決定引導配置。[0,1]:主機引導(HPI或PCI);[1,0]:EMIFB 8bit寬FLASH引導。
    當選擇FLASH啟動時,C6416的引導邏輯決定了,從FLASH的0地址開始,將會拷貝1 KB的數(shù)據(jù)到C6416片內(nèi)RAM的0~1KB位置,然后C6416的PC指針將從片內(nèi)RAM的0地址開始運行。那么對于所要啟動的應用程序的大小一般都是大于1 KB,因此可以利用二級引導來完成C6416的程序加載。所謂二級引導,是指在應用程序的工程中,寫一段bootload程序,該程序主要完成EMIF接口的配置,和應用程序從FLASH向C6416存儲器搬移的工作。程序應當利用.cmd文件,來為bootload代碼分配存儲空間,其空間地址范圍應該是0~1 KB。同時燒寫bootload到FLASH時,應當燒寫到0~1 KB的空間范圍內(nèi)。當系統(tǒng)上電,F(xiàn)LASH中的0~1 KB數(shù)據(jù)自動搬移到C6416片內(nèi)RAM 0~1 KB,然后PC指針從0開始運行,此時EMIFA和EMIFB將被配置,允許C6416可以訪問片外RAM和片外FLASH;然后完成從FLASH到存儲器(片內(nèi)或片外RAM)的代碼段、數(shù)據(jù)段數(shù)據(jù)搬移;最后設置PC指針跳轉(zhuǎn)到應用程序的入口地址c_int00來初始化C語言環(huán)境,從而開始運行應用程序。Bootload程序應該用匯編來完成,因為它是在C語言環(huán)境初始化之前被執(zhí)行,此時C6416是不識別C語言的語言符號的。
2.3.2 C6416從機的啟動模式設計
   
編寫一個C6416的程序,該程序完成FLASH到片外SDRAM的數(shù)據(jù)拷貝。而拷貝的數(shù)據(jù)則是C6416具體要完成的業(yè)務任務。同時該程序包含了Bootload程序,用來完成上電后的1 KB FLASH數(shù)據(jù)搬移。見圖6。


    第一步:當C6416上電后,首先自動完成A搬移操作,“Bootload程序”將被搬移到C6416片內(nèi)RAM的0起始地址,后開始運行該段代碼,該段代碼是利用匯編語言編寫,其在C語言庫初始化前被執(zhí)行;
    第二步:“Bootload程序”的運行將會配置C6416的EMIF寄存器,使能片外SDRAM,同時使B搬移操作完成:“程序選擇搬移代碼”將被搬移到C6416片內(nèi)RAM,并從程序入口地址開始執(zhí)行該代碼段;
    第三步:“程序選擇搬移代碼”的執(zhí)行將對業(yè)務代碼進行選擇,查看需要加載“業(yè)務代碼1”還是“業(yè)務代碼2”,把選擇的業(yè)務代碼搬移到片外SDRAM中,完成C搬移操作或D搬移操作,然后從程序入口地址開運行,從而被選中的業(yè)務代碼將被執(zhí)行。
    其中“程序選擇搬移代碼”是一段由C語言編寫的C6416啟動輔助代碼。該段代碼主要完成了業(yè)務代碼的選擇和搬移工作。應用用戶可以在C6416片外FLASH中存放多個業(yè)務代碼,通過串口、PCI總線等接口向C6416發(fā)送業(yè)務代碼選擇命令,在“程序選擇轉(zhuǎn)移代碼”中,對該命令進行分析,根據(jù)協(xié)議選擇所指定的業(yè)務代碼。當選擇了所需的業(yè)務代碼,就需要完成代碼的FLASH到C6416存儲器的搬移。由于業(yè)務代碼是利用上述的hex6x.exe和hex2aray.exe工具所生成的16進制數(shù)據(jù),其包含了業(yè)務代碼各個段的起始地址、段長和段數(shù)據(jù),因此需要利用“程序選擇搬移代碼”來完成業(yè)務代碼的解析,并把各個段從FLASH搬移到指定的C6416存儲空間中。最后把程序指針指定到程序的入口地址,即可運行業(yè)務代碼。該啟動方式的設計有助于在實際應用中針對不同的設備和需求選擇不同的業(yè)務應用代碼,同時也有助于FLASH中的業(yè)務代碼的更新。
2.3.3 利用PCI總線更新FLASH中的業(yè)務代碼
    當成型的設備需要對固化在DSP外圍FLASH中的業(yè)務代碼進行更新時,應該在DSP上運行FLASH燒寫程序,把業(yè)務代碼燒寫到FLASH中。本設計利用PCI啟動方式,通過上位機來啟動C6416運行FLASH燒寫程序,完成業(yè)務代碼的FLASH燒寫。利用上述的C6416從機啟動模式,可以很容易的發(fā)現(xiàn),當需要完成FLASH軟件更新時,只需要更新“業(yè)務代碼”即可,而“Bootload”和“程序選擇搬移代碼”不需要變更。如此業(yè)務代碼更新就很方便,因為其只需要考慮程序應用上的變換,而不需要過多的考慮程序代碼、數(shù)據(jù)段地址分配的問題,更不需要考慮C6416特有的僅1 KB數(shù)據(jù)上電自動搬移所帶來的麻煩。具體步驟如圖7所示。


    第一步:根據(jù)C6416外圍所選的FLASH特性,來編寫其代碼燒寫程序。在該程序中把需要更新的業(yè)務代碼作為常量數(shù)據(jù)包含到工程中的eonst段中。
    第二步:利用hex6x.exe和hex2aray.exe工具來將FLASH燒寫程序轉(zhuǎn)換成C語言可以識別的16進制數(shù)組數(shù)據(jù);
    第三步:選擇C6416為PCI主機啟動模式,主機利用PCI總線將轉(zhuǎn)換為16進制的燒寫程序數(shù)據(jù)搬移到C6416片內(nèi)存儲器;
    第四步:主機把C6416 I/O空間寄存器HDCR.DSPINT位置1,使C6416退出復位,開始運行。
    當C6416運行了燒寫程序,便把const段中的待更新業(yè)務軟件數(shù)據(jù)燒寫到FLASH指定的地址上。如此便完成了FLASH的業(yè)務軟件的更新。

3 結(jié)語
   
本文介紹的利用PCI總線更新DSP業(yè)務系統(tǒng)應用程序的設計,完全擺脫了JTAG口的制約,利用具有高速數(shù)據(jù)通信特性的PCI總線,針對包含外圍FLASH和不包含外圍FLASH的DSP業(yè)務系統(tǒng),實現(xiàn)了應用程序的更新。
    特別對于含有外圍FLASH的DSP業(yè)務系統(tǒng),本文設計的DSP啟動方式和FLASH應用程序更新流程,能高效地完成應用程序的更新,同時實現(xiàn)了DSP啟動時應用程序加載的選擇。

本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

柏林2025年9月9日 /美通社/ -- 2025年9月5日,納斯達克上市公司優(yōu)克聯(lián)集團(NASDAQ: UCL)旗下全球互聯(lián)品牌GlocalMe,正式亮相柏林國際消費電子展(IFA 2025),重磅推出融合企...

關鍵字: LOCAL LM BSP 移動網(wǎng)絡

深圳2025年9月9日 /美通社/ -- PART 01活動背景 當技術(shù)的鋒芒刺穿行業(yè)壁壘,萬物互聯(lián)的生態(tài)正重塑產(chǎn)業(yè)疆域。2025年,物聯(lián)網(wǎng)產(chǎn)業(yè)邁入?"破界創(chuàng)造"與"共生進化"?的裂變時代——AI大模型消融感知邊界,...

關鍵字: BSP 模型 微信 AIOT

"出海無界 商機無限"助力企業(yè)構(gòu)建全球競爭力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由領先商業(yè)管理媒體世界經(jīng)理人攜手環(huán)球資源聯(lián)合主辦、深圳?前海出海e站通協(xié)辦的...

關鍵字: 解碼 供應鏈 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林當?shù)貢r間9月6日,在2025德國柏林國際電子消費品展覽會(International Funkausstellung...

關鍵字: 掃地機器人 耳機 PEN BSP

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠通信宣布,其自研藍牙協(xié)議棧DynaBlue率先通過藍牙技術(shù)聯(lián)盟(SIG)BQB 6.1標準認證。作為移遠深耕短距離通信...

關鍵字: 藍牙協(xié)議棧 移遠通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實黨中央、國務院和上海市委、市政府關于加快發(fā)展人力資源服務業(yè)的決策部署,更好發(fā)揮人力資源服務業(yè)賦能百業(yè)作用,8月29日,以"AI智領 HR智鏈 靜候你來&quo...

關鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達成合作,為其自主研發(fā)的"旗馭車管"車輛運營管理平臺提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺對百余家企業(yè)客戶的運營管理效率...

關鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟和信息化委員會、上海市發(fā)展和改革委員會、上海市商務委員會、上海市教育委員會、上海市科學技術(shù)委員會指導,東浩蘭生(集團)有限公司主辦,東浩蘭生會展集團上海工業(yè)商務展覽有...

關鍵字: 電子 BSP 芯片 自動駕駛
關閉