ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1406235 Топик полностью
RxTx (22.02.2024 02:59, просмотров: 343) ответил Adept на спасибо за развёрнутый ответ. Я прекрасно понимаю, что по сложности и структуре АРМ - далеко не АВР, ассемблер как основное средство программирования там просто ни к чему (но надеялся, что таки критически важные вещи на нём можно будет запилить, однако почитав Ваш пост по инициализации железа и беглом описании пример как это вкратце работает, ужаснулся :( Си не пугает (чистый Си, давным давно немного знал, что-то на нём писал, но уже многое позабывал. Вспомнить конечно
> Кстати, кто плотно знаком с STM, какие там самые большие минусы и что более всего бесит (ну, скажем в сравнении с АВР. Для справки: знаю достаточно хорошо всё семейство АВР, ХMEGA (пожалуй самый сложный камень из АВР-ов). Самое неприятное с STM32 это вопрос с их сайтом на котором кое-что перестали давать скачать документацией. 

Документация разбросана по всему сайту ST, нет единого, места. Сайт как бы "размазан" и нет никакой здравой вменяемой навигации. Нет скажем разделов где упомянуты все datasheet или все appnotes. Также в разделе у конкретного камня может не быть ссылок на доп.документацию. Опасность в том что коекакие файлы могут быть упомянуты в Refman, а могут и не быть. У некоторых серий в документации есть подробно разжеванные фрагменты работы с перифералом (с примерами кода!), а у некоторых все очень убого. На некоторые свеженькие серии G4, L0 есть доп.материал, в то же время на F4 нет. Всё конечно преодолимо. Просто необходимо внутренне понимать что у них очень много разнообразной документации, но прежде чем что-то делать, ее надо искать. У них есть даже документация такого рода: AN4488 Application note Getting started with STM32F4xxxx MCU hardware development


> Есть ли шанс без "конструкторов", в чистом железе, достаточно резво стартануть?? Или придётся разбираться месяцы в периферии, если не хочется пользоваться "кубом"?? (Для начала хочу разобраться с таймерами и работой с внешней SDRAM, порты UART/SPI, конечно. Остальная периферия пока без надобности, ну мож DMA ещё)


Шанс более чем есть. Это называется "Bare Metal". Чем проще камень, тем быстрее это можно устроить.

Самые простые и народные это STM32F103C8T6 (STM32CBT6), платка Blue Pill стоит копейки, (когда-то она предназначалась в качестве аналога Arduino и под нее есть Arduino-загрузчик)

Под BluePill, правда, придется прикупить отдельный отладчик.

(если брать на али, то осторожно, китайцы в блюпилы запаивают свои китайские чипы. Брать следует только в тех магазинчиках где есть выбор: И на китайском аналоге И на чистопородной STM-ке (обычно подороже).


Традиционный путь вкатывания, проторенная дорожка здесь такая.

1. STM32F103 она же Blue Pill + ST/Link.

2. ST32F407VG

или STM32F429

Почему именно они? TL/DR: причины расписывать долго, дял них много документации, примеров, кода.

Если не хочется возитсья с совсем уж простым Blue Pill'ом и отдельным ST-Link, тогда

STM32F407G-DISC1 (replaces STM32F4DISCOVERY)

STM32F429I-DISC1 (replaces STM32F429I-DISCO) - на ней помимо дисплея распаяна память и сразу стоит ST-Link v2

Китайцы паяют аналоги, на ST выложена вся документация, схемы, BOM-листы и файлы проектов плат.


С того "народного" что я перечислил, STM32F103CBT6, STM32F407/STM32F429 - вкатывайся на здоровье, хоть bare metal.

Спасибо, князь. Вы настоящий дворянин. И программист.