这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » FPU使用float变量地址要4字节对齐

共1条 1/1 1 跳转至

FPU使用float变量地址要4字节对齐

菜鸟
2025-05-27 13:31:56     打赏

Questions:为何 FPU 使用 float 变量地址要 4 字节对齐? Answer:当开启 FPU 时,如果 float 变量地址没有 4 字节对齐,会出现 Hard Fault 现象。如下图,test1 没有 4 字节对齐,程序会进入 HardFault_Handler。

复制

test1 = (float*)test_arr;
test1 = (float*)((uint32_t)(&test_arr[0])+2);
*test1 = 0.52f;
*test2 = 0.52f;



修改为如下,就可以正常运行。
复制

test1 = test_arr;
test1 = ((&test_arr[0]) + 2);
*test1 = 0.52f;
*test2 = 0.52f;



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]