LINUX.ORG.RU

Arduino или голый AVR?

 , , , ,


0

1

Сабж. Хочу начать программировать под AVR, сейчас как начинающему нравится наличие диалекта Basic (в асме пока совсем плох, а без видимого результата быстро наскучивает что-либо)

У меня из железа только ноутбук с тремя USB (E130), так что голый AVR придётся для начала прошить бутлоадером - манов достаточно, собрать монтажик в состоянии. Но не лучше ли взять пока Arduino? Из видимых плюсов чистота и опрятность конструкции, а цена оправдана экономией времени на мытарства с бутлоадером

Также интересно мнение работающих по этому направлению людей: что перспективнее и даёт больше хлеба/выбора вакансии - ARM или AVR? cast mv

И ещё есть такой момент, что в след. семестре в ВУЗе будет программирование AVR для использования в отрасли неразрушающего контроля

Linux притом, что инструментарий будет использоваться только нативно работающий под ним



Последнее исправление: megaplaks (всего исправлений: 5)

Кошмар. Пиши под посикс на своём ноуте, для коммуникации используй файловые дескрипторы. Потом всё это дело компилишь на расб-пай, там открываешь /dev/i2c или /dev/spi какой-нибудь и... profit!

nanoolinux ★★★★
()

Лучше сразу на STM переходи: STM8 стоят копейки, а STM32 имеют уйму возможностей.

нравится наличие диалекта Basic

OMG!

в асме пока совсем плох

Ассемблер не нужен: все делается на сях.

ноутбук с тремя USB

А STM32 умеет USB, ну или можно шить при помощи st-link.

Anon
()
Ответ на: комментарий от dvrts

Это всё понятно. Но покажите пункт в правилах

megaplaks
() автор топика
Ответ на: комментарий от megaplaks

что у них с использованием в промышленности?

Все превосходно.

Anon
()

для использования в отрасли неразрушающего контроля

Лучше бы плис учили или сигнальные процессоры. В неразрушающем контроле столько классных задач по цифровой обработке сигналов (одна томография чего стоит, или ультразвуковая дефектоскопия), а AVR там чисто лампочками помигать.

prischeyadro ★★★☆☆
()

Начинай с AVRки голой, на чистом С. Этого достаточно чтобы понять как оно работает, и уже выбирать контроллер для проекта по фичам, а не по наличию дурины.

ncrmnt ★★★★★
()
Ответ на: комментарий от Anon

Ассемблер не нужен: все делается на сях.

Ассемблер нужен как минимум для того, чтобы сделать начальную загрузку и вообще полезно его знать когда ковыряешься глубоко в низкоуровневом коде, когда у тебя даже ещё RAM нет(камушки и такие бывают) и SDRAM контроллер надо инициализировать. Хорошо если на камне есть sdram, а если нет(RT5350 к примеру, трэш и угар арматурной содомии)?

Вот писать на ассемблере надо только тогда когда оно надо и не раньше.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

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

Anon
()
Ответ на: комментарий от Dark_SavanT

Про девборду я молчу, оно весьма типичное, разве что пины подписаны через одно место. А вот среда/библиотеки их - зло.

ncrmnt ★★★★★
()
Ответ на: комментарий от Anon

Не всегда есть готовый шаблон. А зачастую готовый шаблон написан так, что в нём аще нихрена не понятно. А потом возникает ситуация когда готовый шаблон работает неправильно и это надо чинить. Так что знание асма и умение на нём писать нужно.

Ну и я говорил что есть камни вообще без RAM, только регистры и возможно огрызок стека. Там как ни изгаляйся всё равно нужен асм. А уж с чем тебе придётся столкнуться как показывает практика непредсказуемо. Вот не думал я никогда что мне придётся писать(хоть и чутка совсем) на асме под три разных процессорных архитектуры

Dark_SavanT ★★★★★
()
Ответ на: комментарий от ncrmnt

Чистый Си перевариваю без отторжений, да

Ардуина меня интересует отсутствием телодвижений для начала работы, в этом плане много выиграю?

megaplaks
() автор топика
Ответ на: комментарий от ncrmnt

Если надо из говна и палок слабать - почему бы и нет? Мне вот понадобилось шим на пине гонять с определённой частотой - взял готовый пример, чуть поправил и залил. Писать по честному на си меня заломало.

Если же надо что-то более толковое, то да, avr-gcc во все поля.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от megaplaks

не очень. Только возможность без дополнительных телодвижений закидывать прошивку на контроллер.

Собсно из адруины вполне можно сколхозить программатор для аврок

Dark_SavanT ★★★★★
()
Ответ на: комментарий от megaplaks

Ну тогда кури даташит и запасайся светодиодами с резюками на 220 Ом (демонический смех, хахаха)

Если у тебя с асмом и понятиями об архитектуре совсем бида, я бы тебе рекомедновал найти какую-нибудь советсвкую книжку их 80х про кр580ик80а и внимательно почитать про проц. Потом уже беризь за даташит к атмеге. Так проще будет во всё разобраться.

nanoolinux ★★★★
()
Ответ на: комментарий от nanoolinux

найти какую-нибудь советсвкую книжку их 80х про кр580ик80а и внимательно почитать про проц. Потом уже беризь за даташит к атмеге. Так проще будет во всё разобраться

Спасибо, посмотрю

megaplaks
() автор топика
Ответ на: комментарий от Dark_SavanT

О, настрадавшийся :)

Хочу узнать: если писал на асме под какую-то архитектуру, то при переходе на другую, не учитывая AT&T/Intel, RISC/CISC, endianness, наличие RAM etc, достаточно вкурить в поддерживаемые инструкции, или кардинально меняется логика? Иными словами: универсальны ли знания асма?

megaplaks
() автор топика
Ответ на: комментарий от megaplaks

Не особо. Что-то сложнее хеллоуворлда будет геморрой, среда вообще никакая. Я для своих нужд сделал вот это, и большую часть даже мелких проектов на этой туле лабаю, но для начинающего будет сложновато.

ncrmnt ★★★★★
()
Ответ на: комментарий от megaplaks

С++. на 8битке. Абстракции там, где они объективно не нужны. То же GPIO, через их digitalWrite() в ~800 раз медленнее. Да и мне как-то привычнее написать PORTD|=1<<3, нежели юзать это.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

С С++ ситуация такая, что код пухнет как на дрожжах, и не совсем понятно ради чего, так как каких либо чисто плюсовых фичей они не используют вообще. Да и тех же эксепшнов на С++ под avr нет.

ncrmnt ★★★★★
()

Только Сишечка, только хардкор.

drSchur ★★★
()
Ответ на: комментарий от megaplaks

На счет STM32 - очень много где используют в промышленности.

RiseOfDeath ★★★★
()

Перспективней FPGA. А всяких разных МК эмбедщик должен много знать. По-крайней мере, все популярные.

mv ★★★★★
()
Ответ на: комментарий от megaplaks

Понимание того как писать на асме универсально, если ты не полезешь в vliw, там сложнее.

Разница будет в том, что надо будет вкурить архитектуру камня, иначе могут возникать непонятки. Для примера - delay slot на мипсах. Когда увидел в первый раз - чуть со стула не упал, потом ничего, привык.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от mv

Если понять основное, то по барабану что за мк. Хоть STC от китайцев.

ncrmnt ★★★★★
()
Ответ на: комментарий от dvrts

да никак не отношусь - совершенно параллельно.
да и офтоп это, господа.

megabaks ★★★★
()

что перспективнее и даёт больше хлеба/выбора вакансии - ARM или AVR?

ARM. Начиная от копеечных микроконтроллеров и заканчивая 8-ядерными процами планшетов/смартфонов.

А сейчас они еще и в сервера полезли.

dvl36
()

да ну в жопу эти бутлоадеры. На программатор выдели немного денег и не парься с ним вообще. Или напиши свой ))

НЕ советую начинать с 8051 — возненавидишь микроконтроллеры всей душой.

demidrol ★★★★★
()
Ответ на: комментарий от demidrol

а что не так? в универе нам преподавали программирование на 8051 - ничего особливо страшного не заметил, наоборот, простой и понятный ассемблер

TERRANZ ★★★★
()
Ответ на: комментарий от TERRANZ

намучился я в свое время в si1000. Ни на одном другом камне не было такого, что добавляешь байт в прошивку — и все разваливается.

Опять же — через ж сделанная адресация памяти (с несколькими моделями), кроссбар, который новичку напрочь сносит мозг...

demidrol ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.