LINUX.ORG.RU

AVR + STM = ♥?

 ,


1

2

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

Небольшая предыстория, если кому-то интересно, в общем, решил наконец взяться за голову и думать что я буду делать после института (да-да, во втором семестре третьего курса), да и еще чтоб деньги за это получать, и положил глаз на программирование микроконтроллеров, где некоторый опыт у меня уже имеется. Посмотрел на hh то, что мне нужно было там есть и в некоторых вакансиях даже требовали диплом по моей специальности (радиотехник), то что я там видел было в основном про stm и pic. Зарядившись мотивацией, я открыл свои закладки в браузере со множеством мануалов, достал свой чемодан с рассыпухой и начал потихоньку изучать как использовать atmega8a, которую я купил года два назад, и что с ней можно делать. Вообще у меня есть и stm32f103, но я ни разу не прогал для стм, а еще она у меня только одна, еще и с алика долго ждать, в отличие от трех мег, которые и дешевле и спалить одну не так страшно. А еще я поглядел код для стм32 какой-то пугающий с его бесконечными GPIO_*

В общем, у меня вопрос к местной публике, среди которых есть много программистов под микроконтроллеры и встройку: нормальная идея сначала изучить best practices для микроконтроллеров и интерфейсы на avr (в моем случае atmega8), а потом просто перейти на стм?

Мотивация сначала писать avr у меня есть потому что, субъективно, avr легче в изучении, соответственно я больше могу сфокусироваться (надеюсь) на изучаемом интерфейсе, а еще я не нашел как мне можно тестировать код под stm32 без железки (буду рад ссылкам на гайды), как можно c тем же simavr или с верилогом через icarus verilog.

Ответ на: комментарий от snake266

Не нужен тебе дискавери! Есть minimum development board, я года три назад за 200р на али покупал платку с F030. С F042 или F072 подороже было, но там можно и перепаять (особенно если в LQFP48 - просто любой дешевый «синий таблэтк» взять, да вместо GD32 туда впаять STM32F072, сам так делал).

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

Ну на discovery board есть уже родной st-link и jtag, а вот у этой штуки этого нет, ну и чем это отличается от моей blue pill с f103, разве что это f1. Или с внешним китайским свистком st-link (он у меня есть) тоже можно получить jtag? Если честно меня подкупает именно jtag, но я еще подумаю.

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

Ну так купи себе за пару сотен! Какой же ты разработчик, если у тебя нет USB-USART и st-link?

А жопотаг нафиг не нужен.

Кстати, STM32F0x2 можно вообще напрямую по USB через DFU прошить, а 072 даже позволяет сделать программный переход в DFU, чем я и пользуюсь в своих железках.

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

st-link (v2) у меня есть, а вот usb-uart я всегда не спешил покупать, потому что думал:«а зачем он мне?». Сейчас наверно стоит взять, как минимум, для того чтобы знать как с этим работать.

А жопотаг нафиг не нужен.

А как тогда дебажить?

Кстати, STM32F0x2 можно вообще напрямую по USB через DFU прошить, а 072 даже позволяет сделать программный переход в DFU, чем я и пользуюсь в своих железках.

Не знаю что такое DFU, но я почитаю про это.

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

А как тогда дебажить?

Я вот так и не осилил gdb, поэтому дебажу через UART контрольными сообщениями, либо ногодрыгом через осциллограф.

почитаю

Почитай. Очень удобно, если у тебя на МК все ноги заняты и лишь USB доступен для заливки прошивки. У меня такое бывало.

anonymous
()
Ответ на: комментарий от snake266

Просто для ознакомления.
В отделении есть два глюкометра: старый на avr и новый на stm32. Зима, низкая влажность, статика и все «бьется током». Глюкометр на стм периодически глючит (сестры категорически отказываются с ним работать), авр - «ни единого разрыва». Летом оба работают без нареканий.

не думая о конфигурации камня, а только о прикладной задаче

Не получится. Без ардуины/куба все равно придется вникать во взаимосвязь регистров.

gcc-avr

Гадость какая! Ты его выхлоп видел? Все эти бесконечные push-push-pus, pop-pop-pop. Использовать avr без ассемблера - еще то извращение (с ассемблером, впрочем, тоже).

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

Так может проблема в схемотехнике глюкометра с stm?

А про gcc-avr, ну что поделать, выбирать особо не приходится, а писать прошивку на ассемблере, если честно, влом — пока я не вижу для себя профит в этом (но то, что в этом ассемблере, как минимум, надо разбираться я понимаю).

Ещё, насколько я знаю, clang умеет в avr, можно посмотреть что он выдаёт.

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

У STM32 на самом деле хуже помехозащищенность, чем у 8-битной аврки. Но если разработчик - не рукожопый осел, никакой разницы конечный пользователь не заметит. И глючить оно не будет.

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

Телефон любой вскрой. Там ваши arm все под экранами

anonymous
()
Ответ на: комментарий от Assembler

обойдусь и без ОС, и без программаторов, и без компиляторов.

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

Т.н. программирующие программы – неплохо, но совсем не обязательно.

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

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

Хочешь программировать? Программируй, а не набирай тексты в текстовых редакторах.

можете написать пожалуйста подробно.

Хочешь программировать? Программируй, а не набирай тексты в текстовых редакторах.

да!

что я должен делать?

не набирай тексты в текстовых редакторах.

тогда в чем? я просто хочу сравнить то что понимаю я с тем как понимаете программирование вы. объясните пожалуйста что для вас значит программировать. и как это нужно делать

Assembler
()
Ответ на: комментарий от anonymous

Жаль что купил stm32H7 а ни че не работает. вот им бы помегать. а так лезть опять не известно куда. щас купишь а потом выясниться что для программирования этого МК нужна виндовс и куб.

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

Да сколько ж тебе уже раз говорили: ОСИЛЬ СНАЧАЛА F0!!! Ну куда ж тебя заносит-то постоянно?

Ты хотя бы для начала сделай сам USB CDC и USB HID.

anonymous
()
Ответ на: комментарий от Assembler

Кстати, почем купил-то девборду? Надеюсь, рублей пятьсот? А то вообще непонятно: на кой черт тебе такое дорогущее УГ понадобилось, когда есть Orange Pi zero за тысячу рублей и т.п. одноплатники…

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

есть Orange Pi

это большая разница. да и были уже темы где я просил объяснить с чего начать, как зажечь светодиод на bare metal на orange pi. но потом выяснилось что я вдруг тролль и помогать мне не нужно. потом были какие-то пруфы что я еще в добавок и не обучаем. короче как всегда обвинили меня и разбежались. хорошо что в этот раз хоть не забанили.

Assembler
()
Ответ на: комментарий от anonymous

ОСИЛЬ СНАЧАЛА F0

ну это как нучись сначала ездить на велосипеде а потом иди учиться водить автомобиль. лучше уж учиться сразу на том что еще будет актуально лет через 5. потому что научиться этому сразу непросто, нужно время.

Assembler
()
Ответ на: комментарий от vM

Колода пефокарт или файл ELF на флешке – для ЭВМ ещё не программа.

Схера ли? https://ru.wiktionary.org/wiki/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0

программа

план действия, деятельности, работы

последовательность формализованных инструкций, предназначенная для исполнения

И тут речь явно не про инструкции из набора цпу.

А в твоём понимании как? Программа становится программой только после нулевого кода возврата без сегфолтов и SIGILL? Или как? После загрузки в память? А что, если у нас гарвардская архитектура и цпу исполняет код прямиком из ELF-а на флешке? Требую разъяснения.

Мне кажется, что привилегию решать что является программой, а что нет, имеет только автор. Ну ведь так?

anonymous
()
Ответ на: комментарий от Assembler

Ну так ты не на машину, а сразу на боинг нацелился!

anonymous
()
Ответ на: комментарий от snake266

Да, а еще после gcc-avr (я, если честно, был удивлен, что это только 5-ый gcc), свежий 11-ый gcc как глоток свежего воздуха.

добрый день/ночь. а поподробнее можно?

sunjob ★★★★
()

AVR для старта самое то.

Простая гарвардская RISC архитектура с предсказуемыми таймингами по всем операциям. Сможешь даже асм освоить.

А вообще - не рекомендую в имбед. Плотют тут мало, а мозгов надо много.

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