sevastianovd 0 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба проблема в том, что нужно заполнить данными большой массив и разместить его в памяти программ из документации ICC AVR нашел варианты типа const char data[6000]; или flash char data[6000]; в обоих случаях компилятор располагает массив в памяти данных и соответственно ругается на размер подскажите, пожалуйста, как решить проблему Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба Нужно при описании этого массива сразу же и определить его. Например: const char AAA[]={2,3,4,7,0,1}; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-SD- 0 8 апреля, 2008 Опубликовано 8 апреля, 2008 (изменено) · Жалоба подскажите, пожалуйста, как решить проблему __flash const char data[]={1,2,3,4,35}; Ой, сорри, это для IARа так Изменено 8 апреля, 2008 пользователем -SD- Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sevastianovd 0 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба Нужно при описании этого массива сразу же и определить его. Например: const char AAA[]={2,3,4,7,0,1}; в этом случае компилятор выдает ошибку с кодом 100. что это значит не знаю :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megachip 0 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба подскажите, пожалуйста, как решить проблему Если не ошибаюсь то необходимо поставить галочку "Strings In FLASH Only". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба у Вас очень изощренный компилятор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 9 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба в этом случае компилятор выдает ошибку с кодом 100. что это значит не знаю :( Совет, записать так const char AAA[]={2,3,4,7,0,1}; был правильный... Какая версия транслятора? Что за ошибка? Там же что-то кроме цифры 100 ещё что-то написано, наверное? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sevastianovd 0 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба ICC AVR V 6.30D транслятор imakerw v 1.04 (feb 2001) описания ошибки не пишет только код Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба А если так: const char AAA[6]={2,3,4,7,0,1}; Мало ли.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Палыч 9 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба ICC AVR V 6.30D транслятор imakerw v 1.04 (feb 2001) описания ошибки не пишет только кодЭто - ошибка транслятора? Не линкера ли? Стоит ли на ICC лицензия? Какая? Не демо-версия ли? У меня на V6.30 - транслируется и компануется правильно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sevastianovd 0 8 апреля, 2008 Опубликовано 8 апреля, 2008 · Жалоба Разобрался сам :) проблема была в том, что при определении массива const char data[]={1,2,3, ... ... ,6}; (число элементов массива 6000) элементы шли одной строкой поставил перевод строки через каждую тысячу и все заработало Всем спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arttab 0 9 апреля, 2008 Опубликовано 9 апреля, 2008 · Жалоба сизифов труд. а подключть файл к проекту с данными нельзя? или вера не позволяет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 9 апреля, 2008 Опубликовано 9 апреля, 2008 · Жалоба сизифов труд. а подключть файл к проекту с данными нельзя? или вера не позволяет? Ну раз сказал "А", говори и "Б"... В том смысле, опиши как это делается =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arttab 0 10 апреля, 2008 Опубликовано 10 апреля, 2008 · Жалоба Тема старая, подымалась не один раз. Вот Вам зацепки: указываем файл в опциях Linker - Config - Raw binary image. Symbol - это имя всего этого массива чтобы на него ссылаться. Segment - это имя сегмента (правьте xcl файл), где лежит весь этот массив. Align - это выравнивание. Если у Вас массив байтов, то поставьте 1. Почти все сказал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denim 0 10 апреля, 2008 Опубликовано 10 апреля, 2008 · Жалоба В CVAVR ваще просто flash char[] = {}; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться