int main(void)
{
u8 paddr[20]; //存放P Addr:+p地址的ASCII值
u16 memused=0;
u8 i=0;
u8 *p=0;
u8 *tp=0;
u8 sramx=1; //默认为内部sram
HAL_Init(); //初始化HAL库
Stm32_Clock_Init(360,25,2,8); //设置时钟,180Mhz
delay_init(180); //初始化延时函数
uart_init(115200); //初始化USART
usmart_dev.init(90); //初始化USMART
printf("串口初始化成功!
");
SDRAM_Init(); //初始化SDRAM
my_mem_init(SRAMIN); //初始化内部内存池
my_mem_init(SRAMEX); //初始化外部内存池
my_mem_init(SRAMCCM); //初始化CCM内存池
printf("初始化内存
");
memused=my_mem_perused(SRAMIN);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("SRAMIN:%s
", paddr);
memused=my_mem_perused(SRAMEX);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("SRAMEX:%s
", paddr);
memused=my_mem_perused(SRAMCCM);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("SRAMCCM:%s
", paddr);
printf("申请内存
");
p=mymalloc(sramx,2048);//申请2K字节
if(p!=NULL)sprintf((char*)p,"Memory Malloc Test%03d",i);//向p写入一些内容
if(p!=NULL)
{
sprintf((char*)p,"Memory Malloc Test%03d",i);//更新显示内容
//LCD_ShowString(30,270,200,16,16,p); //显示P的内容
printf("读:%s
", p);
}
if(tp!=p&&p!=NULL)
{
tp=p;
sprintf((char*)paddr,"P Addr:0X%08X",(u32)tp);
printf("paddr:%s
", paddr);
if(p)
printf("%s
", p);
else
printf("Null!
");
}
memused=my_mem_perused(SRAMIN);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("SRAMIN:%s
", paddr);
memused=my_mem_perused(SRAMEX);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("SRAMEX:%s
", paddr);
memused=my_mem_perused(SRAMCCM);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("SRAMCCM:%s
", paddr);
}
#########################打印如下:############################
串口初始化成功!
初始化内存
SRAMIN:0.0%
SRAMEX:100.0%
SRAMCCM:0.0%
申请内存
SRAMIN:0.0%
SRAMEX:100.0%
SRAMCCM:0.0%
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
重新焊了下SDRAM就好了
################ 打印如下 ################
初始内存完成!
ExMemory Size:32KB
ExMemory Size:64KB
ExMemory Size:96KB
ExMemory Size:128KB
ExMemory Size:160KB
ExMemory Size:192KB
ExMemory Size:224KB
ExMemory Size:256KB
ExMemory Size:288KB
ExMemory Size:320KB
ExMemory Size:352KB
一周热门 更多>