📄 common.c
字号:
//***************************************************************
// ARM BOOT ROUTE VER1.0@0x0C000000 for 44B0X release
// bjwork2007@gmail.com
// chenjun @ 2005-6-10
//***************************************************************
#include "..\inc\common.h"
#include "..\inc\usart.h"
#include "..\inc\utilities.h"
void Delay(unsigned int time)
{
while(time--);
}
void MemoryCopy(unsigned int b1add,unsigned int b2add,unsigned int bcsize)
{
unsigned int i;
for(i=0;i<bcsize;i++)
{
*((unsigned char *)(b2add+i)) = *((unsigned char *)(b1add+i));
}
puts("block copy successfilly!\n");
}
void Memoryfill(unsigned int ramstartadd,unsigned int size,unsigned int tempvalue,unsigned char org)
{
unsigned int i;
switch(org)
{
case 1:
for(i=0;i<size;i++)
{(*(unsigned char *)(ramstartadd + i)) = tempvalue & 0xff;}
break;
case 2:
size += 1;
size >>= 1;
for(i=0;i<size;i++)
{(*(unsigned short *)(ramstartadd + (i * 2))) = tempvalue & 0xffff;}
break;
case 4:
if ((size & 3) > 1)
{size >>= 2;size += 1;}
else
{size >>= 2;}
for(i=0;i<size;i++)
{(*(unsigned int *)(ramstartadd + (i * 4))) = tempvalue;}
break;
default:
for(i=0;i<size;i++)
{(*(unsigned char *)(ramstartadd + i)) = tempvalue & 0xff;}
break;
}
}
unsigned char MemoryBlockCheck(unsigned int b1add,unsigned int b2add,unsigned int bcsize)
{
unsigned int i,k;
unsigned char tempchar,tempchar2;
k = 0;
puts("block check\n");
for(i=0;i<bcsize;i++)
{
tempchar = *((unsigned char *)(b1add+i));
tempchar2 = *((unsigned char *)(b2add+i));
if (tempchar != tempchar2)
{
printf("\nblock1:(0x%.8x):0x%.2x - block2:(0x%.8x):0x%.2x\n",b1add+i,tempchar,b2add+i,tempchar2);
puts("block check failed!\n");
return 1;
}
if ((((((i+1) * 100 ) / bcsize) % 10) == 0) && ((((i+1) * 100 ) / bcsize) != k))
{printf("...%d%%",(((i+1) * 100 ) / bcsize));
k = (((i+1) * 100 ) / bcsize);}
}
puts("\nsuccessfully!\n\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -