5728裸机跑代码,执行memcoy时系统跑飞

2019-03-26 14:38发布

本帖最后由 jette 于 2018-11-20 18:14 编辑

在5728的板子上调试,发生执行内存拷贝memcpy时系统跑飞死机,跟踪检查变量地址空间均正常,跟踪汇编是发现进入memcpy后进行寄存器操作时出错。请各位大牛指点,通过哪些方法来定位问题,是ccs设置问题还是5728使用问题?目前解决是不使用memcpy,全部改成for循环按位赋值,可以正常使用,只是规避掉问题了。
另外四字节数赋值给另一个U32全局变量也发生系统跑飞。如果采用一个临时U32变量,将要赋的值给这个临时变量,在通过临时变量给目标值赋值,则可以正常运行。不知道问题发生在哪里。如果这个是必须考虑字节对齐的事情,U8_t 和U16_t在一起只能拼成一个U32_t空间,也无法满足4字节对齐的要求。
请各位高手赐教。

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
alan000345
1楼-- · 2019-03-26 19:03
 精彩回答 2  元偷偷看……
jette
2楼-- · 2019-03-26 19:59
< 第一个问题找到原因了,调用的系统库libc.a不对,更换后路径后正确。但是第二个还是没有结果。
Aguilera
3楼-- · 2019-03-26 21:48
 精彩回答 2  元偷偷看……
灞波儿奔
4楼-- · 2019-03-27 02:27
四字节数赋值给另一个U32全局变量也发生系统跑飞,这是程序变量问题
fish001
5楼-- · 2019-03-27 07:06
第二个分配临时存储空间给当前运行的程序块,临时变量使用的就是这些临时的存储空间,在程序块运行结束后,这些临时存储空间就被CPU收回了

一周热门 更多>