OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3233|回复: 3

请教F429IGT6 SDRAM,原子电路,跑实验 38.内存管理实验, 用外部方式申请 u8 sramx=1,时,出现失败!

[复制链接]

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2014-7-13
在线时间
44 小时
发表于 2018-9-12 17:18:16 | 显示全部楼层 |阅读模式
5金钱
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("串口初始化成功!\r\n");

    SDRAM_Init();                   //初始化SDRAM

        my_mem_init(SRAMIN);                    //初始化内部内存池
        my_mem_init(SRAMEX);                    //初始化外部内存池
        my_mem_init(SRAMCCM);                    //初始化CCM内存池

         
         
        printf("初始化内存\r\n");
                        memused=my_mem_perused(SRAMIN);
                        sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
                        printf("SRAMIN:%s\r\n", paddr);
               
                        memused=my_mem_perused(SRAMEX);
                        sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
                        printf("SRAMEX:%s\r\n", paddr);
               
                        memused=my_mem_perused(SRAMCCM);
                        sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
                        printf("SRAMCCM:%s\r\n", paddr);
                       

                                printf("申请内存\r\n");
                                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\r\n", p);
                                }
                if(tp!=p&&p!=NULL)
                {
                        tp=p;
                        sprintf((char*)paddr,"P Addr:0X%08X",(u32)tp);
                        printf("paddr:%s\r\n", paddr);
                        if(p)
                                printf("%s\r\n", p);
                    else
                                printf("Null!\r\n");
                }
                        memused=my_mem_perused(SRAMIN);
                        sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
                        printf("SRAMIN:%s\r\n", paddr);
               
                        memused=my_mem_perused(SRAMEX);
                        sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
                        printf("SRAMEX:%s\r\n", paddr);
               
                        memused=my_mem_perused(SRAMCCM);
                        sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
                        printf("SRAMCCM:%s\r\n", paddr);
}








#########################打印如下:############################
串口初始化成功!
初始化内存
SRAMIN:0.0%
SRAMEX:100.0%
SRAMCCM:0.0%
申请内存
SRAMIN:0.0%
SRAMEX:100.0%
SRAMCCM:0.0%

最佳答案

查看完整内容[请看2#楼]

################# 已解决 ################# 重新焊了下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
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2014-7-13
在线时间
44 小时
 楼主| 发表于 2018-9-12 17:18:17 | 显示全部楼层
################# 已解决 #################
重新焊了下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
回复

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2014-7-13
在线时间
44 小时
 楼主| 发表于 2018-9-12 17:48:42 | 显示全部楼层
有人用过SDRAM吗,方便帮发下例程不呢
回复

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2014-7-13
在线时间
44 小时
 楼主| 发表于 2018-9-12 19:04:22 | 显示全部楼层
初始内存完成!
ExMemory Size:32KB
EX Memory Error!
CFSR:   20000
HFSR:40000000
DFSR:       1
AFSR:       0
CFSR:   20000
HFSR:40000000
DFSR:       1
AFSR:       0
CFSR:   20000
HFSR:40000000
DFSR:       1
AFSR:       0
CFSR:   20000
HFSR:40000000
DFSR:       1
AFSR:       0
CFSR:   20000
HFSR:40000000
DFSR:       1
AFSR:       0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 00:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表