STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3539808#p3539808"]будет такой геморр написать[/uquote]
Да не то чтобы адрес узнать гемор. Периферия сложновата, и чтобы приемлемо по качеству/скорости писать нужно на интуитивном уровне понимать как оно все работает и кто кому там может мешать. В кубе удобно распределить ресурсы - что включить, что не включать, одна периферия блокирует ноги другой. Там это все ясно через пару минут. С HAL в принципе проблем (у меня) нет. Оно может и не идеальное с чисто спортивной точки зрения, но работает.

Кстати, если кто помнит я в своем проекте пытался использовать динамику, векторы и стринги. В итоге динамику выпилил и переделал инициализацию через отдельный метод - так понятнее куда и кому ушла оперативка. Векторы выпилил - жрет кучу оператвы. Оставил только в одном месте, где без него неудобно шо капец. Со стрингами была беда какая-то. Прошивка работала. Я в коде добавил варианов в свич с присвоением строк в стринг. И у меня не хватило никакой памяти. Может компилятор пытался прикинуть размер стринга по сумме всех строчек, не знаю. За вечер написал свой стринг со статическим буффером и проблемы кончились. Вот такие вот итоги года.
Реклама
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

Ну... читал много где. Из старых арихвов у Ди-Халта. Вот там и прочно уложилось в голове, что эти библиотеки косячные. Потом из нового на всяких сайтах.
Пока что научился прошивать и стирать с помощью Ст-Линка2 микроконтроллер на платке Блю-Пилл что-ли называется. Китайская.
Хочется нарисовать что-то свое, но страдают знания языка Си и самого МК, однако, второе уже более или менее понятнее становится. Просто в них больше регистров для настройки, чем у АВР. Ну и нюансы по тактированию всего и вся.

З.Ы. С Новым годом!

Добавлено after 5 minutes 31 second:
Так SPL и HAL это одно и тоже? просто разные люди разное сделали?
Станислав
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3539826#p3539826"]читал много где.
Так SPL и HAL это одно и тоже? просто разные люди разное сделали?[/uquote]
Всё что древнее 16 года стараюсь не читать, максимум 15.
Дело как было. Они пилили SPL, ее можно было в проект подключать.
А куб умел только показывать на картинке какие ножки куда подключены и энергопотребление мог посчитать.
Потом они SPL забросили, и сделали HAL и куб научили генерировать код инициализации и создавать проекты под разные среды. И вот так оно живет. Есть еще библиотека LL, ее можно в кубе выбрать. Можно даже что-то халом инициализировать, а что-то ЛЛ-ом.
Текущее состояние СПЛ мне неизвестно, но люди проекты на нем делают, вроде работает.
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Ярослав555",url="/forum/viewtopic.php?p=3539823#p3539823"]Векторы выпилил - жрет кучу оператвы. Оставил только в одном месте, где без него неудобно шо капец.[/uquote]Если написал статический стринг, то почему не написать статический vector?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Тогда сделайте мигалку.
Потом немного поотлаживайте.
И понимание постепенно придет.
СКАЗОЧНИК писал(а):Из старых арихвов
Прочитайте что в старых архивах про Windows пишут.
СпойлерИзображение
42182698_1239098169_vinda__nadstroyka_nad_dos.jpg
(84.51 КБ) 105 скачиваний
Пишут что это бесполезная надстройка над DOS. Откажемся от винды и перейдем на DOS?
Ярослав555 писал(а):А куб умел только показывать на картинке какие ножки куда подключены и энергопотребление мог посчитать.
Первые версии куба (тогда он по другому назывался - MicroXplorer) генерировали код с SPL.
Реклама
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

О! Я уже кое-что начал понимать. )))
Из всех библиотек, которые подключаются к главному файлу, потом используются определенные (как их правильно назвать?) шаблоны. Вот к любому Мэйн фалу надо подключить библиотеку с настройкой тактирования устройств и конфигурации портов ввода-вывода. В общем-то они так и называются, только везде применяются аббревиатуры.
И потом в коде уже если началась строка с RCC и дальше всякая бурда, то эта строка относится к настройке тактирования чего-либо, а если началась строка с GPIO, то это уже настройка портов. ))))
Станислав
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

СКАЗОЧНИК писал(а):Вот к любому Мэйн фалу надо подключить библиотеку с настройкой тактирования устройств и конфигурации портов ввода-вывода.
Зачем? Каждый файл с исходным кодом компилируется отдельно и собирается линкером. Файлы нужно добавлять в проект.
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

Да, не правильно понял чуток.
Добавлять в проект это в дерево папок, которое справа у того же Кейла? А как же тогда ИНКЛУДы? Их же пишут в самом начале?

Добавлено after 4 minutes 23 seconds:
И правильно ли я еще понимаю, что в АВР был один байт. И адреса выглядят примерно так:
0xFF, 0xA2 и т.д. И даже удобнее было представлять в двоичном виде.

А в STM32 уже 32 разряда, т.е. 4 байта. И адреса выглядят уже так:
0xFFFFFFFF, 0x0000AA22 и т.д. Потому и много так цифр.

Вроде мелочи жуткие, но не привычно, и они почему-то до меня долго доходят...
Станислав
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

СКАЗОЧНИК писал(а):А как же тогда ИНКЛУДы?
Это не исполняемый код.
СКАЗОЧНИК писал(а):А в STM32 уже 32 разряда, т.е. 4 байта.
Прочитайте для начала. https://sunduk.radiokot.ru/loadfile/?load_id=1373389648
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

Спасибо. Уже скачал ее, правда не с Кота, а где-то в другом месте мне попалась. )
Станислав
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

[uquote="Reflector",url="/forum/viewtopic.php?p=3539839#p3539839"]Если написал статический стринг, то почему не написать статический vector?[/uquote]
когда-нибудь :dont_know:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3539808#p3539808"]1. Скажите, правильно ли я понимаю, что SPL - стандартная библиотека для периферии, и написана она с ошибками рукожопыми индусами?[/uquote]Чтобы кого-то называть рукожопым нужно самому быть хотя бы на о-малое отличным от нуля и самому найти хотя бы одну ошибку в библиотеке. Откуда вы такие берётесь? У нас систему образования вообще что-ли упразднили?
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

Хочу заметить, что не я так назвал изначально это. И тем более, я спросил "Правильно ли я понимаю"? т.е. у меня изначально сомнение, что библиотека плохая. Может она и хорошая вполне.
А вот вы пишите уже с явным негативом, практически переходя на личности.
Станислав
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3539999#p3539999"]Хочу заметить, что не я так назвал изначально это. И тем более, я спросил "Правильно ли я понимаю"? т.е. у меня изначально сомнение, что библиотека плохая. Может она и хорошая вполне.
А вот вы пишите уже с явным негативом, практически переходя на личности.[/uquote]
не воспринимай на свой счет, это здесь контингент такой кислотный. Периодически заглядывает модер, чистит ветку, кто-то режет карму...
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Сообщение arkhnchul »

[uquote="Ярослав555",url="/forum/viewtopic.php?p=3539838#p3539838"]Есть еще библиотека LL, ее можно в кубе выбрать[/uquote]ее нужно в кубе выбрать)
[uquote="Ярослав555",url="/forum/viewtopic.php?p=3539838#p3539838"]Текущее состояние СПЛ мне неизвестно, но люди проекты на нем делают, вроде работает.[/uquote]ну а чего с ней сделается? Для новых контроллеров ее нет и скорее всего не будет, а у F и L1 никто SPL не отнимал.
Нашел транзистор. Понюхал.
Сообщения: 183
Зарегистрирован: Сб фев 09, 2013 23:00:23

Сообщение alexf58 »

Я в основном электронщик, но немного кода писать приходится. Последнее время любимым контроллером стал STM32. Я знаю, что есть бесплатные версии Keil с ограничением на размер кода, но предпочитаю инструменты без ограничений. И пару лет компилирую на AC6 System Workbench. Не так давно Attolic стал тоже бесплатным без ограничений. Когда-то в нем сильно лучше была интеграция GDB и ST-link, но вроде сейчас на AC6 не жалуюсь.
Такой вопрос: есть ли заметные преимущества Attolic над AC6 System Workbench? А заодно есть ли смысл перешивать ST-link в J-link, что теперь вполне оффициально?
https://www.segger.com/products/debug-p ... -on-board/

По обоим вопросам особенно интересно мнение людей, которые пробовали то и другое для более сложных проектов, чем мигание светодиодом. Спасибо.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

alexf58 , лучшая IDE та в которой ты умеешь работать и решать поставленные задачи. А для расширения кругозора можно и что-то другое попробовать. Только самому, так как мой и твой опыт это две большие разницы.

Насчёт ST-Link <-> J-link. В столе опытного эмбеддера не один десяток отладчиков-программаторов валяется. Они сейчас копейки стоят, купи разных и пользуйся по обстоятельствам. J-link конечно же лучше ST-Link, но хотя бы один захудаленький ST-Link на всякий случай в столе должен валяться.
Нашел транзистор. Понюхал.
Сообщения: 183
Зарегистрирован: Сб фев 09, 2013 23:00:23

Сообщение alexf58 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3547679#p3547679"]Насчёт ST-Link <-> J-link. В столе опытного эмбеддера не один десяток отладчиков-программаторов валяется.[/uquote]

Да у меня их как грязи валяетрся, речь не о том. Есть готовые платы для отладки Nucleo в встроеным ST-link. Его можно перешить в J-link. Вопрос какие от этого реально выгоды? Конечно могу попробовать на досуге, но хотелось бы услышать мнение тех, кто уже делал.

Что до IDE, они оба на Эклипсе и интерфейс почти тот же. Вопрос есть ли у одного дополнительные возможности.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

[uquote="alexf58",url="/forum/viewtopic.php?p=3549307#p3549307"][uquote="VladislavS",url="/forum/viewtopic.php?p=3547679#p3547679"]Вопрос какие от этого реально выгоды?[/uquote]
Слышал у дж-линка намного больше точек останова. Сам то по глупости обновил все свои ст-линки и теперь в дж-линки не шьется. Имею даже китайский клон дж-линка, только чет к МК не могу приконектить.
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

Залез в какие-то дебри... Докапался до файла stm32f10x_rcc.h

В нем есть в конце самом объявление функций различных. А где эти сами функции находятся?

Добавлено after 1 minute 28 seconds:
Искал такой же файл с расширением .с
Не могу найти в папках Кейла.
Станислав
Ответить

Вернуться в «ARM»