我使用的是 TI ARM clang v2.1.LTS。
以下代码是根据 SDK 8.4.0.17示例代码修改的。
在 IdleLoop ()中,当我使用 UINT32指针"pTestResult"指向数组中奇数位置的地址,然后将 UINT32指针的值分配给全局 float32变量时,程序崩溃。
#include <stdlib.h>
#include "ti_drivers_config.h"
#include "ti_board_config.h"
void empty_main(void *args);
void IdleLoop( void );
Uint16 TestData[8] = {0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007};
Uint32 *pTestResult;
Uint32 PointerAddr;
Float32 TestResultFloat = 0.0f;
int main()
{
System_init();
Board_init();
for(;;) {
IdleLoop();
}
empty_main(NULL);
Board_deinit();
System_deinit();
return 0;
}
void IdleLoop( void ) {
void *pTest;
pTest = (void *)&TestData[3];
pTestResult = (Uint32 *)pTest;
PointerAddr = pTestResult;
TestResultFloat = *pTestResult;
}
将 UINT32指针的值分配给全局 float32变量时有什么问题?
谢谢