Перейти к содержанию

STM32 старт с CMSIS


Рекомендуемые сообщения

Попробуем разобраться в основах программирования под платформу STM32

Ссылка на статью: http://cxem.net/mc/mc447.php

Автор статьи: http://cxem.net/profile/18172/

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Quote

Просто? Максимально! Ну и где теперь HAL и SPL?

ну я бы так с ходу шашечкой то не махал. Для мигания диодиком сойдет, а вот для листинга текстовым объемом в 50-200 кило (а для АРМ это не редкость вовсе) сопровождение такого кода быстро превратится в ад.

Quote

ут не уместно использовать присвоение так как на этом же порту находятся пины SWD, поставите равно и придется поднимать камень с помощью connect under reset в программе STLink

все так про SWD. Только пугать не обязательно. Вопрос заливки новой прошивки решается без всяких танцев с бубном. Надо просто перед нажатием на кнопочку - залить, зажать ресет и отпустить. У программатора таймаут секунда. Все зальется в лучшем виде без всяких лишних прог. Попробуйте

Quote

лично я для этого настраивал SysTick (это такой системный таймер который может только считать

для помигать диодиком сойдет, но через 4,5 часа он переполняется и надо чутка костылей, чтобы на границе ваша прога не повисла на месяц. Поэтому просто так бездумно лучше не пользоваться. Есть стандартные таймеры и они на то и заточены. Да и систик не на то в ядре заложен. Он нужен для RTOS. Так что на перспективу лучше вообще забыть про этот таймер и не привыкать к нему особо. Хотя конечно на таймбэйз в той же CMSYS OS можно подключить любой доступный таймер общего назначения при конфигурации. А ОС полюбому понадобится (и ее применение оправдано целиком и полностью) уже начиная с F1xx. Да и на этом камне можно запустить 5-6 процессов, если лень писать свой диспетчер. А программа мигания светодиодом будет занимать 0,001% вместо 100% как у вас в примере и при этом не задействует ни единого тамера (системный не в счет, он априори под ОС)

Quote

Теперь немного о размере

совершенно бессмысленное стремление выиграть пару байтов. При такой скромной периферии и числе ног использовать все 16К будет весьма непросто даже на HAL, не говоря уж о голом регистровом коде. А экономия требует затрат времени. А если нет смысла его тратить, зачем тратить?

 

В остальном вполне толково написано. Для конкретно этого камня конкретно такой метод кодинга вполне оправдан. Но с переходом на вещи посерьезнее все же потребуется работа с библиотеками. Иначе соотношение время/выхлоп будет уже не в пользу STM32. В конце концов не зря же в эти камни заложено стоооолько ресурсов. Именно за тем, чтобы о них не думать при кодописании. Хотя знать основы конечно очень желательно

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

4 hours ago, mail_robot said:

ну я бы так с ходу шашечкой то не махал. Для мигания диодиком сойдет, а вот для листинга текстовым объемом в 50-200 кило (а для АРМ это не редкость вовсе) сопровождение такого кода быстро превратится в ад.

С C++ ничего не превратится, уровней абстракции хоть сколько пишите. Сложности тут нет, заверни в функцию убери в другой файл вот тебе и абстракция. Скажем с прерываниями работать нагляднее без библиотек.

4 hours ago, mail_robot said:

Только пугать не обязательно.

Новички обязательно вляпаются, сколько форумов этим вопросом забито? Пробовал знаю.

4 hours ago, mail_robot said:

как у вас в примере

Как то не правильно с первого примера ОСРВ предлагать не правда ли? Мы же тут не проект обсуждаем. Для задержек сойдет вполне, а чтобы на границе не висло нужно немного мозга подключить. Если статьи будут интересны то уже в следующей я это обязательно освещу.

4 hours ago, mail_robot said:

совершенно бессмысленное стремление выиграть пару байтов

В МК оно будет всегда, есть проекты где это не актуально, но у нас так привыкли обсирать GCC не умеючи им пользоваться, что я не сдержался :) Это все спорная тема напоминающая холивар, не хочу ее поднимать совсем, каждый самурай своим путем пусть идет, я лишь предлогаю один из многих, кто то и на асме пишет, и молодец!

Спасибо за отзыв, по работе с библиотеками написано тонны мукулатуры, а вот без оных не много, чем бы я отличился если бы опять ардуинщиков плодил?)

Ссылка на комментарий
Поделиться на другие сайты

Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

я думаю что подобные статьи будут интересны здесь очень многим и вы несомненно делаете нужную работу. В отличие от тех кто в стописятпервый раз начинает свои поучительные статьи про давно уже не актуальный авр, который и так уже заездили в хвост и в гриву и лучше он от этого не стал. А при мысли взять в руки современный камень народ обычно охватывает дикий ужас.

Но не об этом сейчас.

Вы вот очень переживаете за авторитет GCC, но так вот прям сказать что он незаслуженно задвинут... да нет вроде. Любой кто захочет попробовать CooCox (ну или эклипс) альтернативы то не найдет. И я сам некоторое время компилировал только им, пока не столкнулся с его естественными ограничениями. Да да, тот тамый С++ который вы уже отрекомендовали. Не хотят они жить дружно. Зато коммерсанты шпарят на нем - только держись. Это хорошо, что есть и GCC тоже, но ангажировать его настолько явно... зачем? 

9 hours ago, CoBa31Rus said:

чем бы я отличился если бы опять ардуинщиков плодил?)

а с чего вы взяли, что будете их плодить? Они сами расплодятся когда им надо будет. А стандартные библиотеки (будь то HAL или SPL) к ардуино-коду никакого отношения не имеют.

И в вашей статье кстати описан конечно один из возможных, но все таки достаточно сложный путь. Писать руками мэйк-файлы и крутить довольно деревянный отладчик скорее всего никто не согласится, когда есть куча альтернатив, делающих это на автомате одной кнопкой.

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

1 hour ago, mail_robot said:

пока не столкнулся с его естественными ограничениями

Можно подробнее?

1 hour ago, mail_robot said:

деревянный отладчик

и вот тут тоже, в чем его деревянность? Он не удобен из за консоли это да, есть обертки.

Ссылка на комментарий
Поделиться на другие сайты

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

ну и из-за консоли в том числе. А еще нужно и в железе уметь отлаживать, а не только из кода баги вылавливать

в любом случае работать из консоли у вас не получится. Это мазохизм. Придется ставить IDE и соответственно часть работы автоматизировать. Пропадет необходимость писать и мэйки и зависеть только от GCC

2 hours ago, CoBa31Rus said:

Можно подробнее?

я уже кажется писал о подробностях. Вы не внимательно читаете

4 hours ago, mail_robot said:

тот тамый С++

GCC хороший бесплатный процедурный компилятор. На этом все его достоинства и заканчиваются. Мне он не понравился низкой скоростью компиляции. Сидеть и ждать каждый раз 10-15 секунд на ребилде быстро надоедает. На тот же самый код у коммерческого компилятора уходит 2-3 секунды. Для кода размером с мигалку пойдет, потом станет напряжно

У меня встречный вопрос - А чем вам так не понравились редакторы Keil и IAR? Что конкретно в них такого дубового? Что они не позволяют делать такого нужного, необходимого, удобного? Желательно без общих фраз, чисто по делу. И тот же вопрос по компиляторам - чем они конкретно хуже GCC? А то в статье упомянуто, что этот вопрос затронется, а конкретики так и не последовало

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

27 minutes ago, mail_robot said:

Сидеть и ждать каждый раз 10-15 секунд на ребилде быстро надоедает.

Код в студию. И скрин где он же за 2-3 сек собирается тоже.

28 minutes ago, mail_robot said:

А чем вам так не понравились редакторы Keil и IAR?

Подсветка, убогий перенос строки из за которого Keil ложится на лопатки, дерево проекта вообще можно бесконечно критиковать, абсолютно не логичное расположение настроек проекта. Про компилятор я не слова не говорил, компилятор нормальный во всех смыслах, я лишь указал что GCC не так плох как его иногда описывают, пишите в Keil? Пишите! Про IAR вообще ничего не знаю, мне хватило одного взгляда на скриншотах чтобы вспомнить старый добрый ламповый вынь98, и что то на подобие VisualBasic 6.0.

34 minutes ago, mail_robot said:

в любом случае работать из консоли у вас не получится

Интересное утверждение, вы уверены?

35 minutes ago, mail_robot said:

процедурный компилятор

Понятия не имею о чем вы. Что есть процедурный компилятор? Процедурным может быть ЯП.

40 minutes ago, mail_robot said:

Вы не внимательно читаете

Привидите конкретные ограничения GCC, я чегото не уловил.

Ссылка на комментарий
Поделиться на другие сайты

1 hour ago, mail_robot said:

А еще нужно и в железе уметь отлаживать, а не только из кода баги вылавливать

А я чем занимаюсь по вашему? Отладка в железе не из кода баги отлавливает?

Ссылка на комментарий
Поделиться на другие сайты

 

я в третий раз повторю - С++ GCC отказывается компилировать.  А g++ под арм я еще не встречал пока.

2 hours ago, CoBa31Rus said:

Код в студию

у вас дефицит собственного кода? Что мешает попробовать самостоятельно померить время и убедиться лично?

2 hours ago, CoBa31Rus said:

Интересное утверждение, вы уверены?

не совсем ясно выразился. Работать получится. Работать по настоящему продуктивно, сомневаюсь. OpenOCD далеко не шедевр отладки. Любая IDE по производительности метода уделает все ваши потуги угодить великому линуху.

2018-03-08_21-33-52.thumb.png.adc1138dc880ca3b3471f53b10a28fd8.png

подсветка вроде есть, дерево как дерево. Мало подсветки? Дык вообще то не все любят "пестрый" код. Вполне себе сдержанная цветовая схема. Все главное выделено, ничего лишнего. А в дереве те же самые абсолютно деревянные файлы на своих местах. Какие там еще настройки то? Настройки проекта чтоли? Там просто окошко отдельное, настраивай чего угодно.

Вы сударь просто ознакомились поверхностно. Видимо так же как с IAR-ом. А рассуждать о вкусе устриц не пробовав их... некрасиво

2 hours ago, CoBa31Rus said:

я лишь указал что GCC не так плох

не так плох, обычно означает - так себе, но в целом терпимо. Именно такое впечатление у меня сложилось после года использования. Потом плюнул и пересел на нормальный компилятор, потому как мне работать надо, а не танцевать вокруг какого то еще там компилятора ради понтов

2 hours ago, CoBa31Rus said:

убогий перенос строки

отработка нажатия на enter чтоли? Вы в курсе вообще, что существует как минимум 5 стандартов отработки автоформатирования кода. Keil выдерживает свой, GNU форматтеры соответственно свой. Разница конечно есть, и если вы попытаетесь расставлять скобки не там где они должны быть, то и там и там получите убогий перенос, если привыкли к обратному. Со стандартными форматами кода можно ознакомиться в настройках (к примеру) KDevelop

То есть вывод - вы предвзято и не очень грамотно ангажируете одно, обсерая другое. Вот и все

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

52 minutes ago, mail_robot said:

А g++ под арм я еще не встречал пока.

Ну значит вы и не вникали в мою статью, там же в makefile есть правило для сборки c++, мало того он и стандарты С++14 поддерживает, плохо смотрели. Посмотрите на состав тулчейна.

56 minutes ago, mail_robot said:

Что мешает попробовать самостоятельно померить время и убедиться лично?

Отсутствие Keil и винды.

57 minutes ago, mail_robot said:

OpenOCD далеко не шедевр отладки.

Никто не шедевр.

58 minutes ago, mail_robot said:

Работать по настоящему продуктивно, сомневаюсь.

Чего нет в GDB что есть в Keil?

59 minutes ago, mail_robot said:

вроде есть

А вроде и глаза кровоточат. Ручное добавление файлов в это недодерево? Сборка для того чтобы проиндексировать? Такого даже !!!GEANY!!! себе не позволяет при этом не являясь IDE от слова совсем.

 

1 hour ago, mail_robot said:

Вы сударь просто ознакомились поверхностно.

А этого уже хватило.

 

1 hour ago, mail_robot said:

не так плох, обычно означает - так себе, но в целом терпимо

Что не устроило? Конкретно.

 

1 hour ago, mail_robot said:

отработка нажатия на enter чтоли

Нет, Enter в конце файла без которого кина не будет.

1 hour ago, mail_robot said:

То есть вывод - вы предвзято и не очень грамотно ангажируете одно, обсерая другое. Вот и все

Вывод холивар не меняется. Прошу его оставить.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

×
×
  • Создать...