avr — НТЦ Метротек. Архив блога http://blog.metrotek.spb.ru заметки бывших разработчиков бывшего НТЦ Метротек Thu, 02 Oct 2025 13:52:15 +0000 ru-RU hourly 1 https://wordpress.org/?v=5.1.15 Использование внутрисхемного отладчика AVR http://blog.metrotek.spb.ru/2009/02/04/onchip-debugging/ Wed, 04 Feb 2009 15:44:24 +0000 http://blog.metrotek.spb.ru/?p=421 JTAGICE mkII В микроконтроллерах ATmega AVR, естественно, есть возможность внутрисхемной отладки по JTAG. Мы используем девайс под названием AVR JTAGICE mkII, подключённый по USB. Если по коду ошибку найти не удалось, то приходится отлаживать так же, как и обычную десктоп-программу. То есть, использовать дебаггер на «большом» компьютере, а программа будет выполняться в железке. Чтобы начать отладку, запускаем на хосте, в который воткнут JTAGICE, gdb-сервер командой avarice -j usb -2 :4343. Естественно, что в MCU должна быть предварительно залита отлаживаемая прошивка.

Затем запускаем DDD, ddd --debugger avr-gdb, после чего подключаемся к серверу, выполнив в консоли DDD команду target remote localhost:4343, открываем отлаживаемый файл в DDD. И, вуаля, можно пошагово выполнять программу прямо в железяке.

Те, кто не любит DDD, могут использовать avr-gdb и наслаждаться command-line интерфейсом.

]]>
The Contiki Operating System http://blog.metrotek.spb.ru/2009/01/29/the-contiki-operating-system/ http://blog.metrotek.spb.ru/2009/01/29/the-contiki-operating-system/#comments Thu, 29 Jan 2009 13:37:43 +0000 http://blog.metrotek.spb.ru/?p=356 В поисках open source тулзов для симуляции и отладки ATmega2560 наткнулся на The Contiki Operating System. Данная ОС имеет TCP/IP стек с поддержкой IPv6, трэды, флэш-ориентированную файловую систему, поддержку интерфейса пользователя, симуляторы и т.д. и т.п., её даже nmap узнаёт :) и пользует её очень много всякого индустриального народу. «Ест» она 2 килобайта RAM и 40 килобайт ROM’а и, как пишут, портирована на AVR’ы. Если бы была возможность выбирать между NutOS и ContikiOS то думаю у NutOS’а не было бы шансов. Если Contiki действительно умеет всё то, что расхвалено на сайте, то она значительно опережает NutOS.

Жаль что раньше не нашёл.

]]>
http://blog.metrotek.spb.ru/2009/01/29/the-contiki-operating-system/feed/ 3
Atmega2560 и avr-gcc http://blog.metrotek.spb.ru/2009/01/22/atmega2560-and-avr-gcc/ Thu, 22 Jan 2009 12:59:10 +0000 http://srv1.metrotek.spb.ru/wp/?p=236 В процессе работы столкнулись с такой проблемой, если присваивать указателю на функцию адрес, которой больше чем 128kbyte(64kword), то при компиляции выдается предупреждение: warning: internal error: out of range error, и при вызове функции по данному указателю происходит сбой. Это возникает из за того, что под указатели отводится 2 байта. Пока эту проблему решили переносом функций в младшие адреса, установливая атрибут __attribute__((section(«.lowtext»))). Может быть есть другие решения?

]]>