求大神帮我看看这个问题是真么回事?怎样解决?

2019-03-23 19:13发布

大家有没有遇到过这个问题啊,程序在擦除Flash时停在了
HardFault_Handler
                PROC
                EXPORT  HardFault_Handler          [WEAK]
                B       .
                ENDP
这里,找了好长时间发现地址为0x080x0800018CF,但这个是库函数,怎么解决啊求大神指点啊,做等,急急急~~~~ 11.jpg (278.19 KB, 下载次数: 2) 2013-5-30 11:39 上传 点击文件名下载附件 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
ly971021598
1楼-- · 2019-03-23 21:38
/ 图片显示的问题的地方
wilera
2楼-- · 2019-03-23 23:36
这个问题貌似没遇见过
ly971021598
3楼-- · 2019-03-24 03:41
 精彩回答 2  元偷偷看……
Li_Lei
4楼-- · 2019-03-24 08:46
你的地址要和1K对齐,不知道你擦除别的地址有没有问题?

#define FLASH_PAGE_SIZE                1024

volatile FLASH_Status FLASHStatus;

void Flash_Erase(u32 StartAddr,u32 Size)
void Flash_Erase(u32 StartAddr,u32 Size)
{
        u32 Page=Size/FLASH_PAGE_SIZE;
        FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);
        FLASHStatus = FLASH_COMPLETE;
          FLASH_Unlock();
          while ((Page--) && FLASHStatus == FLASH_COMPLETE)
          {
                  FLASHStatus = FLASH_ErasePage(StartAddr);
                StartAddr+=FLASH_PAGE_SIZE;
        }
        if (FLASHStatus != FLASH_COMPLETE)
                while (1);
        FLASH_Lock();
}
Li_Lei
5楼-- · 2019-03-24 10:16
地址大一点比如0x08010000
ly971021598
6楼-- · 2019-03-24 14:06
 精彩回答 2  元偷偷看……

一周热门 更多>