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

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

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

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

易靈思Programmer工具的配置模式過(guò)程分析

易靈思FPGA之---國(guó)產(chǎn)化替代選型策略
易靈思內(nèi)部重配置實(shí)現(xiàn)遠(yuǎn)程更新

易靈思RAM使用--Update3

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

評(píng)論