本文介绍了嵌入式设备上的转换指针的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我铸造32位嵌入式系统的修改指针时遇到了一个奇怪的问题(是具体的)。

  uint32_t的数组[2];
数组[0] = 0x76543210;
阵列[1] = 0xfedcba98;uint8_t有*点=((uint8_t有*)阵列)+1;的printf(%08X \\ n,*(* uint32_t的)点);

我的电脑上输出:

  98765432

在嵌入式设备上输出:

  10765432

我的电脑的行为与我期望它,嵌入式设备却似乎当它到达单词的末尾环绕。为什么会这样?


解决方案

您的目标redbee econotag表述为具有在ARMv4架构的ARM7。 ARM版本不提供像一个ARMv7的或英特尔机器未对齐的内存访问。

的文档引用:

这篇关于嵌入式设备上的转换指针的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 04:48