求助,新手犯错,赋值给野指针,出现程序下载不了。

2019-07-21 00:26发布

求助求助!本人粗心导致的问题 望大神帮助解答!!问题是以下代码导致:
void ReadMcu(unsigned char *p)
{
          unsigned char *addr=0;
          unsigned short int i=0,number=0;

          addr = (unsigned char *)&DevSetting;
          number = sizeof(DevSetting);


                FLASH_ReadMore(DEVICE_SET_ADDR,256,(unsigned int *)&DevSetting);
       
                for(i=0;i<number;i++)//这里给野指针和往后的256位数据都赋值了
                {
                    *p = *addr;
                           p++;
                           addr++;
                }

}

void Readall(void)
{

unsigned char *temp;
ReadMcu(temp);


}

下载程序进去之后出现,就再也下不进去程序了,报错如下Unkonw CPU ;于是我把此函数注释 只运行到定义指针那,看到指指向的值为0x4800 0000,看了一下手册 这个地址指向GPIOA
所以我觉得是设置到什么东西了,,望大神指教啊~

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
edmund1234
1楼-- · 2019-07-21 20:29
猎人123 发表于 2019-5-30 16:27
是编译可以通过~第一次可以下载程序进去,第二次就不能再下载了。。我连续试了两块板子,都是这个情况。 ...

我认为,你的问题不是下载不了,而是下载完, 复位后, 指针误操作,把刚下载好的程序写没了

莫名
2楼-- · 2019-07-21 21:39
BOOT0接1,然后下载正常程序
猎人123
3楼-- · 2019-07-21 22:46
edmund1234 发表于 2019-5-30 22:16
我认为,你的问题不是下载不了,而是下载完, 复位后, 指针误操作,把刚下载好的程序写没了

写没了是什么意思啊。。请指教。。第二次就下载不进去程序了。
猎人123
4楼-- · 2019-07-22 02:32
 精彩回答 2  元偷偷看……
猎人123
5楼-- · 2019-07-22 03:24
问题解决了,用IAP串口下载正确的程序进去,之前还是没有解决的原因是工程配置有问题,在配置里面debug->setting勾选上reset after connect问题就解决了,具体是为什么不知道。。还希望有大神解答。

一周热门 更多>