外部更新
外部更新通過CBSEL來選擇,選擇External Controller Flash Image。FPGA啟動的第一個鏡像是從CBSEL的選擇來決定的。
另外,只有Trion系列才支持外部更新,而鈦金系列只支持內(nèi)部更新。
● CBSEL = 00 for image 1
●CBSEL =01 for image 2
●CBSEL = 10 for image 3
●CBSEL = 11 for image 4
內(nèi)部更新
除通過外部多功能IO來選擇之外,易靈思通過內(nèi)部重配置實現(xiàn)遠程更新操作也非常簡單。
(1)使能內(nèi)部重配置接口
1、在interface Designer中選擇Device Setting ->Configuration
2、打開Enable Internal Reconfiguration Interface
3、生成例化接口添加到top文件。
關(guān)于重配置接口就以下幾個信號
inputcfg_ERROR,output[1:0]cfg_CBSEL,output cfg_CONFIG,output cfg_ENA
其中_CBSEL就是選擇那個image的。ENA拉高就可以啟動相應(yīng)image加載。
(2)重配置過程操作
1、通過_CBSEL選擇相應(yīng)的image;
2、拉高_ENA;
3、使能_CONFIG為高;
4、如果_ERROR為0重配置成功。
(3)組合image文件的生成
1、在Efinity Programmer中,點擊combine multiple Image Files項。
(2)Image Type要選擇Remote Update Flash Image.
在CBSEL為00的地方添加golden image,其余添加APP_image即可以,地址如果不給定,會自動分配。填寫輸出文件,點擊apply生成即可。
點擊Apply之后會生成兩個文件,一個是合并的hex文件,另一個是.rpt文件,rpt文件內(nèi)部指定了每個CBSEL對應(yīng)該的鏡像地址,文件長度及合并文件的對應(yīng)位置。
更詳細的信號請參考易靈思AN010.
1、通過內(nèi)部重配置遠程更新也要注意在上電時外部CSEL管腳的狀態(tài),如果沒有指向goden image或者app image,那么會要等待一段時間,文檔說應(yīng)該會加載6次,大概41s。
2、下面是重配置流程圖。
(1)上電之后,CRESET_N上升沿觸發(fā)配置過程。
(2)golden image加載完成之后進入user mode;
(3)用戶啟動重配置觸發(fā),配置新image;
(4)如果配置成功則進入user mode,如果沒有配置成功則會加載6次;
(5)6次之后_ERROR拉高,并再次加載golden image;
(6)如果不想反復(fù)以上操作可以通過檢測_ERROR來禁止下次的New image配置觸發(fā)。
下面提供一個demo,CONFIG只需要拉高一個時鐘周期即可
鏈接:https://pan.baidu.com/s/1V2BdogNYOw0kYWH7F60Dkg
提取碼:1234
案例說明
假設(shè)有4個App,分別為app1.hex(golden),app2.hex,app3.hex,app4.hex,合并為combine.hex。為4個app的地址分配依次為0x0,0x200000,0x400000,0x600000程序的功能為“app1 ->app2 ->app3 ->app4-> app1...”循環(huán)跳轉(zhuǎn)。
當(dāng)把combine.hex燒寫入flash中后,可以看到程序按照我們的設(shè)想循環(huán)跳轉(zhuǎn)。
當(dāng)我們單獨把app2.hex重新寫入0x200000,再重新運行時,發(fā)現(xiàn)運行過程為“app1 -> app2->app1 -> app2...",也就是說程序不再向app3跳轉(zhuǎn)。
這是為什么呢?其實在合并的過程中,在個app的前面都會寫入(line329-337)每個app的存放地址,單獨的app文件是沒有該地址的,或者說明默認(rèn)的地址是0,所以上面的app2會再次跳轉(zhuǎn)到app1。
解決方案是什么呢?新建efx_pgm_settings.ini,輸入如下信息:
放入工程目錄下,再次運行生成數(shù)據(jù)流。這樣之后再次把app2寫入0x200000地址,重新上電,運行過程即可正常。
審核編輯 黃宇
-
易靈思
+關(guān)注
關(guān)注
5文章
53瀏覽量
5154
發(fā)布評論請先 登錄
易靈思(Elitestek)FPGA編程器功能特點及驅(qū)動安裝方法
易靈思Jtag_bridge_loader生成-v2

FPGA是用altera多還是賽靈思的多呢
芯靈思SinlinxA33 修改配置文件更改輸出串口
kinect v2 移動電源配置

Kinect v2(Microsoft Kinect for Windows v2 )配置移動電源解決方案

Kinect v2(Microsoft Kinect for Windows v2 )配置移動電源解決方案

易靈思FPGA之---國產(chǎn)化替代選型策略
易靈思RAM使用--Update3

易靈思FPGA產(chǎn)品的主要特點

評論