После использования Eclipse и Keil, QtCreator лично меня раздражает (в основном) двумя вещами:
в дереве проекта есть поддерево для хедеров и поддерево для исходников. Зачем это нужно — я не понимаю, но теперь проект выглядит в два раза больше;
во время отладки, если программу просто запустить, все watch'и не обновляются. В Кейле можно поставить галку periodic window update, а в QtCreator'e я аналогичной галки не нашел. Из-за этого все объекты watch'ах (если это структуры, например) приходится разворачивать после каждого стопа.
Соответственно, я не совсем понимаю, зачем QtCreator использовать там, где его он совершенно и не нужен даже.
В самом ядре Cortex есть периферия, но ее очень мало (кроме SysTick'a я навскидку ничего и не вспомню).
Все остальное меняется от контроллера к контроллеру; у Миландра вся периферия собственной разработки.
Я не спорю, что знание ассемблера и принципов работы железа — основа (хотя современные тенденции от этого уводят изо всех сил).
Но каждый бит в каждом регистре все равно не запомнишь.
Но куда приятнее настроить вручную. Чтобы знать наверняка, что все правильно.
Я бы сказал, чтобы было проще ошибиться.
Дальше без SPL будет сложно; хотя в ней полно ошибок, код с регистрами пишется и читается значительно тяжелее.
Соответственно, я не совсем понимаю, зачем QtCreator использовать там, где его он совершенно и не нужен даже.
(не обновил комментарии, когда писал свой; с удовольствием почитаю пост на эту тему)
А делать это битовой маской и ради этого делать буфер длиной в степень двойки имеет смысл, только если каждый такт на счету.
Все остальное меняется от контроллера к контроллеру; у Миландра вся периферия собственной разработки.
Но каждый бит в каждом регистре все равно не запомнишь.
Я бы сказал, чтобы было проще ошибиться.
Дальше без SPL будет сложно; хотя в ней полно ошибок, код с регистрами пишется и читается значительно тяжелее.