OpenEdv-开源电子网

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

STM32F407写30个数据至SRAM在GUI_Clear()后进入HardFault_Handler

[复制链接]

3

主题

10

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2016-6-15
在线时间
9 小时
发表于 2018-11-20 00:23:35 | 显示全部楼层 |阅读模式
5金钱
原子的SRAM写函数
[mw_shl_code=c,true]//在指定地址(WriteAddr+Bank1_SRAM3_ADDR)开始,连续写入n个字节.
//pBuffer:字节指针
//WriteAddr:要写入的地址
//n:要写入的字节数
void FSMC_SRAM_WriteBuffer(uint8_t *pBuffer,uint32_t WriteAddr,uint32_t n)
{
        for(;n!=0;n--)
        {
                *(__IO uint8_t*)(EXT_SRAM_ADDR + WriteAddr) = *pBuffer;
                WriteAddr++;
                pBuffer++;
        }
}[/mw_shl_code]

测试代码
[mw_shl_code=c,true]temp = 0x12;
        for(i=0;i<30;i++)       
        {
                FSMC_SRAM_WriteBuffer(&temp,i,1);
        }
       
        GUI_SetBkColor(GUI_BLACK);
        GUI_Clear();[/mw_shl_code]

以上代码,在执行GUI_Clear()后进入HardFault_Handler(),不知道为什么?

把i<30改成i<25就能正常执行了

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2016-6-15
在线时间
9 小时
 楼主| 发表于 2018-11-20 00:26:34 | 显示全部楼层
[mw_shl_code=c,true]uint8_t External_SRAM_BootTest(void)
{
        uint32_t i=0;            
        uint8_t temp=0;            
        
        t_printf("testing external sram...\r\n",i,temp);
        
        temp = 0x12;
        for(i=0;i<1024*1024;i++)        //每个地址写入特定字节
        {
                FSMC_SRAM_WriteBuffer(&temp,i,1);
        }
        
         for(i=0;i<1024*1024;i++)        //读出每个地址的内容
        {
                temp = 0;
          FSMC_SRAM_ReadBuffer(&temp,i,1);
                if(temp != 0x12)
                {
                        t_printf("external sram test failed! error address = 0x%x,read value = %d\r\n",i,temp);
                        return 0;
                }
                if(i==1024*1024-1)
                {
                        t_printf("external sram test successful!\r\n",i,temp);
                        return 1;
                }
         }
        return 0;
}[/mw_shl_code]
以上是测试SRAM的程序,写1024*1024个0x12,再一个一个读出来,最后能正常返回successful的

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-11-20 02:17:11 | 显示全部楼层
帮顶
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2016-6-15
在线时间
9 小时
 楼主| 发表于 2018-11-20 15:29:36 | 显示全部楼层
......有开发板的同志位,求验证
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 03:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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