Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Mega324P - не шьет больше 16400 байт
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
alux
Впервые столкнулся с такой проблемой. Отлаженную программу для Меги32L решил перенести на Mega324P. Код портировал безо всяких проблем. Программа заняла около 17,6кБ. При попытке прошить avreal-ом выдает сообщение:"Cant fit xxx.hex in CODE memory". Я уж хотел предъявить претензии avreal-у, тогда решил попробовать уменьшить код. Выяснилось, что 16323 байт шьет без проблем, а 164007 уже фиг. Вернее, "Can't fit"... В чем дело?
PS. lock-биты незапрграммированы.

PS2. Может все-таки дело в программаторе?
Den64
А так со всеми Mega324P? Или с одной?
ReAl
"Даблинвсёникакне"

Там примитивная ошибка, в таблицах, описывающих контроллеры, для меги 324 и 644 указаны размеры флеша в 16К.
Давным-давно уже найдено и пофиксено, но то одно, то другое, то после смены компа до сих пор freeBSD не поставил, не могу для неё скомпилировать, набралось других изменений, их описать надо... - вот и не выложил на сайт ещё.
В новогоднюю ночь займусь.
Давай в почту, вышлю пофикшенное.
defunct
Цитата(ReAl @ Dec 27 2007, 23:37) *
Там примитивная ошибка, в таблицах, описывающих контроллеры

Может табличку с описанием контроллеров в текстовик можно вынести? Для таких примитивных случаев было бы самое то! Появился новый контроллер - поправить текстовик без перекомпиляции программы и пользователь сможет, имея ДШ (ну и какие-то значения по-умолчанию можно оставить вшитыми для совместимости, чтобы программа и без текстовика могла работать)...

Если идея покажется вам достойной рассмотрения, то ниже привожу мой вариант описания МК (правда для gui'шной оболочки):
CODE

[ATMega128]
CORE=AVR-MT
VENDOR_ID=30
SIGNATURE_LENGTH=3
SIGNATURE_FULL=02971E
FLASH_MEMORY_SIZE=131072
FLASH_MEMORY_PAGE_SIZE=256
EEPROM_SIZE=4096
LOW_FUSE_ENABLED=1
LOW_FUSE_TYPICAL_VALUE=225
LOW_FUSE_LAST_VALUE=225
LOW_FUSE_BIT_EN_MASK=255
LOW_FUSE_BIT7_NAME=BODLEVEL
LOW_FUSE_BIT6_NAME=BODEN
LOW_FUSE_BIT5_NAME=SUT1
LOW_FUSE_BIT4_NAME=SUT0
LOW_FUSE_BIT3_NAME=CKSEL3
LOW_FUSE_BIT2_NAME=CKSEL2
LOW_FUSE_BIT1_NAME=CKSEL1
LOW_FUSE_BIT0_NAME=CKSEL0
HIGH_FUSE_ENABLED=1
HIGH_FUSE_TYPICAL_VALUE=153
HIGH_FUSE_LAST_VALUE=153
HIGH_FUSE_BIT_EN_MASK=255
HIGH_FUSE_BIT7_NAME=OCDEN
HIGH_FUSE_BIT6_NAME=JTAGEN
HIGH_FUSE_BIT5_NAME=SPIEN
HIGH_FUSE_BIT4_NAME=CKOPT
HIGH_FUSE_BIT3_NAME=EESAVE
HIGH_FUSE_BIT2_NAME=BOOTSZ1
HIGH_FUSE_BIT1_NAME=BOOTSZ0
HIGH_FUSE_BIT0_NAME=BOOTRST
EXT_FUSE_ENABLED=1
Ext_FUSE_TYPICAL_VALUE=253
Ext_FUSE_LAST_VALUE=253
Ext_FUSE_BIT_EN_MASK=3
Ext_FUSE_BIT7_NAME=
Ext_FUSE_BIT6_NAME=
Ext_FUSE_BIT5_NAME=
Ext_FUSE_BIT4_NAME=
Ext_FUSE_BIT3_NAME=
Ext_FUSE_BIT2_NAME=
Ext_FUSE_BIT1_NAME=M103C
Ext_FUSE_BIT0_NAME=WDTON
LOCKS_AMOUNT=0
LOCK_BITS_TYPICAL_VALUE=255
LOCK_BITS_LAST_VALUE=255
LOCK_BITS_EN_MASK=63
LOCK_BIT7_NAME=-
LOCK_BIT6_NAME=-
LOCK_BIT5_NAME=BLB12
LOCK_BIT4_NAME=BLB11
LOCK_BIT3_NAME=BLB02
LOCK_BIT2_NAME=BLB01
LOCK_BIT1_NAME=LB2
LOCK_BIT0_NAME=LB1
ReAl
Цитата(alux @ Dec 28 2007, 09:01) *
Вчера написал Вам письмо.
Вчера вечером смотрел, не видел, а оно спам-фильтром просто отсеялось.
Выслал только что.


Цитата(defunct @ Dec 28 2007, 00:39) *
Может табличку с описанием контроллеров в текстовик можно вынести?
...
Если идея покажется вам достойной рассмотрения, то ниже привожу мой вариант описания МК (правда для gui'шной оболочки)

Ну, если уж это вообще делать - то просто подтягивать xml-ный файл от студии, анализировать только интересующие поля и таким образом давать возможность быстренько склепать небольшой файл с только нужными тегами.
Только это сейчас при моём состоянии напоминает анекдот про встречный план или сказку - "да чего там я по ведёрку бегать буду, сейчас весь колодей выкопаю и принесу".
Хотя на самом деле что одно, что другое - разница в объёме работы небольшая. Просто как-то... См. первую строку моего первого поста в этой теме.
alux
Спасибо, Саша. А то я уже начал поглядывать в сторону avrdude. wink.gif Уж сильно привык к avreal-у. По поводу ATmega324P. В даташите не правильно указаны Application Flash Section для BootSize 512 и 1024 байт. Хотя EndApplicationSection правильно. И почему-то в iom324p.h названия битов SPI дополнены 0. Хотя в ДШ имена как обычно. Может в будущем планируется иметь несколько SPI-интерфейсов на борту biggrin.gif
Сергей Борщ
Цитата(ReAl @ Dec 27 2007, 22:37) *
В новогоднюю ночь займусь.
Не знаю как остальные, но я готов прождать еще пару месяцев, чем жить с сознанием того, что ReAl в новогоднюю ночь вместо "поднять бокал и укреплять семью" байты двигал beer.gif
SasaVitebsk
Я в ближайшее время, на добровольных началах сделаю проект - оцените. На тему что defunct предлагал. Тоже в своё время продумывал подобное, да всё руки не доходят. Сейчас потиху занялся. Естественно будет открытый. На первом этапе сделаю его надстройкой. Ну а на втором этапе возможно будет и интегрировать.
zltigo
Цитата(SasaVitebsk @ Dec 30 2007, 18:55) *
..сделаю проект - оцените.

Чем будет отличаться от avrdude?
SasaVitebsk
Цитата(zltigo @ Dec 30 2007, 21:07) *
Чем будет отличаться от avrdude?

avrdude мне не понравился. Не понравилось невозможность fuse битов именовать. Я реалом пользуюсь и он меня устраивает на 99%. Но привычка к оболочке. smile.gif

Есть свой программатор высоковольтный. Но делал я его ещё на заре появления... Толком его не продумал. Вот и получилось, что каждую новую микруху необходимо было добавлять по живому. smile.gif Когда-то это было оправдано. Теперь, с появлением семейств, необходимо делать программатор так, чтобы новую микросхему мог бы добавить любой смертный описав её в текстовом файле. Я продумал такой программатор, но в последнее время объём работы значительно возрос и пока руки не доходят. И не знаю дойдут ли.

Я сейчас что-то типа оболочки делаю. Постараюсь сделать её так, чтобы можно было бы любой программатор подключить. В том числе и avrdude.
zltigo
Цитата(SasaVitebsk @ Dec 30 2007, 19:19) *
Не понравилось невозможность fuse битов именовать.

Дык, дописать....
Цитата
Я сейчас что-то типа оболочки делаю.

Я правда оболочками не пользовался и не буду, если будет возможно, но оболочек для avrdude попадалось на горизонте не одна и даже не две...
SasaVitebsk
Цитата(zltigo @ Dec 30 2007, 21:42) *
Дык, дописать....

Я правда оболочками не пользовался и не буду, если будет возможно, но оболочек для avrdude попадалось на горизонте не одна и даже не две...
Дык, дописать....

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

Открытых - не встречал. А закрытые - не поддерживаются. Но я хочу просто на два этапа разбить. 1 - оболочка, с возможностью текстового описания микрухи, 2 - с этого же описания (плюс дополнительное текстовое) - сразу программатор.

В принципе я же не навязываю. smile.gif Опыт показывает, что редко одно и то же всех устраивает. Я для себя это делаю. Просто за него не держусь и если кому-нибудь ещё понравится, то хорошо. Ну а если нет, то нет.
bodja74
Цитата(SasaVitebsk @ Dec 30 2007, 21:47) *
В принципе я же не навязываю. smile.gif Опыт показывает, что редко одно и то же всех устраивает. Я для себя это делаю. Просто за него не держусь и если кому-нибудь ещё понравится, то хорошо. Ну а если нет, то нет.

Я поддерживаю smile.gif
Хотя ,если честно, этих прогеров для АВР уже немеряно,я себе движок ,если помниш, для бутов делал ,и хорошо что сделал ,сейчас появилась необходимость другие новые камни заюзать ,буду его перешлифовывать.
Короче я отвлекся ,вот я о чем,вчера подключил скриптовую поддержку ,теперь можно обращатся к функциям проги и свойствам обьектов из скриптового файла,тоесть практически можно как угодно управлять прогой.
Так что весьма рекомендую ,мне понравилось smile.gif
zltigo
Цитата(SasaVitebsk @ Dec 30 2007, 19:47) *
Открытых - не встречал.

Заинтересовался. Первые попавшиеся открытые на первой странице поиска google:
http://sourceforge.net/projects/avrdude-gui/
http://cupacup.wordpress.com/projekti/avrdude-gui/
http://code.google.com/p/avrdude-gui-net/source

Может помогут, или на мысль какую наведут...
SasaVitebsk
Цитата(zltigo @ Dec 30 2007, 22:34) *
Заинтересовался. Первые попавшиеся открытые на первой странице поиска google:
Может помогут, или на мысль какую наведут...


Вы правы. Я не совсем корректно выразился. Попробую более чётко сформулировать что я хочу. Ещё раз отмечаю, что я хочу сделать это для себя. Идею очень давно вынашивал. Даже некоторые документы прописал. Сделал и аппаратную часть. Сделал частично программную, но, как часто бывает у меня - не совсем остался доволен. Хочу ещё раз с нуля попробовать.

В оптимале я хотел бы следующего:
Законченный программатор (пусть с закрытым кодом это не важно) реализованный таким образом, что добавление новой микросхемы в список программирования не требует перекомпиляции программы, а требует только внесение некоторого текста в различные INI файлы. Причём, в оптимале, это касается не только одного семейства, но и, к примеру, совершенно нового МК.

Ряд программаторов имеют необходимое для этого железо. Но во-первых стоят много денег, а во-вторых не заинтересованы в таком подходе. А применяют тактику доплат за апдейт.

Конечно, сейчас проблемы с программированием тех или иных устройств практически отсутствуют. Это не является очень важным. Но так, на всякий случай, чтобы совершенно ни от кого не зависеть. smile.gif
zltigo
Цитата(SasaVitebsk @ Dec 30 2007, 21:58) *
В оптимале я хотел бы следующего:

Тогда для общего развития: http://www.triton-prog.ru/algor.html
SasaVitebsk
+1
Полностью подходит. smile.gif И таких кстати достаточно много, только делают скорее всего что-то типа закрытого компилятора ресурсов, чтобы нельзя было самому добавлять микрухи. smile.gif

И цена, в принципе щадящая.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.