Особенность встраиваемых систем
Ограниченность ресурсов — вот ключевая особенность встраиваемых систем. В вашем телефоне спокойно может быть 2 или даже 4 Гб оперативной памяти, 32 Гб постоянной и восьмиядерный процессор с частотой 1,6 ГГц. В микроконтроллере stm32f103c8 доступно всего 20 Кб оперативной и 64 Кб постоянной памяти, а максимальная частота ядра составляет жалкие 72 МГц. Когда-то компьютера с худшими характеристиками хватило для миссии Apollo, а сейчас мой телефон то и дело зависает, а производительность падает после каждого обновления…
Теперь, когда мы понимаем, что есть микроконтроллер, можно перейти к вопросу о его программировании. Какой язык выбрать?
Ошибка: написано:
Первые 13 называют регистрами общего назначения и разбивают на две группы: нижние R0—R7 и верхние R8—R12.
Нужно: 12 регистров … R1-R12 (так на приведённом рисунке).
На картинке ошибка, первый регистр R0 (поправлю позже), см. https://developer.arm.com/documentation/dui0552/a/CHDBIBGJ
Ошибка:
К операции «И» приведена поясняющая схема от операции «ИЛИ». (На И и ИЛИ одинаковые схемы.)
Исправил
Ошибка:
В режим (1) можно, как и в режим (4) прийти двумя способами:
Код:
result = reg AND (NOT mask1) // result = 0b0000
result = reg AND (NOT (mask1_0 OR mask1_1)) // result = 0b0000
сливается с фоном.
в теме — Прогулка по уровням абстракции,
в абзаце — «Часто для управления той или иной периферией внутри регистра выделяется не один бит, а несколько. Путь второй и третий бит (начиная с нуля) отвечают за выбор режима работы определённой ножки (в нашем случае первой, начиная с нуля):»
во втором предложении, в слове «пуСть» — пропущена буква «с»