gcc编译器编译特殊函数出现程序跑飞的疑问?

[复制链接]
420|0
 楼主| 菊江先生 发表于 2018-9-9 18:44 | 显示全部楼层 |阅读模式
用gcc编译带函数memcpy(dest,src,size)的程序仿真时,如果size小于等于64,程序执行没有问题,如果size大于64会出现程序跑飞的情形。通过看波形确认,跑飞的原因在于执行完2条memcpy子函数的指令后,就会突然跳转到一个没初始化过的指令地址取指令,从而导致系统全部乱掉。查看过跑飞时系统的所有外部状态,没有任何中断。处理器型号为cm3。
备注:通过查阅资料,如果memcpy的size小于等于64,处理器会用一种更高效的方式来实现memcpy的功能,并不会执行memcpy函数本身内容。
用arm程序编译同样的程序执行,没有任何问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

446

主题

447

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0