К любой из этих плат подойдет gcc toolchain arm-eabi. Из виндовой поставки только либы/примеры скопировать, и всё заведётся. Может и повозиться придётся (с настройкой проектов)… Так что возможно проще винду в виртуалке запустить :)
Но и около $16 можно найти ARM, причем с хорошей поддержкой. Весной покрутил LPC1769 LPCXpresso Board — за $20 ($27 с доставкой из Швеции). Причем эта штука с Ethernet'ом, хотя это и не афишируется — трансивер стоит, и контакты выведены, только magjack'а не хватает, чтоб сразу включать (но в принципе можно туда витую пару припаять и напрямую без развязки включать, если свич не очень жалко :)
Да я не спорю, не спорю, что для многих задач мощность не важна. Но тут в другом дело. Вот стоят рядом на базаре старый Запорожец и старая Нива. Запорожец 75го года выпуска, Нива 80го. Но обе тачки на ходу, как новенькие. Цена при этом одинаковая. Или Нива на 100 рублей дешевле. Вы какую машину возьмете («чтобы ехать»)?
И контакты, само-собой, выведены на всех отладочных платах. Только в ARM'ах их больше, и они работают в большем числе режимов и на большей скорости (при этом, повторюсь, дешевле ардуинки с сетью).
Нет, у меня даже круче :) Вам не нужен ни программатор, ни GCC. Благодаря прошитому софту вы можете прямо по сети его программировать — в командной строке телнета. Ну или по сети прошивать готовыми bin'ами, если хотите таки в GCC компилировать.
Программатор (точнее JTAG) может пригодится, конечно, для отладки (регистры посмотреть, дам памяти, по шагам пройтись, и т.д.), но, опять же, всё это можно и по сети сделать. Кроме случаев, если из-за программного бага сеть поломалась :)
NetDuino — это не Arduino, там нет программной совместимости, только аппаратная совместимость с частью шилдов. А с Ethernet'ом опять же выходит дороже, чем более мощные современные контроллеры. В NetDuino — такой же устаревший ARM7TDMI, как в LegoMindstorms. А я рекомендую контроллер ARM Cortex-M3.
Да, согласен, я тут недавно в соседнем комментарии о том же писал. Ценность Ардуинки — в готовом софте, в котором программировать может не-программист (ну как бухгалтер может при желании попрограммировать в Excel).
Но тогда можно брать LegoMindstorms — еще дороже, но еще в разы проще ;)
Ну, я не starterkit, еще ни разу «голые платы» не продавал. Свой вариант привел просто для доказательства, что ARM-платы с Ethernet'ом бывают дешевле 2000р (к тому, что не нужно потрошить dir-320).
А вообще да, могу сделать для ARM'ов библиотеки для «сервами покрутить», только мне надо тогда куда-то за сервами съездить, в нашей деревне их точно нет. А для Ethernet'а библиотеки у меня наработаны, не сложнее ардуиновых, могу в строенный флэш (на тех платах 256Кб) зашить перед отправкой. Там и в ПЗУ есть полезные API.
А жалко ардуинщиков потому что становится, читая такое. Так у них было оправдание «зато дешево». Но оно не дешево на самом деле — если сравнить даже с ARM. Дешева Ардуинка в сравнении разве что с тем же LegoMindstorms, но там-то цена в пластмассе, а не в железе :)
Только вот Ардуинка мало что (мягко говоря) может сделать с ENC28J60. Памяти у неё не хватит. В стандартном (дорогом) Ethernet-шильде все TCP/IP-возможности (на 4 коннекта :) сидят прямо в сетевом контроллере, поэтому через него Ардуинка все же может реально поработать с сетью чуть-чуть.
Ну значит мы только об отладочных платах и говорим — хоть ардуинка, хоть starterkit, хоть этот лилипад.
До меня дошло, чем Ардуинка более привлекательна любителям, чем ARM-платы. Хоть по возможностям она уступает ARM'ам по всем показателям, включая доступность по цене, но по простоте программирования — превосходит, благодаря этому спец.инструментарию. А для ARM-плат всегда поначалу приходится повозиться со всякими toolchain'ами, и наверное не все этот порог успешно проходят. Не говоря уж о том, как потом на Си программировать — либы профессиональных контроллеров (у некоторых они, кстати, прямо внутри контроллера зашиты в ROM) тоже далеки по простоте использования от ардуиновых скетчей.
«dir-320 плюс ардуинка на rs232-порту» все же дороже выходит, чем cortex-m3-платы с ethernet'ом. Если ардуинка серийного производства.
А если рассматривать самодельные (или наоборот тиражные) варианты, то и cortex-m3-платы с Ethernet'ом можно в «менее 2000р» легко уложить (если не верите, то кому надо — пишите, вышлю ARM-плату за 1900р, включая стоимость пересылки, могу даже в корпусе :-). А роботехнические возможности у cortex-контроллеров (по теме статьи) все же намного превышают оные у ардуинки.
Собственно все эти роботы/конструкторы — это и есть отладка. Если интересное изделие появляется, то его потом выпускают на платах 1х2см тысячными тиражами по 5 копеек (внутри китайских игрушек).
Нет, вот dir-320 уже на робота не поставишь, в карман не засунешь — размер не тот. Да и от USB/батарейки не запитаешь. Т.е. это уже сугубо стационарная штука — так, релюшками подергать, чтобы сервер перезагрузить… Но зачем на такую задачу аж Linux?
Да, от батарейки ардуинка дольше проживёт. Но что-то мало-мало народу используют батарейки. На большинсве демо-видео роботы тянут за собой питающий USB-шнурок :)
Кстати, ARM'ы нормально от батареек/аккумуляторов работают. У моих детей роботы из LegoMindstorms по часу-двум бегают по комнате, сверкают, палят и говорят. И это притом, что там довольно горячий старый ARM TDMI. А нынешние ARM Cortex-M3 поэкономичнее будут. Собственно батарейку жрут не процессоры, а моторы, imho.
Но и около $16 можно найти ARM, причем с хорошей поддержкой. Весной покрутил LPC1769 LPCXpresso Board — за $20 ($27 с доставкой из Швеции). Причем эта штука с Ethernet'ом, хотя это и не афишируется — трансивер стоит, и контакты выведены, только magjack'а не хватает, чтоб сразу включать (но в принципе можно туда витую пару припаять и напрямую без развязки включать, если свич не очень жалко :)
Программатор (точнее JTAG) может пригодится, конечно, для отладки (регистры посмотреть, дам памяти, по шагам пройтись, и т.д.), но, опять же, всё это можно и по сети сделать. Кроме случаев, если из-за программного бага сеть поломалась :)
Но тогда можно брать LegoMindstorms — еще дороже, но еще в разы проще ;)
А вообще да, могу сделать для ARM'ов библиотеки для «сервами покрутить», только мне надо тогда куда-то за сервами съездить, в нашей деревне их точно нет. А для Ethernet'а библиотеки у меня наработаны, не сложнее ардуиновых, могу в строенный флэш (на тех платах 256Кб) зашить перед отправкой. Там и в ПЗУ есть полезные API.
До меня дошло, чем Ардуинка более привлекательна любителям, чем ARM-платы. Хоть по возможностям она уступает ARM'ам по всем показателям, включая доступность по цене, но по простоте программирования — превосходит, благодаря этому спец.инструментарию. А для ARM-плат всегда поначалу приходится повозиться со всякими toolchain'ами, и наверное не все этот порог успешно проходят. Не говоря уж о том, как потом на Си программировать — либы профессиональных контроллеров (у некоторых они, кстати, прямо внутри контроллера зашиты в ROM) тоже далеки по простоте использования от ардуиновых скетчей.
А если рассматривать самодельные (или наоборот тиражные) варианты, то и cortex-m3-платы с Ethernet'ом можно в «менее 2000р» легко уложить (если не верите, то кому надо — пишите, вышлю ARM-плату за 1900р, включая стоимость пересылки, могу даже в корпусе :-). А роботехнические возможности у cortex-контроллеров (по теме статьи) все же намного превышают оные у ардуинки.
Собственно все эти роботы/конструкторы — это и есть отладка. Если интересное изделие появляется, то его потом выпускают на платах 1х2см тысячными тиражами по 5 копеек (внутри китайских игрушек).
Кстати, ARM'ы нормально от батареек/аккумуляторов работают. У моих детей роботы из LegoMindstorms по часу-двум бегают по комнате, сверкают, палят и говорят. И это притом, что там довольно горячий старый ARM TDMI. А нынешние ARM Cortex-M3 поэкономичнее будут. Собственно батарейку жрут не процессоры, а моторы, imho.
www.starterkit.ru/html/index.php?name=shop&op=view&id=62
ARM, в 20 раз быстрее ардуинки, в 100 раз больше памяти, Ethernet 100 — и всё это за 2500р — дешевле чем arduino+ethernet10.