Сборка прошивок
- Войдите на сайт для отправки комментариев
Здравствуйте.
Есть устройство с прошивкой, прошивка открытая. Но прошивка прилизана настолько что при компиляции не тем что описано (gcc-avr (4.8.1), avr-libc (1.8.0), binutils-avr (2.24) (Debian 8.2)) не лезет в камень. Есть желание подобрать компилятор для форточки, который позволит впихнуть прошивку в камень. Хотел попробовать Atmel Studio 7, но требует регистрацию на сайте и письмо на подтверждение не приходит. Может посоветуете чего? Мне нужно немного изменить прошивку (значения в условиях).
Устройство: http://www.ab-log.ru/smart-house/ethernet/megad-328
Прошивка 3.40: http://www.ab-log.ru/page.php?Cat=110&ID=161&q=winavr
Также буду рад если подскажите как можно уменьшить разрядность на портах ADC6 & ADC7 на Atmega328p. Нужно для ускорения преобразования (в идеале лог. 0 и 1).
Заранее спасибо за ответы.
avrdude -p atmega328p -c usbasp -U flash:w:test.hex
Скачать hex
Вы предлагаете готовый hex, вы экстрасенс и угадали что мне надо было исправить в коде? Если полазите по сайту, то увидите что обновление прошивки идет по сети без программатора.
Если что не обижайтесь, я не издеваюсь. Просто я спрашиваю одно, а вы говорите другое. Как залить прошивку я знаю, поиском пользоваться умею.
Если код не влезает, то оптимищируй его или пиши на асме.
Код влезает, но у автора прошивки. У меня пока не получается скомпилировать так чтобы влезло. Поэтому и спрашиваю каким компилятором можно еще попробовать собрать прошивку.
Код влезает, но у автора прошивки. У меня пока не получается скомпилировать так чтобы влезло. Поэтому и спрашиваю каким компилятором можно еще попробовать собрать прошивку.
какого размера у тебя получается хекс и чем ты собираешь?
avr-gcc - 4.8.2, avr-libc - 1.8.0, binutils-avr - 2.23.1, kubuntu trusty
Сборка идет через make, вывод:
К сожалению не могу понять где размер прошивки (есть подозрение что 30776 байт). Там в камне еще загрузчик висит для обновления по сети, сколько он весит не знаю.
К сожалению не могу понять где размер прошивки (есть подозрение что 30776 байт). Там в камне еще загрузчик висит для обновления по сети, сколько он весит не знаю.
т.е.
ты прошивать не пробовал?
считать фьюзы с камня, что бы узнать, сколько выделено под загрузочную область не пробовал?
но, уже сомневаешься.
*по любому должно влезть - в крайнем случае можно отрубить загрузчик и получить честные 32 кб флеша.
**кстати, а что за нафик в Makefile?
Сейчас попробовал компилятор что идет с дуино иде, вывод:
Прошивать пробовал, прошивальщик орет что прошивка слишком большая, насколько не уточняет.
Ага, проект у него начинался с того камня.
Вечером попробую прошить полученную прошивку и попробую повторить систему автора если не получится.
Чтобы размер показывался в "человеческом" виде нужно указать ключ для avr-size: --format=avr. Найти в Makefile правило для вывода размера (SIZE, ELFSIZE, ...) и добавить или изменить значение опции --format.
Прошивать пробовал, прошивальщик орет что прошивка слишком большая, насколько не уточняет.
странно это всё - должно воткнуться, если только под загрузчик 2 кб не откушено.
отрубай загрузчик у камня или рой исходники, что там лишнего и что можно отключить - явно у автора не весь фарш юзается.
Поместилось. 1.6.0 кстати сделал меньший хекс чем 1.6.5. Так что все решаемо.
Осталось узнать как понизить разрядность АЦП (вот такой вот казус - обычно повышают разрядность, а мне надо ускорить обработку и надо знать всего лишь L или H на входе).
nevkon, зачем вам АЦП если нужен 0 или 1? Подключайтесь компаратором к этим пинам (А6 ,А7) , нужно настроить сранение с ареф, и читайте нужный вход. Больше 1 вольта на нём или меньше.
Это я так понимаю код изменится? Можно пример кода?
nevkon,
Спасибо, буду пробовать.