Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.56/43: Рейтинг темы: голосов - 43, средняя оценка - 4.56
Astradam
0 / 0 / 0
Регистрация: 06.04.2016
Сообщений: 6
1

Литература для начинающих по программированию STM32

08.04.2016, 17:21. Просмотров 7873. Ответов 28
Метки нет (Все метки)

Подскажите, пожалуйста, где найти литературу для начинающих по программированию STM32.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2016, 17:21
Ответы с готовыми решениями:

Книги по программированию микроконтролеров для начинающих?
Буду очень благодарен, если порекомендуете хорошие книги по программированию...

Литература по программированию МК ARM на Си
Посоветуйте литературы по программированию микроконтроллеров arm на си для...

Общение с барометром MS5540 на STM32 (Arduino to STM32)
Получил от китайца сей аппарат, пошел тут же гуглить что нибудь готовое, но не...

Чем связать STM32 + STM32 в одном корпусе?
Есть 2 платы: (1) - STM32 (Вывод на LCD + запись SD) и (2) - STM32F4 (обработка...

Драйвер для MICROSD (SPI) + FAT32 для STM32
Собственно пишу драйвер для Micro SD карточек и файловую систему FAT32. ...

28
Voland_
1688 / 1033 / 97
Регистрация: 04.01.2010
Сообщений: 3,480
08.04.2016, 17:27 2
Astradam, а вы здесь по-спрашивайте, возможно, сеть вопросов сформирует FAQ по этим контроллерам, который станет отправной точкой здесь, для начинающих. Закрепим тему, можно будет почитать непосредственно на форуме.

И да, определитесь о каком семействе STM32 идет речь. Потому что кортексы хоть и имеют общее название- Cortex, содержат существенные отличия друг от друга.
0
follow39
61 / 61 / 22
Регистрация: 27.01.2014
Сообщений: 448
08.04.2016, 17:34 3
Недавно начал изучать кортексы, а за одно и решил подтянуть английский, использую это руководство. Идет достаточно хорошо, хоть и английский совсем не знаю.
2
Voland_
1688 / 1033 / 97
Регистрация: 04.01.2010
Сообщений: 3,480
09.04.2016, 09:42 4
Цитата Сообщение от follow39 Посмотреть сообщение
использую это руководство
да, только это номинальный мануал, особо его "почитать" смысла нет. Разве что пробежаться по тексту в поисках специфических мест. Обычно эта "книга" используется в случаях решения каких-то низкоуровневых задач, как справочник. Для начинающего же можно "прикрыться" уровнем Си - в 99% случае использования этих кортексов будет достаточно.

ТС, для изучения используйте SDK вашего семейства контроллеров. Во-первых, они самодокументированы (то есть в коде есть комментарии), во-вторых, есть примеры, что дает быстро вникнуть в принцип решения задачи. В третьих, к SDK имеется документация, которая дает общее представление о всем наборе инструментов, но мне она, скажем, помогла меньше всего...

ЗЫ: я не понимаю, как можно сесть на диван и изучать программирование контроллеров по книжке. Лучше всего понять принцип изучать их из даташитов и программ - это и быстрее и актуальнее. Пока вы изучите по книжке STM32 та же ST выпустит уже какие-нибудь STM64, которые будут иметь свои существенные различия, и вам придется читать все по новой, дождавшись какую-нить книгу.
2
follow39
61 / 61 / 22
Регистрация: 27.01.2014
Сообщений: 448
09.04.2016, 10:34 5
Voland_, да, я понимаю что можно обойтись уровнем C, но мне кажется чтобы уверенно писать на си, нужно знать имена регистров и как работать с ними. Я сначала хотел узнать какие команды и регистры вообще существуют, чтобы потом проще было бы разбираться с библиотеками C.
0
Voland_
1688 / 1033 / 97
Регистрация: 04.01.2010
Сообщений: 3,480
09.04.2016, 10:48 6
Цитата Сообщение от follow39 Посмотреть сообщение
Я сначала хотел узнать какие команды и регистры вообще существуют, чтобы потом проще было бы разбираться с библиотеками C.
ну дала вам что-то эта информация? что полезного вы внесли в код на Сях из этого мануала?
0
follow39
61 / 61 / 22
Регистрация: 27.01.2014
Сообщений: 448
09.04.2016, 11:50 7
Voland_, что-то дала. Например, из этого руководства я узнал как организованы прерывания.
Просто хотелось бы научиться писать более качественный код и понять как работает микроконтроллер. Поэтому решил прочитать это руководство.
Но, наверное, вы правы и по началу стоит писать на C, используя стандартные библиотеки, чтобы достичь быстрого результата.
0
ValeryS
Модератор
7445 / 5637 / 716
Регистрация: 14.02.2011
Сообщений: 19,194
Завершенные тесты: 1
09.04.2016, 23:00 8
Цитата Сообщение от follow39 Посмотреть сообщение
о мне кажется чтобы уверенно писать на си, нужно знать имена регистров и как работать с ними.
для написания программы для винды, нужно ли знать как устроен процессор, какой у него кэш, сколько уровней?
так и здесь, зачем тебе знать в цикле
C
1
for(int i=0;i<10;i++)
в какой регистр положит компилятор переменную i?
уже прослойка библиотек выпущенных самим производителем, например HAL
и еще рекомендую использовать операционку, например FreeRTOS
а вот когда пойдут затыки, быстродействия не хватает или памяти,тогда и полезешь на "низкий" уровень
1
Voland_
1688 / 1033 / 97
Регистрация: 04.01.2010
Сообщений: 3,480
11.04.2016, 09:28 9
Цитата Сообщение от ValeryS Посмотреть сообщение
для написания программы для винды, нужно ли знать как устроен процессор, какой у него кэш, сколько уровней?
...тема имеет тенденцию уйти в холивар, поэтому, я бы не стал развивать спор ). В конечном счете много решает цель программирования в каком-либо проекте. И она складывается не только из технических сущностей, например, как производительность ПО. Соответственно, рассмотрение вопроса о том, насколько важно знать архитектуру при программировании на сях - этот вопрос нужно задавать применительно к конкретному проекту.

А так, по тексту пока что всецело поддерживаю. 99,9% задач нужно решать на сях, потому что вендор чипов сам садит программистов-системщиков, истинных имбеддеров, и они готовят библиотеку, которая во-первых, будет четко адапатирована под железо, во-вторых, будет грамотно написана. Это естественно, что можно написать лучше, проще или оптимальнее. Но в общем случае библиотека запустит приложение _сразу_, что даст возможность использовать этот код за рабочую основу. А писанина на асме дает возможность углубиться в реализацию действительно красивых решений, не доступных в 50% компилятору (потому что компиляторы - тоже не дураки пишут, и они много чего умеют). Но это занимает иногда негуманное количество времени на разработку и отладку, а затем - поддержку, потому что как правило такой код может иметь очень много ограничений.
3
Astradam
0 / 0 / 0
Регистрация: 06.04.2016
Сообщений: 6
13.04.2016, 11:57  [ТС] 10
Речь идет о STM32F103
0
vit1737
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 16
04.05.2016, 22:26 11
вот здесь много чего
0
vit1737
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 16
10.05.2016, 19:17 12
еще
Мартин М. Инсайдерское руководство по STM32
0
shepard127
6 / 6 / 0
Регистрация: 20.10.2013
Сообщений: 57
20.05.2016, 16:05 13
Я пожалуй поддержу follow39, потому что я сразу также ушел с головой в нижний уровень(ибо если не понимаю как оно работает, то не могу писать качественный код). А также на нижнем уровне легко можно найти ошибки библиотек SPL(мы с ребятами не раз уже находили).

Добавлено через 11 минут
Уж поверьте, если вы работаете с контроллерами профессионально, когда у вас прирост в лишних 700 тактов всей программы очень важен, то написания когда без использования SPL библиотек обращаясь к регистрам на прямую это прям спасение, либо портирование кода с одного процессора на другой, то этот мануал довольно таки полезен! И не смотря на то что на изучения я потратил примерно 4 месяца(и еще сейчас параллельно продолжаю изучать), скил таки качается=)
Конечно если вы хотите этим заниматься только как хобби, то это пустая трата времени согласен с вами.
P.S.
Литературу скину позже, просто сейчас нет адекватной скорости интернета

Добавлено через 10 минут
* поправка не тактов, а операций))
0
linuxbergi
0 / 0 / 0
Регистрация: 13.03.2014
Сообщений: 2
22.05.2016, 20:06 14
Тут немного есть {ссылка удалена, нарушение авторских прав}
Добавлено через 8 минут
Вообще-то многие опытные программисты отзываются об SPL как очень громоздкой и медленной. SPL разумно использовать для прототипирования, быстрого создания сырых программ. Но важны примеры на SPL. Двигаться с нуля, от регистров - это не тот метод для Cortex. Cortex не AVR и не PIC16. Для изучения я использую документацию от STM, работающие примеры и плюс к этому, инструменты для отладки и исследования исходных текстов. Реверс инжиниринг. Препарация работающего примера, его упрощение и модификация.
0
Grey
Тутошний я
1698 / 864 / 153
Регистрация: 03.11.2009
Сообщений: 2,622
Записей в блоге: 1
04.10.2016, 18:57 15
Джозеф Ю. Ядро Cortex-M3 компании ARM. Полное руководство (2012)
0
Витальич
1274 / 1184 / 174
Регистрация: 02.12.2013
Сообщений: 4,886
04.10.2016, 19:18 16
Народ на конкурирующем форуме начал документацию на HAL переводить, но остыл, ИМХО не благодарное это дело
1
Вложения
Тип файла: pdf HAL F4 описание.pdf (1.29 Мб, 40 просмотров)
Antey_88
0 / 0 / 0
Регистрация: 23.09.2015
Сообщений: 7
06.10.2016, 10:54 17
Добрый день! Подскажите, не могу найти datesheet на stm32f3, где описаны все регистры с битами, как это сделано для F1 и F4. Существует такое, вообще?

Добавлено через 23 минуты
все нашел)). Был не внимателен
0
ValeryS
Модератор
7445 / 5637 / 716
Регистрация: 14.02.2011
Сообщений: 19,194
Завершенные тесты: 1
06.10.2016, 11:01 18
Цитата Сообщение от Antey_88 Посмотреть сообщение
где описаны все регистры с битами,
нет такого
Цитата Сообщение от Antey_88 Посмотреть сообщение
как это сделано для F1 и F4.
и такого нет
есть отдельные даташиты на ядро cortex M3, отдельно на периферию,и то не все кучей, а на USB одно, на USORT другое
в общем http://www.st.com и там гулять
0
shepard127
6 / 6 / 0
Регистрация: 20.10.2013
Сообщений: 57
08.10.2016, 12:36 19
Парень наверно имел ввиду datasheet на контроллер.

Цитата Сообщение от ValeryS Посмотреть сообщение
нет такого
Цитата Сообщение от ValeryS Посмотреть сообщение
и такого нет
Вам скинуть?

Добавлено через 2 минуты
Antey_88, если будут трудности с STM32, обращайтесь. Я сам не достаточно опытный, но мало-ли обменяемся опытом. Или же попробуем вместе найти решение проблемы

Добавлено через 2 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
есть отдельные даташиты на ядро cortex M3, отдельно на периферию,и то не все кучей, а на USB одно, на USORT другое
в общем http://www.st.com и там гулять
Не спорю есть. А также есть Datasheet, UserManual, ReferenceManual на каждый контроллер выпущенный STM
0
ValeryS
Модератор
7445 / 5637 / 716
Регистрация: 14.02.2011
Сообщений: 19,194
Завершенные тесты: 1
08.10.2016, 13:48 20
Цитата Сообщение от shepard127 Посмотреть сообщение
Вам скинуть?
достаточно будет ссылки
контроллер STM32.....
все регистры ядра,шины, периферию с регистрами, прерывания,карта памяти, и пр. пр. пр.
но чтобы в одном флаконе
0
08.10.2016, 13:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2016, 13:48

Функции для работы с кольцевыми буферами для STM32
Написал функции-шаблоны для работы с кольцевыми буферами. Параметры каждого...

STM32 для чайников
Знает кто-то такой форум, где можно задать &quot;простой&quot; вопрос по использованию...

prvSetupHardware() для STM32
Смотрю в демки, а в демках мудрёная инициализация тактирования и прерываний....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru