999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OR1200的SoC程序無線智能加載系統(tǒng)設(shè)計(jì)及驗(yàn)證

2018-01-22 13:43:50黃誠唐明華
電子產(chǎn)品世界 2017年9期
關(guān)鍵詞:二次開發(fā)

黃誠+唐明華

摘要:SoC是當(dāng)前微電子芯片發(fā)展的趨勢(shì),然而由于受帶開發(fā)環(huán)境的PC終端、額外硬件接口、連接線等條件的約束,很難支持SoC產(chǎn)品的二次開發(fā)。本文提出一種SoC無線程序加載系統(tǒng)設(shè)計(jì)方案,通過無線控制實(shí)現(xiàn)不同程序的加載,不需要添加額外的接口與復(fù)雜的模塊,不需要連接下載線和IDE開發(fā)環(huán)境等工具,簡化了芯片的二次開發(fā),增加了芯片的利用率、,并且在FPGA板上測(cè)試通過。

關(guān)鍵詞:二次開發(fā);無線程序加載:開發(fā)環(huán)境;芯片利用率

DOI: 10.3969/j.issn.1005-5517.2017.8.012

引言

隨著SoC技術(shù)的不斷發(fā)展,其產(chǎn)品在市場上的占用比例也越來越大。對(duì)于SoC的開發(fā)流程,它需要有一套相應(yīng)的IDE開發(fā)工具,包括裝有配套開發(fā)環(huán)境的PC、硬件接口和連接線。開發(fā)完成后應(yīng)用于嵌入式領(lǐng)域,但是由于受帶開發(fā)環(huán)境的PC終端、電路板、連接線等條件的約束,一般很難支持二次開發(fā)。

為了解決上述技術(shù)問題,本文提出一種能方便實(shí)現(xiàn)二次開發(fā)、芯片利用率高的基于SoC的無線智能程序加載方法。使用帶藍(lán)牙功能的終端發(fā)送不同的命令即可選擇flash程序區(qū)中不同的程序加載到內(nèi)存模塊,通過無線控制實(shí)現(xiàn)不同程序的加載,不需要添加額外的接口與復(fù)雜的模塊,不需要連接下載線和IDE開發(fā)環(huán)境等工具,并提供一種無線智能程序加載SoC系統(tǒng)。經(jīng)過在FPGA開發(fā)板上測(cè)試,該方法能很好地應(yīng)用在智能終端領(lǐng)域中,例如智能玩具小車,主控采用本發(fā)明的SoC芯片,就能設(shè)定小車的三種工作場景

遙控控制小車、小車自動(dòng)避障和小車循跡,通過帶藍(lán)牙的終端向主控發(fā)送相應(yīng)的命令就能改變小車的工作模式,增加小車的功能。

1 系統(tǒng)總體結(jié)構(gòu)

本文中的無線智能程序加載SoC系統(tǒng)包括時(shí)鐘模塊、處理器模塊、只讀存儲(chǔ)器ROM模塊、Wishbone總線仲裁模塊、SPI控制器模塊、內(nèi)存DDR2模塊和通用異步收發(fā)傳輸器UART模塊。所有模塊均通過Wishbone總線連接到處理器。總線仲裁采用輪循機(jī)制實(shí)現(xiàn)主設(shè)備與從設(shè)備之間的訪問。本系統(tǒng)改變了傳統(tǒng)的把一個(gè)程序存儲(chǔ)在flash中,當(dāng)燒錄下一個(gè)程序時(shí)就會(huì)覆蓋上一個(gè)程序的做法,而是把flash劃分成三個(gè)程序區(qū),燒錄flash時(shí),把不同的程序放在不同的程序區(qū)。當(dāng)從SPl flash啟動(dòng)時(shí),程序指針首先指向只讀存儲(chǔ)器ROM里的bootload區(qū),以完成程序從flash拷貝到內(nèi)存,再從內(nèi)存開始執(zhí)行指令。本系統(tǒng)在此基礎(chǔ)上增加了bootload的功能,不僅能完成程序的拷貝,還能監(jiān)測(cè)串口,根據(jù)收到的命令選擇一個(gè)程序區(qū)的程序拷貝到內(nèi)存,使得芯片封裝好之后,無需接線,無需相應(yīng)的IDE軟件來加載程序,通過手機(jī)或帶有藍(lán)牙模塊的終端就可以加載不同的程序,簡化芯片的二次開發(fā),在智能終端領(lǐng)域能有很好的應(yīng)用。總體框架圖如圖1所示。

2 硬件系統(tǒng)設(shè)計(jì)

2.1硬件頂層結(jié)構(gòu)設(shè)計(jì)

系統(tǒng)硬件頂層采用硬件描述語言Verilog HDL設(shè)計(jì),以總線作為分割介質(zhì)來看整個(gè)系統(tǒng),包括一個(gè)主設(shè)備和四個(gè)從設(shè)備。其中主設(shè)備為處理器OR1200,從設(shè)備為只讀存儲(chǔ)器模塊、內(nèi)存模塊、串行外設(shè)接口模塊和通用異步手法傳輸器模塊。如圖2所示。

2.2 總線仲裁設(shè)計(jì)

總線仲裁設(shè)計(jì)主要包含兩組仲裁,一組為處理器中的指令總線IBUS,通過高位地址判斷從只讀存儲(chǔ)器ROM取指令還是從內(nèi)存模塊DDR2中取指令;另一組為處理器中的數(shù)據(jù)總線,通過高八位地址判斷訪問哪個(gè)外設(shè),具體訪問哪個(gè)寄存器通過低位判斷。其中主設(shè)備采用輪詢的機(jī)制搶占總線,核心設(shè)計(jì)思想為:統(tǒng)計(jì)主設(shè)備的個(gè)數(shù)n,然后定義n位的變量token={00_01},通過一定周期把1向左循環(huán)取到每個(gè)主設(shè)備,而實(shí)現(xiàn)仲裁的輪循機(jī)制。

2.3 flash存儲(chǔ)器程序區(qū)劃分結(jié)構(gòu)設(shè)計(jì)

如圖3所示,flash存儲(chǔ)器地址從Oxl00000到Oxlc0000是bit文件放置區(qū)1,Oxlc0001到Oxlf0000是程序區(qū)1 2,地址從Oxlf0001到Ox220000是程序區(qū)II3,地址從Ox220001到Ox250000是程序區(qū)111 4,地址從Ox250001到Ox300000是擴(kuò)展區(qū)5。SoC系統(tǒng)bit文件利用Xilinx ISE中的impact工具燒錄進(jìn)去,其他程序區(qū)的程序通過硬件描述語言中的readmemh命令寫入。

3 軟件設(shè)計(jì)

系統(tǒng)在上電啟動(dòng)的時(shí)候,程序指針PC指向只讀存儲(chǔ)器ROM中Bootload區(qū)的一段代碼,這段代碼一般完成程序從flash存儲(chǔ)器拷貝到內(nèi)存,再將程序指針跳轉(zhuǎn)去內(nèi)存一條一條執(zhí)行的功能。本文中的軟件設(shè)計(jì)在此基礎(chǔ)上增加了改進(jìn),如圖4所示。首先優(yōu)化串行外設(shè)接口SPI和通用異步收發(fā)傳輸器UART,并實(shí)時(shí)監(jiān)測(cè)終端發(fā)過來的命令:若監(jiān)測(cè)到命令,校驗(yàn)接收到的命令是否為有效命令,若為有效命令則根據(jù)接收到的命令選擇flash存儲(chǔ)器相應(yīng)程序區(qū)的有效地址,否則通過通用異步收發(fā)傳輸器UART和藍(lán)牙模塊向終端發(fā)送“錯(cuò)誤”提示,繼續(xù)等待命令。得到有效的地址后,初始化串行外設(shè)接口SPI,產(chǎn)生串行外設(shè)接口SPI時(shí)序和發(fā)送讀命令,根據(jù)flash程序區(qū)的有效地址拷貝程序到內(nèi)存模塊DDR2中,直到程序大小等于程序大小變量sizeword的值,最后執(zhí)行跳轉(zhuǎn)命令,將處理器指向內(nèi)存模塊DDR2的起始位置,實(shí)現(xiàn)系統(tǒng)的自啟動(dòng)。程序流程圖如圖4所示。

4 仿真與下板測(cè)試

OR1200處理器是OpenRisc家族中的一員,在軟件編譯的時(shí)候我們需要安裝OpenRisc交叉編譯工具鏈:采用Xilinx的Virtex-5開發(fā)板,同時(shí)需要安裝ISE等EDA工具。

編譯工具鏈把前面設(shè)計(jì)的加載啟動(dòng)代碼(bootloader)從匯編語言編譯成硬件描述語言,并實(shí)例化到SoC系統(tǒng)頂層中。然后進(jìn)行flash存儲(chǔ)器的分區(qū)并燒錄程序,本文通過readmemh命令向程序區(qū)1、程序區(qū)11和程序區(qū)III依次燒錄hellowa.c、hellowb.c和hellowc.c。這幾個(gè)測(cè)試程序會(huì)通過串口分別打印出“Hello word A”、 “Hell。word B”和“Hello word C”。這樣我們就可以很直觀地判斷系統(tǒng)在執(zhí)行哪個(gè)程序。endprint

將板子上電,并利用Xilinx ISE中的impact工具將編譯好的SoC系統(tǒng)bit文件燒錄至flash存儲(chǔ)器Oxl00000到Oxlc0000區(qū)域,當(dāng)編譯綜合通過,下板成功后,我們就可以抓取波形和串口打印判斷結(jié)果。其波形圖和串口打印如圖5和圖6所示。從波形圖中我們可以看出串口控制器輸出14個(gè)字符,正好是“Hell。World A/B/C”,放大波形我們可以看到第一個(gè)數(shù)據(jù)為Ox48,正好是字符“H”的ASCLL碼。而從窗口上打印的輸出更為明顯。給串口發(fā)送命令“0”,選擇flash程序區(qū)1hellowa.c,從Oxl00000開始拷貝程序,仿真測(cè)試結(jié)果輸出“Hello word A!”。給串口發(fā)送命令“1”,選擇flash程序區(qū)Ⅱhellowb.c,從Ox130001開始拷貝程序,仿真測(cè)試結(jié)果輸出“Hell。word B!”。給串口發(fā)送命令“2”,選擇flash程序區(qū)Ⅱhellowc.c,從Ox160001開始拷貝程序,仿真測(cè)試結(jié)果輸出“Helloword C!”。

5 結(jié)論

本發(fā)明基于SoC的無線智能程序加載方法中,首先將flash存儲(chǔ)器劃分成若干個(gè)程序區(qū),并通過加載指令把不同的程序分別加載到不同的程序區(qū),然后運(yùn)行加載啟動(dòng)代碼,初始化串行外設(shè)接口并監(jiān)測(cè)串口接收到的命令,從flash存儲(chǔ)器中選擇相應(yīng)程序區(qū),實(shí)現(xiàn)程序到內(nèi)存模塊的拷貝,最后執(zhí)行跳轉(zhuǎn)命令,將處理器指向內(nèi)存模塊的起始位置,實(shí)現(xiàn)系統(tǒng)的自啟動(dòng):整個(gè)加載過程簡單,不需要接線和留出程序加載接口,也不需要相應(yīng)的IDE軟件來加載程序,通過手機(jī)或帶有藍(lán)牙模塊的終端就可以加載不同的程序,適用范圍廣。

參考文獻(xiàn):

[1]唐明華,黃誠,劉新,等一種基于SoC的無線智能程序加載方法及系統(tǒng)國家發(fā)明專利專利申請(qǐng)?zhí)枺?0160139229.2中國2015

[2]蘇紀(jì)娟,孟祥玲,朱慶明系統(tǒng)芯片技術(shù)國內(nèi)外發(fā)展現(xiàn)狀[J]軍民兩用技術(shù)與產(chǎn)品2015(13)

[3]王龍興集成電路的過去、現(xiàn)在和將來(一)世界集成電路的發(fā)展歷史[J]集成電路應(yīng)用2014(01)

[4]李爭,李范嗚,陳捷,等基于Wishbone SoC總線接口的高性能SDRAM控制器[J]科學(xué)技術(shù)與工程2008(12)

[5]鄭文靜,李明強(qiáng),舒繼武Flash存儲(chǔ)技術(shù)[J]計(jì)算機(jī)研究與發(fā)展2010(04)

[6]陳光武,范多旺,于超,等基于Wishbone片上總線的IP核的互聯(lián)[J]微計(jì)算機(jī)信息2009(20)endprint

猜你喜歡
二次開發(fā)
淺談基于Revit平臺(tái)的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
基于C#的AutoCAD建筑構(gòu)件庫二次開發(fā)
江西建材(2018年2期)2018-04-14 08:01:14
西門子Easy Screen對(duì)倒棱機(jī)床界面二次開發(fā)
基于全站儀二次開發(fā)的覆冰厚度測(cè)量與實(shí)現(xiàn)
Micaps3.2 版本二次開發(fā)入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
基于VB的ANSYS二次開發(fā)在變壓器抗短路性能分析中的應(yīng)用
基于CATIA的橡皮囊成形毛料展開的二次開發(fā)
ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 亚洲第一黄片大全| 香蕉网久久| 亚洲欧美国产视频| 精品福利视频网| 婷婷久久综合九色综合88| 国产成人精品男人的天堂下载| 久久网欧美| 久久国产精品麻豆系列| 精品一区二区三区自慰喷水| 亚洲第一区在线| 最新加勒比隔壁人妻| 亚洲欧美另类久久久精品播放的| 亚洲成人动漫在线观看| 日本午夜在线视频| 无码专区国产精品一区| 亚洲人成网站观看在线观看| 久久亚洲国产最新网站| 欧美一级一级做性视频| 欧美 国产 人人视频| 精品久久久久久中文字幕女| 97人人做人人爽香蕉精品| 国产极品粉嫩小泬免费看| 麻豆国产在线观看一区二区| 国产亚洲现在一区二区中文| 欧美视频在线第一页| 久久精品视频亚洲| 97精品伊人久久大香线蕉| 最新无码专区超级碰碰碰| 四虎影视8848永久精品| 成人在线第一页| 日韩无码真实干出血视频| 国产福利在线免费观看| 欧美中文字幕无线码视频| 97亚洲色综久久精品| 日韩二区三区| 国产麻豆精品久久一二三| 日日拍夜夜操| 国产免费网址| 国产精品视频3p| 国产微拍一区二区三区四区| 精品久久高清| 亚洲国模精品一区| 国产精品成| 亚洲精品男人天堂| 无码AV高清毛片中国一级毛片| 高清不卡毛片| 67194亚洲无码| 色噜噜综合网| 国产欧美性爱网| 国产激情在线视频| 福利一区三区| 91一级片| 欧美午夜一区| 伊人久久大香线蕉影院| 亚洲伊人久久精品影院| 国产成人av一区二区三区| 精品国产自在现线看久久| 国产精品一线天| 国产经典免费播放视频| 2019年国产精品自拍不卡| 欧美日韩亚洲综合在线观看| 成人在线不卡| 久久综合伊人 六十路| 国产一级毛片在线| 亚洲天堂伊人| 5555国产在线观看| 深爱婷婷激情网| 亚洲日本一本dvd高清| 69精品在线观看| 成人亚洲天堂| 亚洲成人播放| 中文字幕va| 美女内射视频WWW网站午夜 | 国产网站在线看| 国产久操视频| 四虎永久免费地址在线网站| 日韩av电影一区二区三区四区| 日韩精品成人在线| 在线视频一区二区三区不卡| 亚洲天堂视频在线观看| 亚洲黄色视频在线观看一区| 免费女人18毛片a级毛片视频|