两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于SoC的無線智能程序加載方法及系統(tǒng)的制作方法

文檔序號:9787218閱讀:495來源:國知局
一種基于SoC的無線智能程序加載方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式SoC設(shè)計(jì)領(lǐng)域,特別涉及一種基于SoC的無線智能程序加載方法及系統(tǒng)。
【背景技術(shù)】
[0002]SoC(System-on-chip)是在單個芯片上集成一個完整的系統(tǒng),對所有或部分必要的電子電路進(jìn)行包分組的技術(shù)。一般包括中央處理器、存儲器以及外圍電路等。SoC是與其它技術(shù)并行發(fā)展的,它可以提供增強(qiáng)的時鐘頻率,降低微芯片的功耗,在嵌入式系統(tǒng)中有廣泛的應(yīng)用。
[0003]對于SoC設(shè)計(jì)來說,搭好環(huán)境后,還得有相應(yīng)的一套IDE開發(fā)工具,包括裝有配套開發(fā)環(huán)境的PC,電路板和連接線。開發(fā)完成后應(yīng)用于嵌入式領(lǐng)域,一般很難支持二次開發(fā),或者支持二次開發(fā),但是受帶開發(fā)環(huán)境的PC終端、電路板、連接線等條件的約束很不方便。

【發(fā)明內(nèi)容】

[0004]為了解決上述技術(shù)問題,本發(fā)明提供一種能方便實(shí)現(xiàn)二次開發(fā)、芯片利用率高的基于SoC的線智能程序加載方法,并提供一種線智能程序加載SoC系統(tǒng)。
[0005]本發(fā)明解決上述問題的技術(shù)方案是:一種基于SoC的無線智能程序加載方法,步驟如下:
(1)搭建SoC系統(tǒng);
(2)將加載啟動代碼燒錄至只讀存儲器中;
(3)將flash存儲器劃分成若干個程序區(qū),并通過加載指令把不同的程序分別加載到不同的程序區(qū);
(4)運(yùn)行加載啟動代碼代碼后,執(zhí)行串行外設(shè)接口和通用異步收發(fā)傳輸器的初始化命令,并監(jiān)測串口接收到的命令,從flash存儲器中選擇相應(yīng)程序區(qū)實(shí)現(xiàn)程序到內(nèi)存模塊的拷貝;
(5)執(zhí)行跳轉(zhuǎn)命令,將處理器指向內(nèi)存模塊的起始位置,實(shí)現(xiàn)系統(tǒng)的自啟動。
[0006]上述基于SoC的無線智能程序加載方法,所述步驟(I)中,采用硬件描述語言搭建SoC系統(tǒng)。
[0007]上述基于SoC的無線智能程序加載方法,所述步驟(2)的具體步驟為:
步驟A:安裝OpenRISC交叉編譯工具鏈和Xi I inx ISE工具;
步驟B:用匯編語言設(shè)計(jì)加載啟動代碼;
步驟C:通過交叉編譯工具鏈把加載啟動代碼從匯編語言編譯成硬件描述語言,并實(shí)例化到soc系統(tǒng)頂層中。
[0008]上述基于SoC的無線智能程序加載方法,所述步驟(3)中,flash存儲器地址從0x100000到OxIcOOOO區(qū)域是soc系統(tǒng)bit文件放置區(qū),步驟(3)具體步驟為:
步驟D:通過交叉編譯工具鏈將三個待燒錄程序編譯成三個二進(jìn)制文件,并把soc系統(tǒng)從硬件描述語言變成bit文件;
步驟E:利用Xi I inx ISE中的impact工具將編譯好的soc系統(tǒng)bit文件燒錄至flash存儲器0x100000到OxIcOOOO區(qū)域,把三個二進(jìn)制文件分別燒錄到flash的三個不同程序區(qū);其中,地址從OxIcOOOI到OxlfOOOO是程序區(qū)I,地址從OxlfOOOl到0x220000是程序區(qū)Π,地址從0x220001 到0x250000 是程序區(qū) ΙΠ。
[0009]上述基于SoC的無線智能程序加載方法,所述步驟(4)具體步驟為:
步驟F:初始化串行外設(shè)接口和通用異步收發(fā)傳輸器,并實(shí)時監(jiān)測終端發(fā)過來的命令;若監(jiān)測到命令,則執(zhí)行步驟G,否則繼續(xù)執(zhí)行步驟F;
步驟G:效驗(yàn)接收到的命令是否為有效命令,是則執(zhí)行步驟H,否則通過通用異步收發(fā)傳輸器和藍(lán)牙模塊向終端發(fā)送“錯誤”提示,重新執(zhí)行步驟F;
步驟H:根據(jù)接收到的命令選擇flash存儲器相應(yīng)程序區(qū)的有效地址;
步驟I:初始化串行外設(shè)接口,產(chǎn)生串行外設(shè)接口時序和發(fā)送讀命令;
步驟J:根據(jù)flash程序區(qū)的有效地址拷貝程序到內(nèi)存模塊中;
步驟K:比較程序大小是否等于程序大小變量sizeword的值,是則表明程序拷貝完成,否則執(zhí)行步驟J。
[0010]一種無線智能程序加載SoC系統(tǒng),包括SoC最小系統(tǒng)、藍(lán)牙模塊和終端,所述SoC最小系統(tǒng)包括處理器、只讀存儲器、總線仲裁模塊、串行外設(shè)接口、內(nèi)存模塊、通用異步收發(fā)傳輸器、時鐘模塊,所述處理器、只讀存儲器、串行外設(shè)接口、內(nèi)存模塊、時鐘模塊分別與總線仲裁模塊相連,終端與藍(lán)牙模塊實(shí)現(xiàn)無線通信,藍(lán)牙模塊經(jīng)通用異步收發(fā)傳輸器與總線仲裁模塊相連。
[0011]本發(fā)明的有益效果在于:
1、本發(fā)明基于SoC的無線智能程序加載方法中,首先將flash存儲器劃分成若干個程序區(qū),并通過加載指令把不同的程序分別加載到不同的程序區(qū),然后運(yùn)行加載啟動代碼代碼,初始化串行外設(shè)接口并監(jiān)測串口接收到的命令,從flash存儲器中選擇相應(yīng)程序區(qū)實(shí)現(xiàn)程序到內(nèi)存模塊的拷貝,最后執(zhí)行跳轉(zhuǎn)命令,將處理器指向內(nèi)存模塊的起始位置,實(shí)現(xiàn)系統(tǒng)的自啟動;整個加載過程簡單,不需要接線和留出程序加載接口,也不需要相應(yīng)的IDE軟件來加載程序,通過手機(jī)或帶有藍(lán)牙模塊的終端就可以加載不同的程序,適用范圍廣。
[0012]2、本發(fā)明的SoC設(shè)計(jì)系統(tǒng)中,在原有最小系統(tǒng)中加入了藍(lán)牙模塊以及帶藍(lán)牙功能的終端,從而通過無線控制實(shí)現(xiàn)不同程序的加載,簡化了芯片的二次開發(fā),增加了芯片的利用率。
【附圖說明】
[0013]圖1為本發(fā)明的SoC設(shè)計(jì)系統(tǒng)的結(jié)構(gòu)框圖。
[0014]圖2為本發(fā)明的SoC設(shè)計(jì)方法的流程圖。
[0015]圖3為本發(fā)明的flash存儲器程序區(qū)劃分結(jié)構(gòu)圖。
[0016]圖4為本發(fā)明的SoC設(shè)計(jì)方法中程序加載的步驟流程圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的說明。
[0018]如圖1所示,一種無線智能程序加載SoC系統(tǒng),包括SoC最小系統(tǒng)、藍(lán)牙模塊和終端,所述SoC最小系統(tǒng)包括處理器0R1200、只讀存儲器ROM、WiShbone總線仲裁模塊、串行外設(shè)接口 SP1、內(nèi)存模塊DDR2、通用異步收發(fā)傳輸器UART、時鐘模塊,所述處理器ORl200、只讀存儲器ROM、串行外設(shè)接口 SP1、內(nèi)存模塊DDR2、時鐘模塊分別與Wi shbone總線仲裁模塊相連,終端與藍(lán)牙模塊實(shí)現(xiàn)無線通信,藍(lán)牙模塊經(jīng)通用異步收發(fā)傳輸器UART與Wishbone總線仲裁模塊相連。
[0019]所述終端用于通過所述藍(lán)牙模塊和所述SoC最小系統(tǒng)中的通用異步收發(fā)傳輸器UART將選擇程序加載命令發(fā)送至所述SoC最小系統(tǒng);以及接收顯示所述SoC最小系統(tǒng)通過通用異步收發(fā)傳輸器UART傳過來的提示命令;
所述SoC最小系統(tǒng)用于通過通用異步收發(fā)傳輸器UART接收所述終端發(fā)送的命令,實(shí)現(xiàn)從flash存儲器選擇不同程序區(qū)的程序加載至內(nèi)存模塊DDR2的功能。
[0020]所述Wi shbone總線仲裁模塊,運(yùn)行Wi shbone總線仲裁邏輯代碼后,實(shí)現(xiàn)主設(shè)備搶占總線的輪循機(jī)制。
[0021]如圖2所示,一種基于SoC的無線智能程序加載方法,步驟如下:
(1)采用硬件描述語言搭建SoC系統(tǒng);
(2)將加載啟動代碼燒錄至只讀
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
长宁区| 泗水县| 赤水市| 巧家县| 棋牌| 陇川县| 昌都县| 中卫市| 秦皇岛市| 舒兰市| 滨海县| 瑞金市| 宜丰县| 德安县| 吉水县| 新化县| 临桂县| 临沂市| 泰顺县| 凤城市| 黎城县| 玛纳斯县| 新闻| 会东县| 胶州市| 垣曲县| 安岳县| 浦江县| 黄大仙区| 盐山县| 蓝田县| 政和县| 和静县| 都匀市| 北票市| 罗甸县| 克东县| 彭山县| 武清区| 南城县| 达日县|