AVR studio в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: AVR studio в вопросах и ответах

Сообщение COKPOWEHEU »

Неправильно. Библиотека называется libm.a, просто опция -l подразумевает префикс lib и окончание .a, кстати при желании ее можно заменить на -L<full_path>/libm.a, просто это дольше и бесполезнее.
Платформо-специфичных опций в gcc используется не так много. Единственная которая вспоминается с ходу это -mmcu
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: AVR studio в вопросах и ответах

Сообщение Z_h_e »

Понадобилось сделать длинный массив, который будет хранится во внешней памяти.

Попробовал его сгенерить как массив EEPROM в атмел студио (не хочется безликими цифрами набивать внешнюю память) переопределив #define E2END , однако все равно размер данных остался обрезанным по фактическому размеру еепром МК.

Подскажите как сделать такой файл, для последующей прошивки во внешнюю память. Спасибо.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
_dark
Встал на лапы
Сообщения: 93
Зарегистрирован: Чт апр 26, 2012 14:30:40
Откуда: под Москвой

Re: AVR studio в вопросах и ответах

Сообщение _dark »

Z_h_e писал(а):Понадобилось сделать длинный массив, который будет хранится во внешней памяти.


Массив в XRAM? Что хотите в нем видеть?
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: AVR studio в вопросах и ответах

Сообщение Z_h_e »

Нет, не в RAM. Было бы не плохо, если удалось скопмиллить дамп для внешний флешки. Желательно в проекте для МК, чтобы легко править дамп, изменениями каких-то определений и пр.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
_dark
Встал на лапы
Сообщения: 93
Зарегистрирован: Чт апр 26, 2012 14:30:40
Откуда: под Москвой

Re: AVR studio в вопросах и ответах

Сообщение _dark »

Так врядли получится.
Вам придется написать/подключить драйвер внешнего девайса, т.к. в этом случае МК обращается не к памяти, а к устройству через соответвтующий интерфейс (SPI например)
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: AVR studio в вопросах и ответах

Сообщение Z_h_e »

Вы абсолютно не поняли мою задачу.
Мне достаточно, например, чтобы файл epp скомпиллился в нужный мне размер, а не был ограничен реальным размером еепром МК.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
_dark
Встал на лапы
Сообщения: 93
Зарегистрирован: Чт апр 26, 2012 14:30:40
Откуда: под Москвой

Re: AVR studio в вопросах и ответах

Сообщение _dark »

Z_h_e писал(а):Вы абсолютно не поняли мою задачу.

Значит Вы ее так описываете :) Я к сожалению не телепат....

Сами прикиньте, Вы указываете компилятору конкретные камень с конкретным размером EEPROM, который не может расширятся (физически не может!).
Что по Вашему должен делать компилятор?

Массив большего размера чем память на камне можно объявить только в XRAM, т.е. расширить только RAM
(при этом компилятор кстати дает интересный репорт типа:
Device: atmega128
Program: 43108 bytes (32.9% Full)
(.text + .data + .bootloader)
Data: 8297 bytes (202.6% Full)
(.data + .bss + .noinit)

т.е. указывает переполнение памяти, но это к слову)
"Других методов медицина не знает" :)))

"Массив большего размера чем память на камне можно объявить только в XRAM"

- это тоже не совсем верно :), но это к даному делу не относится
Последний раз редактировалось _dark Чт дек 08, 2016 17:30:28, всего редактировалось 3 раза.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: AVR studio в вопросах и ответах

Сообщение Z_h_e »

Конкретный размер ЕЕПРОМ где-то определен.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
_dark
Встал на лапы
Сообщения: 93
Зарегистрирован: Чт апр 26, 2012 14:30:40
Откуда: под Москвой

Re: AVR studio в вопросах и ответах

Сообщение _dark »

Теоретически да...
Нужно лезть в файлы студио,
например тут (может где и еще)
c:\Program Files (x86)\Atmel\Atmel Studio 6.0\devices\*.xml

<address-space endianness="little" name="eeprom" id="eeprom" start="0x0000" size="0x1000">
<memory-segment start="0x0000" size="0x1000" type="eeprom" rw="RW" exec="0" name="EEPROM" pagesize="0x08"/>
</address-space>


...
только не пойму что это даст, зачем такие извращения?
просто я например, за 15 лет ни разу не испытывал такой потребности...
да я даже массивы в EEPROM не размещаю! не фиг им там делать
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: AVR studio в вопросах и ответах

Сообщение Z_h_e »

А где Вы размещаете данные длиной например 200КБ и больше?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
_dark
Встал на лапы
Сообщения: 93
Зарегистрирован: Чт апр 26, 2012 14:30:40
Откуда: под Москвой

Re: AVR studio в вопросах и ответах

Сообщение _dark »

Смотря какой камень и что нужно по задаче...

Например, для ATmega128 подключаю внешнюю FLASH и работаю с ее МС как внешним устройством,
размер данных при этом может быть и 1Мb и более.
Обработка таких монстров данных ведутся через "окна", которые скачиваются в RAM/XRAM, но это зависит от задачи...

А для временны'х трендов, лучше вести файл БД во FLASH (SD карта)...
т.е. все зависит от задачи

но в любых случаях, если данные не лезут в RAM, работать приходится с внешней памятью как с внешним устройством
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: AVR studio в вопросах и ответах

Сообщение Z_h_e »

_dark писал(а):Например, для ATmega128 подключаю внешнюю FLASH и работаю с ее МС как внешним устройством,
Z_h_e писал(а):Понадобилось сделать длинный массив, который будет хранится во внешней памяти.
Z_h_e писал(а):Нет, не в RAM. Было бы не плохо, если удалось скопмиллить дамп для внешний флешки.
Не знаю что тут не понятного и зачем рассказывать мне как обрабатывать большие данные, ну да ладно. Дело не в этом.

Не получилось с правкой файла xml. Все тот же размер. Собственно не обязательно генерить как файл еепром, может другие методы есть, если есть. С ЕЕПРОМ показалось самым простым способом решить данную задачу.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
_dark
Встал на лапы
Сообщения: 93
Зарегистрирован: Чт апр 26, 2012 14:30:40
Откуда: под Москвой

Re: AVR studio в вопросах и ответах

Сообщение _dark »

То что Вы пишите, мне как жестянщику не понятно :)

Если память внешняя, то вопрос какая? адресуемая напрямую? т.е. она поддерживается шиной адреса данных МК?
Тип камня какой? иначе не понятно в чем проблемма
Причем здесь EEPROM?
Чем FLASH программ не устраивает?
т.е. у меня много вопросов но они могут быть все мимо...
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: AVR studio в вопросах и ответах

Сообщение Z_h_e »

Мне просто надо скомпиллить дамп, из осмысленных констант и макросов.
Z_h_e писал(а):не хочется безликими цифрами набивать внешнюю память
И дампу абсолютно не важно для чего он будет предназначаться.

_dark писал(а):Причем здесь EEPROM?
Z_h_e писал(а):С ЕЕПРОМ показалось самым простым способом решить данную задачу.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
_dark
Встал на лапы
Сообщения: 93
Зарегистрирован: Чт апр 26, 2012 14:30:40
Откуда: под Москвой

Re: AVR studio в вопросах и ответах

Сообщение _dark »

А размещать его где и как собираетесь?

1.В конце концов возьмите камень с большей EEPROM
2.Генерите дамп с константами для FLASH, и выкусите кусок данных оттуда (незнаю насколько он "чистым" будет без добавок от компилятора и линкера)

Добавлено after 35 minutes 12 seconds:
зы
Z_h_e писал(а):А где Вы размещаете данные длиной например 200КБ и больше?


Вопрос подразумевает реальное размещение данных в какойто МС (или в МК или во внешней МС) :)
как это делаю я объяснил, и это "где и как" зависит от задачи

А заполнение внешней памяти "внятными" данными (через генерацию дампа) ничем не лучше заполнения любым генератором чисел (если нет цели их использования).
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: AVR studio в вопросах и ответах

Сообщение COKPOWEHEU »

Может проще сгенерировать hex-файл вручную? Формат-то у него довольно простой.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: AVR studio в вопросах и ответах

Сообщение Z_h_e »

Мне собственно не так важен формат, пускай будет bin, например.
Написать какую-нибудь прожку конечно можно, но не хочется, особенно когда среда программирования такую задачу в принципе выполнять умеет .
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: AVR studio в вопросах и ответах

Сообщение ARV »

я дико извиняюсь, но так и не могу понять проблему...

Z_h_e, вы хотите в тексте исходника набить 200 килобайт бинарных данных в виде массива, чтобы потом компилятор сформировал вам некий hex для заливки в отдельную микросхему EEPROM - я верно уловил суть ваших пожеланий?

Ни Си, ни препроцессор Си не предоставляет каких-либо удобных средств, чтобы как-то автоматизировать процесс ввода данных, даже если алгоритм их последовательного создания известен. т.е. метод для этого только один: COPY-PASTE. или вручную... но 200К бинарных данных это в нотации синтаксиса Си по меньшей мере 1М текста! вы на самом деле решили набивать это руками в IDE? :shock:

тут или я чего-то не понимаю, или одно из двух :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: AVR studio в вопросах и ответах

Сообщение Z_h_e »

ARV писал(а):Z_h_e, вы хотите в тексте исходника набить 200 килобайт бинарных данных в виде массива, чтобы потом компилятор сформировал вам некий hex для заливки в отдельную микросхему EEPROM - я верно уловил суть ваших пожеланий?
Возможно даже больше. Делаю не для себя, некий пользователь по мере неких требований будет заполнять и корректировать данные, которые постепенно станут достаточно большими.

ARV писал(а):Ни Си, ни препроцессор Си не предоставляет каких-либо удобных средств, чтобы как-то автоматизировать процесс
То что есть, константы и макросы, не лучшим образом, но значительно упрощают это дело.
ARV писал(а):вы на самом деле решили набивать это руками в IDE?
В жизни так случается, что приходится работать руками. Что то посдказывает мне, что на те же AVR даташиты содержать значительный объем информации набитый руками и что-то никто по этому поводу не переживает. Да тут можно много примеров привести.

Разговор очень часто уходит в сторону от заданного вопроса. Когда из праздного любопытства, когда то благадаря троллям, а когда-то ради желания уточнить для чего и предложить лучшее решение.
Я представляю в голове другие пути решиния данной задачи. Но тут меня интересует именно тот вопрос, что задал.
Возможно существует метод снятия ограничения по объему кода, рад был бы его услышать, хотя может он оказаться таким извращенным что не стоит и пробовать. Ну а если его нет или просто никто не знает - ну нет так нет.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: AVR studio в вопросах и ответах

Сообщение ARV »

Z_h_e писал(а):Разговор очень часто уходит в сторону от заданного вопроса. Когда из праздного любопытства, когда то благадаря троллям, а когда-то ради желания уточнить для чего и предложить лучшее решение.
можете считать меня хоть троллем, хоть эльфом, хоть гномом :))) но ваша задача имеет 2 решения: то, что задумали вы и правильное :)))

по-вашему эта задача решается так: берется утилита, конвертирующая текст в бинарный формат, в makefile пишется правило ее запуска в ответ на расширение файла .txt, файл включается в проект и далее по тексту - при помощи редактора IDE файл создается, при помощи makefile собирается проект. но, имхо, это натягивание жабы на глобус - эстество какое-то :)))

на вашем месте я бы не тратил время на поиски способа оптимизировать неправильное решение :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

Вернуться в «AVR»