реклама на сайте
подробности

 
 
> IAR ругается на __farflash
west329_
сообщение Sep 29 2008, 10:36
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Проект изначально писался под мегу128, после отладки программы попытались перейти на другой контроллер а именно мегу162.
Компилятор сразу выругался на обьявленные процедуры

Код
Error[Pa043]: the keyword "__farflash" is not available with the  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 43   current settings   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 125   parameter of type "unsigned char *"   Warning[Pe111]: statement is unreachable E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 221   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 238   parameter of type "unsigned char *"   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 258   parameter of type "unsigned char *"   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 262   parameter of type "unsigned char *"   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 275   parameter of type "unsigned char *"   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 290   parameter of type "unsigned char *"   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 314   parameter of type "unsigned char *"   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 329   parameter of type "unsigned char *"   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 347   parameter of type "unsigned char *"   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 356   parameter of type "unsigned char *"   Error[Pe167]: argument of type "char __flash *" is incompatible with  E:\RADIO\IAR4.21A\avr\tutor\Xbox4\main.c 364   parameter of type "unsigned char *"


описание самих процедур выглядит так
Цитата
extern void PrintDebug(unsigned char __farflash stringD[25]);


в сырцах ничего особенного не менялось.

ключ в экстраопциях учтён --string_literals_in_flash

подскажите куда копать ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Sep 29 2008, 13:25
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
А можно ли как то компилятору передать тим контроллера, чтоб каждый раз не лазить в опции проекта а там в конфигурацию контроллера, и выбирать их.


Вы бы заглянули в avr/inc/ioavr.h (имеется в виду каталог с установкой иара)
Код
#ifdef  __IAR_SYSTEMS_ICC__
#ifndef _SYSTEM_BUILD
#pragma system_include
#endif
#endif

#if defined(__ATtiny13__)
#include "iotiny13.h"
#elif defined(__AT90S2313__)
#include "io2313.h"
#elif defined(__AT90S2323__)
#include "io2323.h"
#elif defined(__AT90S2333__)
#include "io2333.h"
#elif defined(__AT90S2343__)
#include "io2343.h"
#elif defined(__AT90S4414__)
#include "io4414.h"
#elif defined(__AT90S4433__)
#include "io4433.h"
#elif defined(__AT90S4434__)
....


Да и
Цитата
#include <iom128.h>

и остальные надо заменить на <ioavr.h>, само нужный подключит.

Цитата
А почему, поясните, плз?


Понимаете ли, в принципе, негласно, имена, начинающиеся с двух подчеркиваний отданы на пользование компилятору. Идеологически более правильно определять такие вещи своим модификатором, а его уже делать чем надо при помощи #define. С кросс-платформенностью потом лучше. Хотя ситуацию усугубляет то, что, например, в GCC эти фишки устроены по другому.

Цитата
И что мне за это будет?


Конкретно в IAR и AVR->ARM - ничего.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016