我需要用到一个指针,地址超过0x10000。在IAR下,通过设置“Data Model"为“Large”,可以支持超过16位的地址指针。
但是在CCS中,同样的设置却无效。当地址超过0x10000时,会被强行设为0!!!
举例:驱动库中关于Flash操作的函数 – void FlashCtl_write8 (uint8_t *data_ptr, uint8_t *flash_ptr, uint16_t count)
如果我在调用FlashCtl_write8 函数时,传递给flash_ptr的值大于0x10000,将会被编译器强行设为0!
Luo Peng:
自己顶!
灰小子:
回复 Luo Peng:
将“Processeor options"下的 –code_model设为Large,并且–data_model也要设为Large