Pull to refresh

Comments 10

В чём цель? (не в смысле «бросьте это», чего хотим добиться?). Если цель - максимально компактный проект, рубите на корню и startup: чтобы нормально стартануть прямо в свой минимальный asm, достаточно в самом начале объявить таблицу векторов из двух элементов - начального значения SP (подставьте максимальный адрес RAM) и собственно точки входа. Родной же startup, скорее всего, до вашего кода вообще «тайно» вызывает довольно увесистый Сишный SystemInit() из stm’овских библиотек.

Кстати, вот здесь человек очень детально разобрал процедуру инициализации STM-овской периферии на ассемблере и написал весь код практически с нуля (мануал от 2014 года).

надолго его не хватило :-) слабак :-)

Да согласен, можно просто сделать пустой файл и все самому прописать. Целью же является простой вход для новичков которые и так уже используют CubeIDE и хотят ручками прощупать команды ассемблера, а уже остальное придёт со временем. Как писать на ассемблере в IAR или Keil и так полно в интернете.

жесть конечно вход :-) но возможно кому то зайдет "такое" :-)

Добрый день! Вопрос к вам в частности и к сообществу инженеров встраиваемых систем в целом: Как вы думаете, почему, например, Мозила переписывает код своего браузера на Rust, убирая элементы C, https://habr.com/ru/post/445670/ новые патчи Linux, https://securitylab-ru.turbopages.org/securitylab.ru/s/news/532529.php получают поддержку Rust, но что касается встраиваемых систем, по статьям на Хабр складывается впечатлени чуть ли не религиозного стремления писать руками все с нуля, используя инструменты прошлого века?

Добрый день. Вопрос довольно интересный, я считаю есть несколько факторов:

1) Сложность проекта. Так как большенство проектов основанных на микроконтроллерах имеют одно ядро и немного памяти. Задачи которые стоят перед ним не имеют такую сложность где необходимо уходить в параллелизм и делать сложные комплексы безопасности. Вот для работы частей обработки данных на сервере и вправду лучше сделать на Rust или на Go.

2) Rust пока молодой язык и у него ещё не сильно развито комьюнити как у C\C++, поэтому даже гуглиться какие то вопросы на С\С++ проще нежели на Rust.

3) Уже готовые ряд проектов, библиотек и фреймворков, которые писались годами, зачем менять то что и так хорошо работает. И из-за этого зачем людям изучать что то новое.

Думаю есть ещё ряд факторов которых я не задел, но эти одни из основных. Лично я Rust ещё не пробовал, читал пару статей и смотрел пару видео, на этом пока все мои знания о нем.

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

в общем если кого асм для арм заинтересовал - приходите лучше ко мне (амбициозно ? зато правда!)

и редактор будет скорее всего удобнее... и посмотрите как программы писать на асме проще можно.. :-)

Очень полезная статья.

Как по мне, то начинать Изучать МК нужно с ASM и регистров по RM. Тогда будет база и понимание на чем все стоит. А потом можно двигаться в любой HAL, если нужно.

Конечно, если Изучать не охота, но нужно что то быстро слепить, тогда Ардуино, иногда и сам так делаю.

Спасибо !

Sign up to leave a comment.

Articles