http://wiki.seeed.cc/LinkIt_Smart_7688_Duo/Упарываюсь очередной порцией эмбеда. На сей раз - плод противоестественного греха ардуины (atmega32u4) и openwrt (MT7688).
В документации рекомендуют программировать из Arduino IDE, который я не очень люблю, поэтому пошел пока стандартным путем - выкусил из WinAVR avr-gcc под винду и запускаю его из под mingw, чтобы было posix-окружение. Можно было бы включить комп с линуксом и подключится к нему - но это вставать из кресла надо и лень.
В атмегу прошит CDC-бутлоадер:
https://github.com/MediaTek-Labs/linkit-smart-7688-duo-arduino/tree/master/mtk/avr/bootloaders/caterina но для него нужны драйвера на винду, которые на 8 не поставить без перезагрузки - ибо не подписаны. А на линукс идти - см. выше, лень. А на самом деле, у меня с собой тут ISP программатора нету, поэтому я опасаюсь запороть бутлоадер :)
В итоге, в процессе изучения бутлоадеров и программаторов, выяснил что SPI пины атмеги, через которые можно ее программировать - подключены к MT7688, на котором установлен avrdude, умеющий SPI-программирование через gpio. Соответственно, чтобы программировать атмегу - ничего кроме текстового редактора, avr-gcc и ssh коннекта на linkit не нужно:
root@mylinkit:~# avrdude -p m32u4 -c linuxgpio ...
И еще все это совместимо с Arduino Yun, который в свою очередь порожден из linino:
http://www.linino.org/portfolio/yun/