STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
НовыйДень
Потрогал лапой паяльник
Сообщения: 362
Зарегистрирован: Вс апр 03, 2022 07:01:29

Re: STM32 новичку в ARM что к чему

Сообщение НовыйДень »

Я так понимаю, послать его в man'ы, как сделали на форумах, вы по каким-то причинам не можете.
А он деньги платит за эти мучения :))) Поэтому, "мыши плакали, кололись, но продолжали жрать кактус".
Эдди в этом обвинить нельзя.
Да я знаю этого Эдди уже тыщщу лет :))) Да, он знает, как работает микроконтроллер. Один. Вернее, одна линейка F0, остальное ему пофик. Впрочем, его право, он всегда был таким "особенным" с нетрадиционным подходом во всём, просто чисто для прикола.

Что касается IDE, то нормальная IDE, поскольку она Integrated Dveelopment Environment, должна иметь на борту весь инструментарий для работы, пусть она и будет тяжеловесной. Иначе это не IDE, а блокнот с компилятором.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

Поливать человека за глаза да за его же деньги... Как минимум, неприлично. Я вот сразу отказался и с головой порядок.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: STM32 новичку в ARM что к чему

Сообщение COKPOWEHEU »

Да, он знает, как работает микроконтроллер. Один.
Скорее, как работают микроконроллеры вообще.
Что касается IDE, то нормальная IDE, поскольку она Integrated Dveelopment Environment, должна иметь на борту весь инструментарий для работы, пусть она и будет тяжеловесной.
Угу, одна IDE для разработки для ПК, вторая для STM32, третья для каких-нибудь AVR, и у всех разные интерфейсы, подходы, хоткеи. И все занимают тонну места на диске.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 новичку в ARM что к чему

Сообщение Мурик »

COKPOWEHEU писал(а):одна IDE для разработки для ПК, вторая для STM32, третья для каких-нибудь AVR
В VisualStudio можно разрабатывать под все перечисленное и многое другое.
COKPOWEHEU писал(а):И все занимают тонну места на диске.
Диски на 4 ТБ не экзотика. Если из них 10 ГБ займут IDE даже не заметите существенного уменьшения свободного дискового пространства.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: STM32 новичку в ARM что к чему

Сообщение COKPOWEHEU »

В VisualStudio можно разрабатывать под все перечисленное и многое другое.
А в редакторе и консоли можно разрабатывать вообще под что угодно. Причем для всякой экзотики проблем оказывается меньше. Плюс гораздо проще делать всякие нестандартные фокусы вроде сборки на нескольких языках, подключений бинарников, различных секций. Хотя это, конечно, уже не начальный уровень.
Диски на 4 ТБ не экзотика. Если из них 10 ГБ займут IDE
У меня ВСЯ система 25 ГБ весит, включая практически все необходимые программы вроде компиляторов, офиса, САПР.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Eddy_Em »

[uquote="Мурик",url="/forum/viewtopic.php?p=4230731#p4230731"]Если из них 10 ГБ займут IDE[/uquote]
Я извиняюсь, но что же это за IDE такая, которая аж 10ГБ занимает? Она что, делает минет?
Вот, у меня, например:

Код: Выделить всё

df -h
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
/dev/root          1.8T         466G  1.4T           26% /
...

du -hs /home
414G	/home

du -hs /usr/portage/
20G	/usr/portage/
Т.е. на саму систему приходится 466-414-20=32ГБ! А это - и несколько IDE, и всякие там браузеры, либреофисы, TeXLive и т.д., и т.п.
А, я ж еще про ведра забыл, вот:

Код: Выделить всё

du -hs /usr/src
3.5G	/usr/src
Еще 3.5ГБ данных, не относящихся к системе.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

Ну, IAR, например, 8 Гб на диске занимает. Зато, смотри сколько всего у него "из коробки". Просто берёшь и работаешь. Без красноглазия и анально-оральных развлечений.
СпойлерИзображение
iar_support.png
(66.54 КБ) 85 скачиваний
Боюсь ты этого не переживёшь, Xilinx Vitis в минималке 128 Гб на диске занимает. Дистрибутив что-то ближе к 80 Гб. И что тут такого? Сейчас в любом ноуте для работы от 1 Тб SSD.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Eddy_Em »

Вот это и называется анальным огораживанием: когда юзеров настолько зондируют, что они добровольно всякое дерьмо используют в работе! Да еще и деньги за это дерьмо платят!
Тебе из этого "яра" процентов 90 вообще не нужно, так зачем диск засирать всякой ненужной дрянью? Компилируй только то, что тебе надо, и будет ОК. А, у тебя же так не получится из-за анального зонда!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: STM32 новичку в ARM что к чему

Сообщение COKPOWEHEU »

Xilinx Vitis в минималке 128 Гб на диске занимает. Дистрибутив что-то ближе к 80 Гб.
Ну и кому оно нужно такое жирное?
Можете объяснить на что весь этот объем тратится - какая часть IDE занимает столько места?
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

Eddy_Em, я за работу деньги получаю и не могу себе позволить, как ты, несчастный USB или новый контроллер по пол года вымучивать. Профессиональный инструмент позволяет делать работу быстро и качественно. Предпочитаю мучиться выбором куда потратить премию, а не выбором IDE.

А тебя что, греет мысль, что 90% твоего диска FF-ми занято и не используется?

А свои проекты я с помощью GCC и makefile могу и на твоей красноглазой собрать, прикинь.

Добавлено after 4 minutes 21 second:
[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4231011#p4231011"]Ну и кому оно нужно такое жирное?[/uquote]Разработчикам FPGA, вестимо.

[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4231011#p4231011"]Можете объяснить на что весь этот объем тратится - какая часть IDE занимает столько места?[/uquote]Не могу, пусть об этом авторы САПР думают. Мне это не надо. Мне главное, чтобы мои задачи выполняло.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 новичку в ARM что к чему

Сообщение Мурик »

COKPOWEHEU писал(а):А в редакторе и консоли можно разрабатывать вообще под что угодно.
Можно писать в машинных кодах, только зачем?
Удобство работы в современной полнофункциональной IDE не сравнится с консолью и простым редактором подобным блокноту.
Eddy_Em писал(а):Я извиняюсь, но что же это за IDE такая, которая аж 10ГБ занимает?
Я написал
Мурик писал(а):займут IDE
а не "займет IDE". То есть я имел в виду несколько IDE под разное железо, ЯП и прочее. Напомню, в IDE входят компиляторы, отладчики и другой инструментарий.
Eddy_Em писал(а):Она что, делает минет?
То у вас анальные зонды, то минет...
Озабоченный? :))) :facepalm:
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Eddy_Em »

[uquote="Мурик",url="/forum/viewtopic.php?p=4231048#p4231048"]То есть я имел в виду несколько IDE под разное железо, ЯП и прочее.[/uquote]
А смысл под каждую железяку IDE отдельную тащить? Взял qt-creator, да работай себе абсолютно подо все: хочешь - микроконтроллеры программируй, хочешь - под ПК софт пиши… Очень удобно такое единообразие. И не придется постоянно новые клавосочетания учить.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: STM32 новичку в ARM что к чему

Сообщение COKPOWEHEU »

Разработчикам FPGA, вестимо.
С ПЛИС пока не работал, но неужели под них нет нормальных инструментов, написанных людьми для людей?
Можно писать в машинных кодах, только зачем?
Можно, наверное - если есть желание изобрести компилятор. Но что вы хотели сказать своей аналогией?
Удобство работы в современной полнофункциональной IDE не сравнится с консолью и простым редактором подобным блокноту.
Ага, причем не в пользу IDE.
Напомню, в IDE входят компиляторы, отладчики и другой инструментарий.
Навскидку.
Компилятор: (x64) 300 кБ, (risc-v) 200 кБ, (arm) 430. Округлим до 500 кБ
binutils: (x64) 13 МБ, (risc-v) 30 МБ ,(arm) 35 МБ
Отладчик: 10 МБ
Редактор кода с автодополнением, подсветкой и прочим: 1 МБ. Для консольщиков vim - 3.5 МБ.
Все вместе занимает менее 100 МБ. Ну хорошо, возможно беглый поиск оказался слишком беглым, но порядок величины не изменится.
По сравнению с упомянутыми ранее 128 ГБ, да даже с 10 ГБ это статистическая погрешность. Вдумайтесь сами: за весь функционал вашей IDE отвечает менее 1% объема. На что уходит остальное?
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: STM32 новичку в ARM что к чему

Сообщение koeltrad »

Я правильно понимаю что эта настройка в Keil указывает в каких пределах загружать прошивку?
Keil_Settings_Debug_Flash.png
(29.93 КБ) 68 скачиваний
Я готовлюсь потихоньку к подключению EEPROM.
А где эта же настройка в IAR?
В IAR нет диапазона адресов.
IAR debug.png
(11.97 КБ) 58 скачиваний
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4231103#p4231103"]С ПЛИС пока не работал, но неужели под них нет нормальных инструментов, написанных людьми для людей?[/uquote]Не работал, но осуждаю? Просто на основе размера дистрибутива? Без комментариев.

[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4231103#p4231103"]Все вместе занимает менее 100 МБ.[/uquote]
Изображение
ARM-GCC.png
(7.33 КБ) 326 скачиваний
Чем вас так малый объём греет? Я вообще никогда не знал сколько какая IDE весит, пока на форуме не начали меряться. Этот параметр даже не рассматриваю при выборе.

[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4231103#p4231103"]На что уходит остальное?[/uquote]На возможность выбрать тип контроллера из тысяч поддерживаемых, выбрать тип отладчика, нажать кнопки Compile и Debug. А дальше мучиться на что потратить премию.

Добавлено after 2 minutes:
koeltrad, у IAR области памяти и соответствующие ей загрузчики описываются в .board-файле. Тыкни галку Override default .board file и нажми Edit...
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Re: STM32 новичку в ARM что к чему

Сообщение COKPOWEHEU »

Не работал, но осуждаю?
Не работал и спрашиваю. Именно потому что вдруг придется их изучать.
На возможность выбрать тип контроллера из тысяч поддерживаемых, выбрать тип отладчика, нажать кнопки Compile и Debug. А дальше мучиться на что потратить премию.
Так 10 - 100 ГБ на что уходит-то? Все перечисленное вы можете делать и без них.
ARM-GCC.png
Проверил на чистой системе:

Код: Выделить всё

# apt install gcc-riscv64-unknown-elf gcc-arm-none-eabi gcc make stm32flash openocd kwrite gdb screen
...
Необходимо скачать 279 MB архивов.
После данной операции объём занятого дискового пространства возрастёт на 2 300 MB.
Хотите продолжить? [Д/н]
Хорошо, моя первая прикидка оказалась неверной. Софт для полноценного кодинга и отладки под три архитектуры занимает целых 2.3 ГБ. Что забавно, ARM'овый компилятор один занимает почти 2 ГБ. Интересно, что в него понапихали, что он тяжелее даже x64-го.
Без него объем составляет всего 400 МБ.
А! Если добавить --no-install-recommends, получится 537 МБ, что уже получше, хотя все равно много.
Если этот же флаг добавить в исходную команду, получится не 2300 МБ, а уже 900 МБ.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 новичку в ARM что к чему

Сообщение Мурик »

COKPOWEHEU писал(а):Что забавно, ARM'овый компилятор один занимает почти 2 ГБ. Интересно, что в него понапихали, что он тяжелее даже x64-го.
Потому что в нем библиотеки для всех ядер (Cortex-A, Cortex-R, Cortex-M и остальных), версии с аппаратной поддержкой плавающей точки и без. И многое другое.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: STM32 новичку в ARM что к чему

Сообщение koeltrad »

https://youtu.be/Bd8YxrMES70?t=229
Прерывания срабатывают каждую миллисекунду?
И в этот промежуток времеми должен суметь смениться бит для пина?
Этот промежуток может стать проблемой из за того что он слишком маленький?
Ок, может операция по установке нуля или единицы продолжается после прерываний, но не думаю что это очень хорошо одну фунцию прерывать 40 миллионов раз.
Прерывания срабатывают не только для создания паузы, как в этой программе, а ещё в процессе установки значения регистра.
(Побочный эффект, как мне кажется, об этом побочном эффекте речь)
Допустим если сделать 40 Мегагерц прерывания.
Есть минимальное время для установки нуля или единицы в регистры?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25122
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: STM32 новичку в ARM что к чему

Сообщение КРАМ »

[uquote="koeltrad",url="/forum/viewtopic.php?p=4231308#p4231308"]https://youtu.be/Bd8YxrMES70?t=229
Прерывания срабатывают каждую миллисекунду?
.......
Допустим если сделать 40 Мегагерц прерывания.
Есть минимальное время для установки нуля или единицы в регистры?[/uquote]
Откуда вы находите все эти фантазии?
Запись/чтение в регистр длится ОДИН машинный цикл. То есть при частоте ядра 100 МГц - 10 наносекунд. И этот процесс не может быть прерван. Прерывания посередине инструкции ядра не вызываются.
И прерывания не генерируют с частотой 40 МГц. Систик вызывается с частотой 1 КГц. А сам обработчик исполняется быстро, скажем, за 50 машинных циклов, включая время входа и возврата. То есть даже при 100 МГц ядра работа систика займет 0.05% производительности.
Кроме того, быстрые (критичные ко времени) диаграммы на пинах программно не создают. Для этого есть аппаратная периферия.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: STM32 новичку в ARM что к чему

Сообщение koeltrad »

[uquote="КРАМ",url="/forum/viewtopic.php?p=4231346#p4231346"]Откуда вы находите все эти фантазии?[/uquote]
https://youtu.be/Bd8YxrMES70?t=292
Запись/чтение ок длятся один машинный цикл.
Функция GPIO_Set_Bits выполняется не за один машинный цикл(В зависимости от скороски МК, Возьмём очень медленный МК).
А значит наверное эта функция должна прерываться?
Если да, то она должна прерываться в этом случае раз в 1 миллисекунду.
Ответить

Вернуться в «ARM»