STM32 новичку в ARM что к чему
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
А для новичков есть всякие визарды и кодогенераторы. Создать проект и чтобы он сразу замигал диодом для новичка бесценно.
- afz
- Опытный кот
- Сообщения: 744
- Зарегистрирован: Сб дек 22, 2012 08:17:42
- Откуда: Караганда, Казахстан
Re: STM32 новичку в ARM что к чему
Угу, например, STM32CubeMX. 
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
Свой "первый раз" как сейчас помню, хотя и было это в конце прошлого века. В институте на лабу препод принёс железку на 51-м контроллере, с одной стороны которого RS-232 в комп, а с другой ЖКИ. Электрическую cхему, программатор и УФ-лампу ПЗУ-шки стирать в придачу. Ну и задание: в командной строке компьютера пишешь сообщение в COM1, а оно бегущей строкой на ЖКИ отображается. Собственно и всё, заданье дАдено - время засЕчено, техническая библиотека на втором этаже. И никаких тебе интернетов с котярнями, только асм и ултрафиолетовая лампа. И ничего, изучили, запрограммировали. Зато какой опыт поимели!
Я это всё к чему. Было бы желание и цель, это главное. А инструмент важен, конечно, но вторичен.
Я это всё к чему. Было бы желание и цель, это главное. А инструмент важен, конечно, но вторичен.
Re: STM32 новичку в ARM что к чему
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3705997#p3705997"]А это глас вопиющего в пустыне. Подавляющее большинство начинают с самого дешевого и доступного на готовой плате STM32F103C8T6. Вам это не изменить )[/uquote]
Ваащето большинство начинало с халявной VL discavery а это 100ка. Страно что ты этого не застал -лет 12 поди???
Ваащето большинство начинало с халявной VL discavery а это 100ка. Страно что ты этого не застал -лет 12 поди???
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 новичку в ARM что к чему
У меня выбор на STM32 совершенно случайно пал — по форумам побродил, и понял, что пора выкидывать пики и брать что-нибудь серьезное.
И на работе взял на пробу олимексовские P103 и P407. Поигрался с ними еще на SPL, понял, какая жесть — тащить TCP/IP на микроконтроллер, и забросил 407. А на 100-ногом F103 сделал железяку (там, кажись, ног 80 нужно было, поэтому 48/64-ногие не годились).
Ну и пошло-поехало: STM8, STM32F0… Даже с ch552 попытался было заморочиться, но остановило отсутствие прошивателя (софта). На mcu.goodboard код вроде выложили, но пока что мне лень возвращаться к этому.
По соотношению цена-качество мне больше всего понравились STM32F072: они всего лишь 1 бакс стоят на али, зато там есть бескристальный USB, который может одновременно работать с CAN! Классная вещь.
И на работе взял на пробу олимексовские P103 и P407. Поигрался с ними еще на SPL, понял, какая жесть — тащить TCP/IP на микроконтроллер, и забросил 407. А на 100-ногом F103 сделал железяку (там, кажись, ног 80 нужно было, поэтому 48/64-ногие не годились).
Ну и пошло-поехало: STM8, STM32F0… Даже с ch552 попытался было заморочиться, но остановило отсутствие прошивателя (софта). На mcu.goodboard код вроде выложили, но пока что мне лень возвращаться к этому.
По соотношению цена-качество мне больше всего понравились STM32F072: они всего лишь 1 бакс стоят на али, зато там есть бескристальный USB, который может одновременно работать с CAN! Классная вещь.
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: STM32 новичку в ARM что к чему
VladislavS, жестоко. Я все же начинал на Z80, имея в качестве комплекта разработки Синклер, да ещё и опыт программирования на ассемблере IBM/370. А уже освоив ассемблер Z80, стал его использовать для прошивки КМ1816ВЕ48. При этом в качестве кросс-ассемблера использовал макроассемблер IBM/370 )
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
почти первая моя самостоятельная работа, разве что железяку я сам и придумал, и вместо ЖКИ были 10 штук АЛС340... УФ лампа уже былаVladislavS писал(а):В институте на лабу препод принёс железку на 51-м контроллере, с одной стороны которого RS-232 в комп, а с другой ЖКИ. Электрическую cхему, программатор и УФ-лампу ПЗУ-шки стирать в придачу. Ну и задание: в командной строке компьютера пишешь сообщение в COM1, а оно бегущей строкой на ЖКИ отображается.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: STM32 новичку в ARM что к чему
ARV, ну у меня ЕС-ка была доступна, а Вы на чем ассемблер кросс-ассемблировали? Или сурово в шестнадцатиричке программу писали? А прошивали тогда чем?
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
прошивал самодельным программатором - плата в ISA-слот, с неё шлейф в панельку. слава богу, ISA - простая шина
софт для PC/XT сам писал на Turbo Pascal.
основной инструмент разработки - asm51, кажется Intel-овский... да других, вроде, и не было... и отладчик fd51.
основной инструмент разработки - asm51, кажется Intel-овский... да других, вроде, и не было... и отладчик fd51.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: STM32 новичку в ARM что к чему
ARV, круто. В 1986 PC/XT я видел только на картинках. Программатор писал на ассемблере Z80, впрочем не брезгуя вызовами Синклеровского Бейсика для вывода на экран и работы с клавиатурой )
- afz
- Опытный кот
- Сообщения: 744
- Зарегистрирован: Сб дек 22, 2012 08:17:42
- Откуда: Караганда, Казахстан
Re: STM32 новичку в ARM что к чему
А мне в те времена так и не удалось поработать с МК. Единственное, с чем мне тогда довелось повоевать - это пара самоделок на КР580ВМ80, т.е. на нашем клоне i8080. Это было в 89-м. Тогда у меня была под рукой Электроника-60 с довольно большими дисками и операционкой RT-11, и откуда-то приблудился кросс-ассемблер CA8085 - творение BSO, в ту же Э-60 была прошивалка РФ-ок, в общем, поиграл, и даже слепил один мелкий коммерческий проект. Потом, в том же 89-м, я сменил род деятельности, и к программированию МК обратился уже перед самой пенсией, году, так, в 12-м. Посмотрел, что продается в магазинах города (там только ПИКи и АВР-ки, ПИКи существенно дороже), купил 8-ю Мегу, и начал изучать.
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Re: STM32 новичку в ARM что к чему
Действительно "первым самостоятельным опытом" на МК был PIC16F84. Году так в 1999-м. Те x51, что были до этого на лабах в универе - это не в счёт. С тех пор с МК/DSP не расставался. Любовь до гроба. 
Re: STM32 новичку в ARM что к чему
Добрый день, переношу проект с STM32F3 на STM32F4.
Проблема в том, что перестал работать SPI.
По факту он работает и пакеты бегут в обе стороны, смотрел осцилом, но в регистре DR всегда ноль.
Подскажите в какую сторону копать.
Проблема в том, что перестал работать SPI.
По факту он работает и пакеты бегут в обе стороны, смотрел осцилом, но в регистре DR всегда ноль.
Подскажите в какую сторону копать.
Re: STM32 новичку в ARM что к чему
[uquote="baghear",url="/forum/viewtopic.php?p=3711493#p3711493"]Подскажите в какую сторону копать.[/uquote]В мануал?
Re: STM32 новичку в ARM что к чему
Разобрался для запуска spi в этой серии нужна задержка.
Re: STM32 новичку в ARM что к чему
[uquote="baghear",url="/forum/viewtopic.php?p=3713241#p3713241"]в этой серии нужна задержка.[/uquote]
Где?
Где?
Астролябия-сама меряет, было бы что мерять!!!
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Вопрос по C++.
Интереса ради в своём проекте решил попробовать, для начала просто переименовав main.c в main.cpp. Ну и поправил Makefile.
Результат компиляции до:
Результат компиляции после:
Откуда может вылезти разница в целых 4кБ в размере прошивки? При этом размеры .o файлов в каталоге сборки практически не отличаются, то есть похоже, что это линкер компонует смесь .c и .cpp менее оптимально.
Может, CFLAGS и CPPFLAGS нужно разделить и использовать разные?
Интереса ради в своём проекте решил попробовать, для начала просто переименовав main.c в main.cpp. Ну и поправил Makefile.
Результат компиляции до:
Код: Выделить всё
text data bss dec hex filename
99188 408 14360 113956 1bd24 build/ampcontrol_f103_ili9341_spi.elfРезультат компиляции после:
Код: Выделить всё
text data bss dec hex filename
103420 408 14360 118188 1cdac build/ampcontrol_f103_ili9341_spi.elfОткуда может вылезти разница в целых 4кБ в размере прошивки? При этом размеры .o файлов в каталоге сборки практически не отличаются, то есть похоже, что это линкер компонует смесь .c и .cpp менее оптимально.
Может, CFLAGS и CPPFLAGS нужно разделить и использовать разные?
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
map-файл почитать, там всё написано.
А вообще, ключей маловато. Надо поддержку исключений и rtti убрать для начала.
Оптимизации что-то не наблюдаю.
Вот ещё. http://we.easyelectronics.ru/AVR/klyuch ... rnika.html
А вообще, ключей маловато. Надо поддержку исключений и rtti убрать для начала.
Код: Выделить всё
-fno-exceptions -fno-rttiОптимизации что-то не наблюдаю.
Вот ещё. http://we.easyelectronics.ru/AVR/klyuch ... rnika.html
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Действительно. С добавлением -fno-exceptions размер стал таким же, как и в оригинальном коде на C.
А -gc-sections сотоварищи уже давно пользуюсь. Собственно, в этом проекте тоже.
Ещё в своё время (да и сейчас попробовал) экспериментировал с -flto (на AVR проектах довольно сильно экономило flash). Но с STM32 как-то всё совсем печально, прошивка на 10% меньше выходит, но получается тупо нерабочей. Правда, сильно разобраться в этом пока не пытался.
А -gc-sections сотоварищи уже давно пользуюсь. Собственно, в этом проекте тоже.
Ещё в своё время (да и сейчас попробовал) экспериментировал с -flto (на AVR проектах довольно сильно экономило flash). Но с STM32 как-то всё совсем печально, прошивка на 10% меньше выходит, но получается тупо нерабочей. Правда, сильно разобраться в этом пока не пытался.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: STM32 новичку в ARM что к чему
Ну а что бы ему быть другим, если он и есть код на С. 
А с оптимизатором надо подружиться, конечно. -O3 и -flto хорошая проверка кода на вшивость.
А с оптимизатором надо подружиться, конечно. -O3 и -flto хорошая проверка кода на вшивость.