[an error occurred while processing this directive]
Нашел приемлемый для себя выход, может кто разовьет...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено groovy 22 октября 2006 г. 21:39
В ответ на: IAR AVR 4.20, возможно ли что строковые аргументы функций жрут SRAM? Навтыкал много дебажного вывода через стандартный printf и теперь при линковке: Segment NEAR_Z (size: 0x980 align: 0) is too long for segment definition. Сокращение текста в принтах спасает. Но в чем причина? Так же быть не должно. отправлено <font color=gray>groovy</font> 22 октября 2006 г. 19:13

Вобщем чтобы не портить красоту исходника:

#include

#define TRACE0(a) { static __flash char str[] = a; printf_P(str); }
#define TRACE1(a,b) { static __flash char str[] = a; printf_P(str, b); }
#define TRACE2(a,b,c) { static __flash char str[] = a; printf_P(str, b, c); }
#define TRACE3(a,b,c,d) { static __flash char str[] = a; printf_P(str, b, c, d); }
#define TRACE4(a,b,c,d,e) { static __flash char str[] = a; printf_P(str, b, c, d, e); }
#define TRACE5(a,b,c,d,e,f) { static __flash char str[] = a; printf_P(str, b, c, d, e, f); }


и далее в коде

TRACE0("Hello\r\n");
TRACE1("Hello %d\r\n", 123);

И лежит все где надо и исходник читаемый...

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание