ARM設(shè)計(jì)的FPGA可重構(gòu)配置方法的實(shí)現(xiàn)及應(yīng)用
2.2 配置程序設(shè)計(jì)
下面是完整的重構(gòu)程序及流程圖(圖3所示),作為s3c24lOx ARM處理器 μC/OS—II實(shí)時(shí)操作系統(tǒng)的一個(gè)任務(wù)運(yùn)行,但在工程應(yīng)用中要結(jié)合實(shí)際情況做適當(dāng)修改.
基于μC/OS—II配置程序:
U8Fpga~DownLoad(v0id)
{U8 Bootaddr;
U32 CountNum =O柏:
u8 FpgaBu如;
U16 i:
Bo0taddT:(u8 )(O】(33ooooo0);/ 配置數(shù)據(jù)起始地址 /
SeI— Datao(O);
seLnCONFIG(0);/_將ncONFIG置低電平 /
set— DCLK(O);
hude1ay(10);/}延時(shí)1O /
if(Re們一nSTATUS)
{prin (”err0r:nSTATuSis 1 1”);
retum O;}
Set— nC0NFIG(1);
while(!Read—nsTATUS);
hudelay(5);
p nd(”十co gIlre FPGA.-);
while(c0untNum =O)(24294)/}串行配置數(shù)據(jù) /
{FpgaBu任er= (Bo0t&ddT+c0un um);
if(!(CountNum%1O24))pdnd(”.”);
f0r(._O;i8;i++)
{Set—Data0(FpgaBu丘 腳 1);
hudelay(1);
seLDCLK(O);
FpgaBu艉r> > = 1;
if(!ReaⅡ一ns1、ATUS)
{ nEf(”\n、卜C0 gure Error:nsTATus is 0 1、n );
ren】m O;}
Set— DCLK(1);
}
C0untNum + + :
}
SeI— Datao(O);
S eI— DCLK(O);
if(!Reau—nsTATuS)
評(píng)論