新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 雙Nios II軟核在嵌入式系統中的應用

        雙Nios II軟核在嵌入式系統中的應用

        作者:中國海洋大學 綦聲波 田學文 時間:2008-05-16 來源:《單片機與嵌入式系統應用》 收藏

          2 程序下載

        本文引用地址:http://www.104case.com/article/82696.htm

          2.1 方案確定

          下面是對2個CPU的寫入探討。

          方案一

          指導思想:將硬件配置信息和cpu2寫入EPCS中,將CPU的程序寫入Flash中。具體步驟:

          ①CFI_FLASH的3個時間改為50、160、50;

          ②cpul——reset Address CFI_FLASH
              Exception Address sdram-3/sl;

          ③cpu2——reset Address onchip_memory-0
              Exception Address onchip_memory-0;

          ④將整個硬件編譯成功;

          ⑤將memery-test編譯,進行Flash測試,測試成功轉下一步;

          ⑥分別編譯newniosl和newnios2的工程;

          ⑦將整個硬件進行二次編譯,此時pof文件中已經包含了newnios2的程序;

          ⑧將pof文件下載到EPCS中去;

          ⑨將硬件工程換成只有一個CPU的,將newniosl的程序下載到CFI_FLASH中去;

          ⑩重新上電啟動。

          方案二

          指導思想:將2個CPU的程序均下載到Flash中,硬件配置在EPCS中。

          ①CFI_FLASH的3個時間改為50、160、50;

          ②cpul——reset Address EPCS_CONTROLLER
             Exception Address sdram-3/sl

          ③cpu2——reset Address onchip_memory-0
             Exception Address onchip_memory-0

          ④將整個硬件編譯成功;

          ⑤將memery_test編譯,進行Flash測試,測試成功轉下一步;

          ⑥分別編譯new-nios1和newnios2的工程;

          ⑦重新進行硬件的編譯;

          ⑧將pof文件下載到EPCS中去;

          ⑨newnios1和new-nios2的程序下載分別指定為0、1或1、2;

          ⑩重新上電啟動。

          方案三

          指導思想:將2個CPU的程序均下載到EPCS中,硬件配置在EPCS中。

          ①首先在builder中將2個作CPU如下配置:

          cpu1——reset Address EPCS_CONTROLLER
             Exception Address sdram-3/sl

          cpu2——reset Address onchip_memory-0
             Exception Address onchip_memory-0

          這代表將CPU的程序在EPCS中進行存儲,而程序運行在SDRAM中;而CPU_0的存儲和運行都在片上存儲器中。

          ②先將進行編譯,成功后選擇“Exit”,硬件提示是否進行升級,選擇“yes”,進行升級,然后將整個硬件全編譯。

          ③硬件編譯通過后,通過 Builder打開IDE,在IDE下分別編譯newnios1和newnios2的工程,由于第2個CPU的程序在內部存儲器,則生成一個以內部存儲器為名稱的hex文件。

          ④重新進行硬件的編譯,會發現硬件將HEX文件當作一個部件,編到整個硬件中了。編輯完畢后,查看SOF和pof的大小,其實都沒什么變化,但時間修改了。

          ⑤利用命令行指令:

          sof2flash--epcs--input=new.sof--output=my1.flash,

          該命令將new.sof轉換成EPCS中存儲的格式;將POF文件下載到EPCS中去。

          Elf2flash--epcs--after=my1.flash--input=newniosl.elf--output=my2.flash

          ⑥下面有2種處理方法都可以下載成功。

          第1種方法:將另一個只有CPU的工程(sof)下載到EP2C20中(QuartusII無法在下載過程中識別2個CPU),然后利用以下命令:

          2-flash-programmer--epcs--base=0x02900800 my1.flash

          2-flash-programmer--epcs--base=0x02900800 my2.flash

          重新上電,就可以了

          第2種方法:將instance參數帶上,方法同上,進行Flash文件的轉換,然后將整個工程sof下載到硬件中。

          利用命令:

          2-flash-programmer--epcs--base=0x02900800--instance 1 my1.flash

          Nios2-flash-programmer--epcs--base=0x02900800--instance 1 my2.flash

          注意,instance后面的參數為1。如果為0,就會出現錯誤:no EPCS register found。如果是2,則會發生如下情況:

          There are no niosII processors available which match the value specified,please check your PLD……

          ⑦重新上電啟動即可。

          2.2命令行在EPCS中的寫入過程

          ①將sof文件下載到中,并將sof文件轉換成.flash燒寫中間格式,使用命令:

          sof2flash--epcs--input=./new.sof--output=my1.flash

          然后用.flash文件燒寫epcs--base項為nios2工程中epcs在avalon總線中的地址位:

          nios2--flash-programmer--epcs--instance=1--base=0x02900800 my1.flash

          ②將elf文件也轉換為.flash格式,并且要加入一些參數。--after是后來刷寫的內容,不會沖掉前面的數據,使用命令:

          elf2flash--epcs--after=my1.flash--input=newniosl.elf--output=my2.flash
         
          燒寫:nios2-flash-programmer--epcs--instance=1--base=0x02900800 my2.flash

          ③重新上電啟動。

          3 小 結

          本文結合服務器的設計,闡述了雙NiosII軟核嵌入到并通過SOPC技術將IP核嵌入并構建系統的過程及方法,充分發揮的高速優勢,提供系統性能。其創新點是,將雙NiosII軟核應用到系統中,通過IP核的設計實現底層驅動,提高系統集成度,充分發揮SOPC技術的優勢。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 中江县| 伊宁市| 民县| 伊吾县| 白银市| 仲巴县| 鹿邑县| 恩平市| 个旧市| 莎车县| 阿荣旗| 铅山县| 普陀区| 五河县| 常熟市| 磴口县| 西畴县| 常山县| 淮安市| 左云县| 大兴区| 耒阳市| 丰宁| 岳阳县| 乌审旗| 延川县| 康马县| 德化县| 大新县| 永清县| 伊川县| 德惠市| 泌阳县| 达州市| 维西| 新绛县| 虹口区| 池州市| 北宁市| 庆元县| 屏南县|