位绑定:
可进行位绑定的区域:
SRAM区: 0x2000 0000 ~ 0x200F FFFF 1M
片上外设: 0x4000 0000 ~ 0x400F FFFF 1M
SRAM:
AliasAddr = 0x22000000 + ((A - 0x20000000)*8+n)*4;
= 0x22000000 + (A- 0x20000000)*32 + n*4;
片上外设:
AliasAddr = 0x42000000 + ((A - 0x40000000)*8+n)*4;
= 0x42000000 + (A- 0x40000000)*32 + n*4;
int main()
{
u32 *PAO[8], *PAI[8];
int i;
GPIOA->CRH = 0x44444444;
GPIOA->CRL = 0x33333333;
for(i=0; i<8; i++)
{
PAO[i]=(u32 *)(0x42000000+(0x4001080c-0x40000000)*32 + i*4);
PAI[i]=(u32 *)(0x42000000+(0x40010809-0x40000000)*32 + i*4);
}
while(1)
{
for(i=0; i<8; i++)
{
if(*PAI[i] == 1)
*PAO[i] = 1;
else
*PAO[i] = 0;
}
}
}