
在KeilMDK5工程里使用优化级别定义#pragma O0 在IAR中要写成#pragma optimize=none 在KeilMDK5工程里定义全局变量按地址对齐关键字__align(4) 在IAR中要写成#pragma data_alignment=4 目前使用宏定义的方式 #if defined (__CC_ARM) /*!< ARM Compiler */ __align(4) uint8_t KEY_VALUE[16]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; #elif defined ( __ICCARM__ ) /*!< IAR Compiler */ #pragma data_alignment=4 uint8_t KEY_VALUE[16]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; #endif 还有什么快捷的办法可以让代码兼容这两种编译环境?不要手动在每个地方这样写 |
关于stellar studio 环境配置后无法编译例程的问题
记录一次被骗的经历,以此为戒
ST的官方开发板板载程序一般存在哪里?
串口DMA + 空闲中断收发 ?
论坛有用Rust做开发的朋友吗?
官网下载需要登录,可是登录就会显示网页无法正常运作,如何处理?
拜年贴
STM32c031c6 SPI Slave Transmit Only模式的疑问
Cortex-M3/M4的寄存器之程序状态寄存器
汽车软硬结合板:未来汽车的“神经网络”
可以用宏将不同定义统一起来。
> > #if defined (CC_ARM) > #define _ALIGN(n) align(n) > #elif defined ( ICCARM ) > #define _ALIGN(n) data_alignment=n > #endif > > _ALIGN(4) > > uint8_t KEY_VALUE[16]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
[md]IAR Compiler额外加一个#pragma,所以不能用这种宏定义方式