AVR studio в вопросах и ответах
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: AVR studio в вопросах и ответах
Неправильно. Библиотека называется libm.a, просто опция -l подразумевает префикс lib и окончание .a, кстати при желании ее можно заменить на -L<full_path>/libm.a, просто это дольше и бесполезнее.
Платформо-специфичных опций в gcc используется не так много. Единственная которая вспоминается с ходу это -mmcu
Платформо-специфичных опций в gcc используется не так много. Единственная которая вспоминается с ходу это -mmcu
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: AVR studio в вопросах и ответах
Понадобилось сделать длинный массив, который будет хранится во внешней памяти.
Попробовал его сгенерить как массив EEPROM в атмел студио (не хочется безликими цифрами набивать внешнюю память) переопределив #define E2END , однако все равно размер данных остался обрезанным по фактическому размеру еепром МК.
Подскажите как сделать такой файл, для последующей прошивки во внешнюю память. Спасибо.
Попробовал его сгенерить как массив EEPROM в атмел студио (не хочется безликими цифрами набивать внешнюю память) переопределив #define E2END , однако все равно размер данных остался обрезанным по фактическому размеру еепром МК.
Подскажите как сделать такой файл, для последующей прошивки во внешнюю память. Спасибо.
Re: AVR studio в вопросах и ответах
Z_h_e писал(а):Понадобилось сделать длинный массив, который будет хранится во внешней памяти.
Массив в XRAM? Что хотите в нем видеть?
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: AVR studio в вопросах и ответах
Нет, не в RAM. Было бы не плохо, если удалось скопмиллить дамп для внешний флешки. Желательно в проекте для МК, чтобы легко править дамп, изменениями каких-то определений и пр.
Re: AVR studio в вопросах и ответах
Так врядли получится.
Вам придется написать/подключить драйвер внешнего девайса, т.к. в этом случае МК обращается не к памяти, а к устройству через соответвтующий интерфейс (SPI например)
Вам придется написать/подключить драйвер внешнего девайса, т.к. в этом случае МК обращается не к памяти, а к устройству через соответвтующий интерфейс (SPI например)
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: AVR studio в вопросах и ответах
Вы абсолютно не поняли мою задачу.
Мне достаточно, например, чтобы файл epp скомпиллился в нужный мне размер, а не был ограничен реальным размером еепром МК.
Мне достаточно, например, чтобы файл epp скомпиллился в нужный мне размер, а не был ограничен реальным размером еепром МК.
Re: AVR studio в вопросах и ответах
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 в вопросах и ответах
Конкретный размер ЕЕПРОМ где-то определен.
Re: AVR studio в вопросах и ответах
Теоретически да...
Нужно лезть в файлы студио,
например тут (может где и еще)
c:\Program Files (x86)\Atmel\Atmel Studio 6.0\devices\*.xml
...
только не пойму что это даст, зачем такие извращения?
просто я например, за 15 лет ни разу не испытывал такой потребности...
да я даже массивы в EEPROM не размещаю! не фиг им там делать
Нужно лезть в файлы студио,
например тут (может где и еще)
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 в вопросах и ответах
А где Вы размещаете данные длиной например 200КБ и больше?
Re: AVR studio в вопросах и ответах
Смотря какой камень и что нужно по задаче...
Например, для ATmega128 подключаю внешнюю FLASH и работаю с ее МС как внешним устройством,
размер данных при этом может быть и 1Мb и более.
Обработка таких монстров данных ведутся через "окна", которые скачиваются в RAM/XRAM, но это зависит от задачи...
А для временны'х трендов, лучше вести файл БД во FLASH (SD карта)...
т.е. все зависит от задачи
но в любых случаях, если данные не лезут в RAM, работать приходится с внешней памятью как с внешним устройством
Например, для ATmega128 подключаю внешнюю FLASH и работаю с ее МС как внешним устройством,
размер данных при этом может быть и 1Мb и более.
Обработка таких монстров данных ведутся через "окна", которые скачиваются в RAM/XRAM, но это зависит от задачи...
А для временны'х трендов, лучше вести файл БД во FLASH (SD карта)...
т.е. все зависит от задачи
но в любых случаях, если данные не лезут в RAM, работать приходится с внешней памятью как с внешним устройством
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: AVR studio в вопросах и ответах
_dark писал(а):Например, для ATmega128 подключаю внешнюю FLASH и работаю с ее МС как внешним устройством,
Z_h_e писал(а):Понадобилось сделать длинный массив, который будет хранится во внешней памяти.
Не знаю что тут не понятного и зачем рассказывать мне как обрабатывать большие данные, ну да ладно. Дело не в этом.Z_h_e писал(а):Нет, не в RAM. Было бы не плохо, если удалось скопмиллить дамп для внешний флешки.
Не получилось с правкой файла xml. Все тот же размер. Собственно не обязательно генерить как файл еепром, может другие методы есть, если есть. С ЕЕПРОМ показалось самым простым способом решить данную задачу.
Re: AVR studio в вопросах и ответах
То что Вы пишите, мне как жестянщику не понятно
Если память внешняя, то вопрос какая? адресуемая напрямую? т.е. она поддерживается шиной адреса данных МК?
Тип камня какой? иначе не понятно в чем проблемма
Причем здесь EEPROM?
Чем FLASH программ не устраивает?
т.е. у меня много вопросов но они могут быть все мимо...
Если память внешняя, то вопрос какая? адресуемая напрямую? т.е. она поддерживается шиной адреса данных МК?
Тип камня какой? иначе не понятно в чем проблемма
Причем здесь EEPROM?
Чем FLASH программ не устраивает?
т.е. у меня много вопросов но они могут быть все мимо...
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: AVR studio в вопросах и ответах
Мне просто надо скомпиллить дамп, из осмысленных констант и макросов.
И дампу абсолютно не важно для чего он будет предназначаться.Z_h_e писал(а):не хочется безликими цифрами набивать внешнюю память
_dark писал(а):Причем здесь EEPROM?
Z_h_e писал(а):С ЕЕПРОМ показалось самым простым способом решить данную задачу.
Re: AVR studio в вопросах и ответах
А размещать его где и как собираетесь?
1.В конце концов возьмите камень с большей EEPROM
2.Генерите дамп с константами для FLASH, и выкусите кусок данных оттуда (незнаю насколько он "чистым" будет без добавок от компилятора и линкера)
Добавлено after 35 minutes 12 seconds:
зы
Вопрос подразумевает реальное размещение данных в какойто МС (или в МК или во внешней МС)
как это делаю я объяснил, и это "где и как" зависит от задачи
А заполнение внешней памяти "внятными" данными (через генерацию дампа) ничем не лучше заполнения любым генератором чисел (если нет цели их использования).
1.В конце концов возьмите камень с большей EEPROM
2.Генерите дамп с константами для FLASH, и выкусите кусок данных оттуда (незнаю насколько он "чистым" будет без добавок от компилятора и линкера)
Добавлено after 35 minutes 12 seconds:
зы
Z_h_e писал(а):А где Вы размещаете данные длиной например 200КБ и больше?
Вопрос подразумевает реальное размещение данных в какойто МС (или в МК или во внешней МС)
как это делаю я объяснил, и это "где и как" зависит от задачи
А заполнение внешней памяти "внятными" данными (через генерацию дампа) ничем не лучше заполнения любым генератором чисел (если нет цели их использования).
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: AVR studio в вопросах и ответах
Может проще сгенерировать hex-файл вручную? Формат-то у него довольно простой.
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: AVR studio в вопросах и ответах
Мне собственно не так важен формат, пускай будет bin, например.
Написать какую-нибудь прожку конечно можно, но не хочется, особенно когда среда программирования такую задачу в принципе выполнять умеет .
Написать какую-нибудь прожку конечно можно, но не хочется, особенно когда среда программирования такую задачу в принципе выполнять умеет .
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: AVR studio в вопросах и ответах
я дико извиняюсь, но так и не могу понять проблему...
Z_h_e, вы хотите в тексте исходника набить 200 килобайт бинарных данных в виде массива, чтобы потом компилятор сформировал вам некий hex для заливки в отдельную микросхему EEPROM - я верно уловил суть ваших пожеланий?
Ни Си, ни препроцессор Си не предоставляет каких-либо удобных средств, чтобы как-то автоматизировать процесс ввода данных, даже если алгоритм их последовательного создания известен. т.е. метод для этого только один: COPY-PASTE. или вручную... но 200К бинарных данных это в нотации синтаксиса Си по меньшей мере 1М текста! вы на самом деле решили набивать это руками в IDE?
тут или я чего-то не понимаю, или одно из двух
Z_h_e, вы хотите в тексте исходника набить 200 килобайт бинарных данных в виде массива, чтобы потом компилятор сформировал вам некий hex для заливки в отдельную микросхему EEPROM - я верно уловил суть ваших пожеланий?
Ни Си, ни препроцессор Си не предоставляет каких-либо удобных средств, чтобы как-то автоматизировать процесс ввода данных, даже если алгоритм их последовательного создания известен. т.е. метод для этого только один: COPY-PASTE. или вручную... но 200К бинарных данных это в нотации синтаксиса Си по меньшей мере 1М текста! вы на самом деле решили набивать это руками в IDE?
тут или я чего-то не понимаю, или одно из двух
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: AVR studio в вопросах и ответах
Возможно даже больше. Делаю не для себя, некий пользователь по мере неких требований будет заполнять и корректировать данные, которые постепенно станут достаточно большими.ARV писал(а):Z_h_e, вы хотите в тексте исходника набить 200 килобайт бинарных данных в виде массива, чтобы потом компилятор сформировал вам некий hex для заливки в отдельную микросхему EEPROM - я верно уловил суть ваших пожеланий?
То что есть, константы и макросы, не лучшим образом, но значительно упрощают это дело.ARV писал(а):Ни Си, ни препроцессор Си не предоставляет каких-либо удобных средств, чтобы как-то автоматизировать процесс
В жизни так случается, что приходится работать руками. Что то посдказывает мне, что на те же AVR даташиты содержать значительный объем информации набитый руками и что-то никто по этому поводу не переживает. Да тут можно много примеров привести.ARV писал(а):вы на самом деле решили набивать это руками в IDE?
Разговор очень часто уходит в сторону от заданного вопроса. Когда из праздного любопытства, когда то благадаря троллям, а когда-то ради желания уточнить для чего и предложить лучшее решение.
Я представляю в голове другие пути решиния данной задачи. Но тут меня интересует именно тот вопрос, что задал.
Возможно существует метод снятия ограничения по объему кода, рад был бы его услышать, хотя может он оказаться таким извращенным что не стоит и пробовать. Ну а если его нет или просто никто не знает - ну нет так нет.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: AVR studio в вопросах и ответах
можете считать меня хоть троллем, хоть эльфом, хоть гномомZ_h_e писал(а):Разговор очень часто уходит в сторону от заданного вопроса. Когда из праздного любопытства, когда то благадаря троллям, а когда-то ради желания уточнить для чего и предложить лучшее решение.
по-вашему эта задача решается так: берется утилита, конвертирующая текст в бинарный формат, в makefile пишется правило ее запуска в ответ на расширение файла .txt, файл включается в проект и далее по тексту - при помощи редактора IDE файл создается, при помощи makefile собирается проект. но, имхо, это натягивание жабы на глобус - эстество какое-то
на вашем месте я бы не тратил время на поиски способа оптимизировать неправильное решение
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
