Давно хотел изучить STM32 "на низком уровне", сейчас выдалось время, занялся этим и заодно записал свои изыскания в виде серии статей, как оказалось, это весьма эффективный способ для упорядочивания своих знаний. Начиная от ассемблера и заканчивая CMSIS.
Здравствуйте, vsb, Вы писали:
vsb>Давно хотел изучить STM32 "на низком уровне", сейчас выдалось время, занялся этим и заодно записал свои изыскания в виде серии статей, как оказалось, это весьма эффективный способ для упорядочивания своих знаний. Начиная от ассемблера и заканчивая CMSIS.
vsb>https://github.com/vbezhenar/stm32-tutorial/ в каждой папке отдельный README и сопутствующие исходники.
Материал до статей не дотягивает, скорее эксперименты.
Здравствуйте, vsb, Вы писали:
vsb>Давно хотел изучить STM32 "на низком уровне"
Зачем?!
Программировать микроконтроллеры надо на С++. Программирование на С — это прошлый век. Ты же призываешь писать на ассемблере. Ты никогда не напишешь на ассемблере код, работающий быстрее, чем написанный на языке высокого уровня. Для этого надо учесть слишком много факторов, это сможет сделать только компилятор.
Здравствуйте, 777777w, Вы писали:
vsb>>Давно хотел изучить STM32 "на низком уровне"
7>Зачем?!
Чтобы хорошо разобраться с вопросом.
7>Программировать микроконтроллеры надо на С++. Программирование на С — это прошлый век. Ты же призываешь писать на ассемблере. Ты никогда не напишешь на ассемблере код, работающий быстрее, чем написанный на языке высокого уровня. Для этого надо учесть слишком много факторов, это сможет сделать только компилятор.
Я не призываю писать на ассемблере. На ассембелере там 2 самых первых крохотных программы, и немного стартап кода в последующих. Которые написаны в основном для того, чтобы можно было понять поздней, что написано в библиотеке от вендора. В основном там всё на C. Мне C++ не интересен, но при желании переход от C к C++ не должен вызвать никаких проблем.
Здравствуйте, vsb, Вы писали:
vsb>Чтобы хорошо разобраться с вопросом.
"Вопрос", т.е. программирование микроконтроллера, представляет собой в основном программирование периферийных устройств. Ядро и система команд имеют небольшое значение. Поэтому при обучении упор надо делать на периферии.
Здравствуйте, 777777w, Вы писали:
7>Здравствуйте, vsb, Вы писали:
vsb>>Давно хотел изучить STM32 "на низком уровне"
7>Зачем?!
7>Программировать микроконтроллеры надо на С++. Программирование на С — это прошлый век. Ты же призываешь писать на ассемблере. Ты никогда не напишешь на ассемблере код, работающий быстрее, чем написанный на языке высокого уровня. Для этого надо учесть слишком много факторов, это сможет сделать только компилятор.
У нас все на C пишут. С С++ бывают глюки, а их и без этого хватает, в том числе в библиотеках производителя.
Здравствуйте, net31, Вы писали:
N>С С++ бывают глюки, а их и без этого хватает, в том числе в библиотеках производителя.
Я тоже много раз слышал об ошибках компиляторов, но каждый раз, когда я начинал разбираться, выяснялось, что это кривые руки программистов. За свою жизнь я нашёл только один глюк компилятора, да и тот в Visual Studio, и то не критичный — при определённых условиях он позволял модифицировать константную переменную. В IAR и Keil не замечено. Впрочем, народ часто пользуется всяким недоделанным говном, но тут они сами себе злобные буратины.