专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
有没有谁遇到过进入某个函数后,连函数代码都改变了的
2019-03-24 14:22
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
TI MCU
8068
16
939
有没有谁遇到过进入某个函数后,连函数代码都改变了的 此帖出自
小平头技术问答
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
鸵鸟蝈蝈
1楼-- · 2019-03-24 17:39
精彩回答 2 元偷偷看……
加载中...
l0700830216
2楼-- · 2019-03-24 21:33
< :TI_MSP430_内容页_SA7 --> SD_CS_LOW();
SD_CheckVoltage();
ret = SD_ReadOCR(recbuf); // 读OCR寄存器,查询卡支持的电压值
SD_ReadOCR(recbuf)的函数体如下:
INT8U SD_ReadOCR(INT8U *recbuf)
{
INT8U param[4] = {0, 0, 0, 0}, resp[5] = {1, 1, 1, 1, 1};
INT8U tmp = 0;
tmp = SD_SendCmd(CMD58, param, CMD58_R, resp);
if (tmp != SD_NO_ERR)
{
return tmp;
}
if (resp[0] != 0x80)
{
return SD_ERR_CMD_RESP;
}
for (tmp = 0; tmp < 4; tmp++)
{
recbuf[tmp] = resp[tmp + 1];
}
return SD_NO_ERR;
}
当我单步进入SD_ReadOCR(recbuf)函数体后,SD_ReadOCR(recbuf)代码所在的flash全变成FF了还一部分其它的程序flash也变成FF了,这里我想贴图的,不知道怎么贴。而没进入这个函数前,代码区的内存都是正常的。
加载中...
Triton.zhang
3楼-- · 2019-03-24 22:12
应该是你程序跑飞了,检查下你的堆栈是否有溢出,
加载中...
wstt
4楼-- · 2019-03-25 02:35
精彩回答 2 元偷偷看……
加载中...
yong_zhang
5楼-- · 2019-03-25 03:57
溢出了
加载中...
l0700830216
6楼-- · 2019-03-25 04:24
我把栈改到5K也都是这个样。
不过我把栈改到160时,通过IAR观察,进入这个函数时栈是没有用完的;而把栈改成5K后,进入这个函数后,栈是被100%使用了。
所以我觉得不是堆栈溢出。可能是全局变量溢出,但是我参看了全局变量也没到我RAM的一半(我RAM是16K的)。
加载中...
1
2
3
下一页
一周热门
更多
>
相关问题
相关文章
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
SD_CheckVoltage();
ret = SD_ReadOCR(recbuf); // 读OCR寄存器,查询卡支持的电压值
SD_ReadOCR(recbuf)的函数体如下:
INT8U SD_ReadOCR(INT8U *recbuf)
{
INT8U param[4] = {0, 0, 0, 0}, resp[5] = {1, 1, 1, 1, 1};
INT8U tmp = 0;
tmp = SD_SendCmd(CMD58, param, CMD58_R, resp);
if (tmp != SD_NO_ERR)
{
return tmp;
}
if (resp[0] != 0x80)
{
return SD_ERR_CMD_RESP;
}
for (tmp = 0; tmp < 4; tmp++)
{
recbuf[tmp] = resp[tmp + 1];
}
return SD_NO_ERR;
}
当我单步进入SD_ReadOCR(recbuf)函数体后,SD_ReadOCR(recbuf)代码所在的flash全变成FF了还一部分其它的程序flash也变成FF了,这里我想贴图的,不知道怎么贴。而没进入这个函数前,代码区的内存都是正常的。
不过我把栈改到160时,通过IAR观察,进入这个函数时栈是没有用完的;而把栈改成5K后,进入这个函数后,栈是被100%使用了。
所以我觉得不是堆栈溢出。可能是全局变量溢出,但是我参看了全局变量也没到我RAM的一半(我RAM是16K的)。
一周热门 更多>