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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何將程序寫到flash中去

OpenFPGA ? 來源:CSDN博客 ? 作者:CSDN博客 ? 2020-10-12 14:16 ? 次閱讀

Altera FPGA 遠程升級有關的幾個IP的使用

在做在線遠程升級的時候,一般需要兩步:1、將數(shù)據(jù)寫到外掛的flash中。2重新啟動FPGA配置。 不過要做到遠程升級,一般需要在原始程序中就考慮到加入遠程升級模塊,remote updata IP, 在升級的時候才可以啟動遠程升級功能。

遠程升級之后程序加載的過程:在進行遠程升級成功以后,flash中應該會至少存儲兩個程序,出廠程序和升級程序。兩個程序在不同的地址空間中(出廠程序從0X0000開始存儲)。在FPGA上電之后,F(xiàn)PGA會加載出廠程序,出廠程序在運行之后,檢測到remote updata IP中的一些參數(shù)(如配置鏡像參數(shù)等,remote updata IP部分會介紹到)后,將讀取flash中升級程序內容的開始地址指向讀取地址,然后觸發(fā)重新配置(如reconfig信號有效),開始加載重新配置程序。直到無錯誤的加載完成。也就是整個過程會加載兩次程序。

一、如何將程序寫到flash中。

在程序運行過程中,可以通過控制一些IP來將程序寫到flash中,這里有兩個IP可以使用:EPCS controller, ASMI 。

1、EPCS Controller:

該IP在Qsy系統(tǒng)中,一般需要配合NIOS II來使用,需要使用者對ARM編程有一定的基礎。不過Altera 也提供了一些有關epcs操作的API,如讀寫,擦除等。不過在操作前會讀取一下FLASH的ID來確定是EPCS還是EPCQ,或者EPCQL,還有容量是多大的。確定好Flash的類型之后就可以調用API函數(shù)對Flash操作了。網(wǎng)上也有例程,如鋯石科技的參考例程。不過如果使用的是第三方的flash,而讀取的ID不在官方flash的ID列表之后,則就會認為沒有flash,也就無法讀寫操作了(不敢百分百確定的,但是肯定要改程序)。所以需要操作者對ARM的操作有一定的知識。

EPCS Controller IP在cyclone IV上使用的時候是需要手動綁定那四個pin的,在cyclone V上是不需要綁定的。

2、ASMI IP

該IP在IP庫中,Qsys中也有,可以直接用verilog進行編程控制,網(wǎng)上也有中文文檔:ug_altasmi_parallel_CH.pdf 。該文檔會介紹如何擦除,讀寫flash等,只要時序控制好,EPCS/EPCQ/EPCQL的空間地址控制號就可以了。網(wǎng)上或官方都有參考例程,可以參考一下。 二、如何打開下載程序文件 遠程燒錄,需要PC等通過串口或網(wǎng)絡將程序傳給FPGA,程序文件一般是jic/sof/rbf等格式的文件,那么一般軟件不能打開也看不到里面的內容,可以使用UltraEdit軟件來打開這些文件,而且里面還會有一部分提示。

但是這個文件會很大,比如16MB,并不是所有的都是有效的信息,我現(xiàn)在也不知道該寫哪一些數(shù)據(jù)到flash中,以后知道了再補充吧。 三、remote updata IP 該IP在IP庫和Qsys中都有,可以用verilog來控制,建議使用前也要先看下他的說明書,ug_altremote.pdf,里面對寄存器有詳細的說明。

在使用過程其實是讀取寄存器或者寫寄存器的過程,最后一步reconfig信號就可以了。 網(wǎng)友給出了一個思路:read 3‘b000 (讀取reconfig的條件) --》 write 3’b101(Anf配置模式選擇:出廠or鏡像) --》 read Anf 3‘b101(確定一下) --》write 3’b011 (寫看門狗使能) --》 write 3‘b010(寫看門狗溢出值) --》 write 3’b100 (寫看門狗溢出值) --》 reconfig 使能。然后就操作完成了,等待重新啟動。 文章轉自:https://blog.csdn.net/weixin_30519071/article/details/95424192?utm_source=app
責任編輯人:CC

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

    關注

    10

    文章

    1614

    瀏覽量

    147652
  • 程序
    +關注

    關注

    116

    文章

    3756

    瀏覽量

    80751

原文標題:?Altera FPGA 遠程升級有關的幾個IP的使用

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    瑞薩電子EZ-CUBE3操作指南

    EZ-CUBE3(CYRCNEZCUBE03)是具有Flash存儲器編程功能的片上調試仿真器,可以用于調試MCU程序程序寫到MCU的內
    的頭像 發(fā)表于 08-09 17:37 ?729次閱讀

    請問如何將幾十K大小的數(shù)組存放在flash里面,不占用內存空間呢?

    請問如何將幾十K大小的數(shù)組存放在flash里面,不占用內存空間呢? 用了const好像不管用,還是占用了heap空間。
    發(fā)表于 07-19 07:10

    加密例子程序FLASH_ENCRYPTION中FLASH全部復制到另一臺設備會變磚的原因?怎么解決?

    COM6對應模塊沒有任何反應,之后我重新把正常程序寫到COM6模塊,燒寫動作正常, 但是該模塊變磚,沒有任何反應了。 我原來試過未加密的程序,一個模塊的
    發(fā)表于 06-11 06:41

    如何將bootloader代碼從flash搬到RAM運行?

    如何將bootloader 代碼從flash 搬到RAM 運行
    發(fā)表于 04-03 07:14

    如何將bootloader代碼從flash搬到RAM運行?

    如何將bootloader 代碼從flash 搬到RAM 運行
    發(fā)表于 04-01 07:10

    如何將數(shù)據(jù)傳入到單片機的模型中去輸出?

    怎么數(shù)據(jù)傳入到移植到單片機中的模型中去并輸出
    發(fā)表于 03-25 06:26

    FCX3如何將USBFlashProg寫到內存,及時生效?

    當前使用CX3平臺,如何將USBFlashProg寫到內存,及時生效?
    發(fā)表于 02-28 06:45

    hightech如何把TC26X程序編譯成直接下載到RAM運行,而不是燒寫到FLASH運行?

    hightech如何把TC26X程序編譯成直接下載到RAM運行,而不是燒寫到FLASH運行?調試的時候這個作用很大。
    發(fā)表于 02-19 06:27

    如何將HC-SR04連接到Arduino并編寫一個簡單的程序來測量距離

    一種流行的Arduino超聲波傳感器是HC-SR04。它廣泛用于非接觸式距離測量,通常用于機器人和自動化項目。本指南向您展示如何將HC-SR04連接到Arduino并編寫一個簡單的程序來測量距離。
    的頭像 發(fā)表于 02-11 10:17 ?2127次閱讀
    <b class='flag-5'>如何將</b>HC-SR04連接到Arduino并編寫一個簡單的<b class='flag-5'>程序</b>來測量距離

    如何將增量旋轉編碼器與Arduino連接

    在本教程中,您將學習如何將增量旋轉編碼器與Arduino連接,以讀取旋鈕的運動。這對于在機器人和其他應用程序中創(chuàng)建用戶界面或讀取機械位置非常有用。
    的頭像 發(fā)表于 02-11 10:00 ?1284次閱讀
    <b class='flag-5'>如何將</b>增量旋轉編碼器與Arduino連接

    用USB轉TTL線怎么把程序寫到stm32f103C8T6中

    用USB轉TTL線怎么把程序寫到stm32f103C8T6中? 程序寫到STM32F103C8T6芯片中需要使用USB轉TTL線連接計
    的頭像 發(fā)表于 01-31 15:46 ?6927次閱讀

    請問TC39x如何將變量放到自定義的段中去呢?

    哪位知道如何將變量放到自定義的段中去呢?__attribute__ ((section(\".MySec\")))const tU32 M_A1 = 0
    發(fā)表于 01-31 08:18

    快速原型開發(fā)板如何連接EZ-CUBE3仿真器

    EZ-CUBE3是具有Flash存儲器編程功能的片上調試仿真器,可以用于調試MCU程序程序寫到MCU的內置
    的頭像 發(fā)表于 01-25 09:19 ?2497次閱讀
    快速原型開發(fā)板如何連接EZ-CUBE3仿真器

    如何將PSOC4程序移至RAM并運行它?

    如何將 PSOC4 程序移至 RAM 并運行它? PSOC CREATOR 里面有套路嗎,謝謝。
    發(fā)表于 01-25 08:04

    請問如何將鏡像燒寫到emmc上?

    如何將鏡像燒寫到emmc上?
    發(fā)表于 01-10 07:47