电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
F0读内部flash
已解决
73482
个问题
已帮助
5993
位优秀工程师
F0读内部flash
Key一哥
2018-08-27
浏览量:805
void InternalFlash_Read(uint32_t addruint8_t *puint16_t Byte_Num)
{
uint8_t i=0;
while(Byte_Num--)
{
p[i]=(*(__IO uint8_t*) addr);
i++;
addr++;
}
}
这个读内部flash在F1上可以,在F0上就会导致程序卡死,请问大佬这是怎么回事
显示全部
嵌入式
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
我对面的武器
卡死时,要进行一下仿真看看是死在了哪里
大有可能是死在了硬件错误中断中
你这个函数的调用时,地址与长度要设置正确,参考F0的数据手册中的内存映射进行设置,如果超过了,就会卡死的。
发布于
2018-09-25
举报
评论 0
0
0
其他答案
数量:
12
jn1989
addr地址是多少?F0的内部空间和F1不一样,内部flash大小不一样。如果超出了内部flash可能会死机或者其他神奇的现象
发布于
2018-08-27
举报
评论 0
1
0
591724867
读F0的内部Flash时要注意根据所用芯片的数据手册看一下Flash的地址范围,超范围有可能导致程序死,还有就是读取Flash时其他中断也有可能导致程序死,主要注意这两点就没有问题了。
发布于
2018-08-27
举报
评论 0
0
0
捷波
不同芯片内部资源有差别,不加修改直接搬过去用的话,可能一些资源是无法访问的,如RAM、Flash空间、IO等,强行操作可能导致程序死锁。
发布于
2018-08-27
举报
评论 0
0
0
yhj416606438
可能越界了,你看下是不是超出flash范围了
发布于
2018-08-27
举报
评论 0
0
0
@曲终人散@
这有可能是两个片子中的flash型号不同,建议对比一下看看是不是这个问题
发布于
2018-08-27
举报
评论 0
0
0
donatello
F0的FLASH大小一般比F103要小一点,如果是像F031K那种只有十几K FLASH的F0,就容易导致FLASH指针越界访问而卡死。
发布于
2018-08-27
举报
评论 0
0
0
chen0000009
这个读取内部flash的时候要确保那部分flash没有被你正在运行的程序占用,否则会出错
发布于
2018-08-30
举报
评论 0
0
0
drepa
估计是你程序访问到的flash空间是非法的,有读保护或者flash正在使用。
发布于
2018-08-31
举报
评论 0
0
0
勇哥来巡山
读flash的时候要检查你的flash是不是在使用,占用的时候不能使用
发布于
2018-09-17
举报
评论 0
0
0
勇哥来巡山
读flash的时候要检查你的flash是不是在使用,占用的时候不能使用
发布于
2018-09-17
举报
评论 0
0
0
喵不是好兔纸
要排查一下你的flash地址和指针是否正确,是否有访问越界的情况
发布于
2018-09-20
举报
评论 0
0
0
Kylo
应该是你的flash访问越界了,你访问的地址是不存在的
发布于
2018-09-22
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
F0读内部flash
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: