在使用CCS打开官方例程时 有警告,用iar直接是错误:
#pragma LOCATION(dataRecorded1, 0x10000);
#pragma __persistent(dataRecorded1);
uint16_t dataRecorded1[SAMPLES_LENGTH] = {0};
dacValue = __data20_read_short(&dataRecorded1[pointer++]);//这句错误
iar提示:argument of type "uint16_t *" is incompatible with parameter of type "unsigned long"
CSS提示: argument of type "uint16_t *" is incompatible with parameter of type "unsigned long"
灰小子:
看看uint16_t是在哪里进行的宏定义,是不是编译器没找到那个文件?
user3854913:
回复 灰小子:
是这样的,我想用fram 定义一个32K的数组,定义在20位地址区域内,如何修改xcl文件来指定地址,如果不修改xcl,iar提示数组太长。
Susan Yang:
单从警告看应该是数据类型定义有冲突。
您的uint16_t 是如何定义的?据我了解 uint16_t类型是unsigned int,而不是unsigned long。所以会产生这样的问题
灰小子:
回复 user3854913:
从你贴出的这个错误提示看,和数组太长没关系
灰小子:
回复 user3854913:
访问超过64k的地址,iar需要做如下设置:
1. 在IAR 的集成开发环境中.选中你的工程,右键,点options,
2. 在Target 页面中,Data Model选项,4选中Medium或Large,