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

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

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

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

ARV писал(а):мне ни DMA не требуется, ни UART...
Прерывания отключаете во время обмена по 1-Wire. Или задействовали Timer1 для отсчета временных интервалов?
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

Мурик писал(а):Прерывания отключаете во время обмена по 1-Wire. Или
это к теме топика не относится
Eddy_Em писал(а):А хочет решать проблемы не эффективным способом, а экстенсивным!
ну так на то и прогресс!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

Eddy_Em, а чем SPL/SPI/DMA не устроило?
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

ARV писал(а):на то и прогресс!
ЧОрД! Опять я эти два слова перепутал. Надо усиленно лечить мозг ☺
В данном случае, естественно, интенсификация имелась в виду. Потому как вместо нормального адекватного подхода используется подход "[censored]-[censored] — и в продакшн!" — так любимый абдуринщиками и недотепами.
ПростоНуб писал(а):Eddy_Em, а чем SPL/SPI/DMA не устроило?
Во-первых, SPL == кал. Во-вторых, оно еще и deprecated!
Нет уж, если писать правильно, то только на голых CMSIS.

Ну, а вообще, понятно, что можно было бы даже из SPL выдрать нужный алгоритм. Был бы он. Когда я вижу код, разбросанный по 2-3 файла в туче директорий, я воспринимаю это как издевательство! И даже makefile отсутствует, чтобы посмотреть, что да как — это уж совсем ни в какие ворота не лезет...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

Eddy_Em, оригинально. SPL предоставляет все необходимые определения во включаемых файлах и рабочие примеры, позволяя а любой момент работать с железом напрямую, чего не скажешь о CMSIS, предлагающий существенно более высокий уровень абстракции. Тогда понятно, почему 100КГц на STM32 вам кажется много, а до четырех мегагерц на Ардуине для анимации на LCD вполне нормален )))
Реклама
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

ПростоНуб, жуть в полоску! Вам SPL кажется нормальным? Ну-ну...
Там ужасный оверхед. Одно дело - использовать эти функции на стадии инициализации (но ведь работа двойная: и даташит читать, и исходники SPL!), и совсем другое — во время работы. Я уже выше упоминал, как мучился с opencm3, не понимая, почему оно мне лишние импульсы на 1-wire дает. А все оказалось просто: библиотека "не успевала" вопремя сделать нужные присваивания. Напрямую все заработало прекрасно.
Посмотрите в код у меня на гитхабе: без SPL/калокуба/прочей дряни все получается намного эффективней + читать (а значит и поддерживать) это проще. Разве что USB не было — на основе набросков кода, которым поделился товарищ на mcu.goodboard.ru, я сделал USB-HID (эмуляция клавиатуры и мыши) и эмуляцию PL2303. Начал было делать классический USB ACM, но как-то все некогда добить его. Да и не нужен мне он: мне эмуляция pl2303 больше нравится, т.к. в системе появляется /dev/ttyUSBx, а не поганый /dev/ttyACMx (во втором случае в некоторых недоработанных дистрибутивах на появление этого устройства откликается modemd и "захватывает" его, не позволяя открыть порт напрямую).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Реклама
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

Eddy_Em, я почти не пользуюсь функциями SPL, я пользуюсь ее включаемыми файлами и смотрю исходники функций, для лучшего понимания даташит. И очень часто это мне экономит уйму времени, так как какой-то ERRATA могу и пропустить. А вот с CMSIS есть смысл общаться только если важна кроссплатформенность (возможность переноса кода на другой МК, обычно, более производителный). Хотя исходники CMSIS изучаю так же с удовольствием )
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

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

Сообщение Reflector »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704006#p3704006"]я почти не пользуюсь функциями SPL, я пользуюсь ее включаемыми файлами и смотрю исходники функций, для лучшего понимания даташит.[/uquote]
Те кто совсем не пользуются SPL подключают один CMSIS хедер и все, что, кстати, не мешает им просматривать исходники функций чего угодно.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3384
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

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

ARV писал(а):это к теме топика не относится
А ваши сообщения как к теме относятся? :facepalm: Вы пишите для STM32 или других ARM контроллеров? Вы лишь засоряете флудом эту тему, для и вообще раздел ARM. :facepalm:
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

Reflector, а смысл? CMSIS более высокоуровневый, чем SPL. Поэтому в качестве примера работы непосредственно с аппаратными средствами МК он менее удобен, чем SPL. Дольше продираться до нужного кода. А включаемые файлы SPL меня вполне устраивают, занимая существенно меньший объем, чем включаемые файлы CMSIS, что только положительно влияет на время сборки.
Понятно, что зависит от проекта. На младших STM32 толку от CMSIS мало. На старших он вполне востребован. Но необходимость в старших STM32 возникает очень редко, а в младших - часто. А чаще всего необходимость возникает вообще в STM8/AVR )
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

ПростоНуб писал(а):А вот с CMSIS есть смысл общаться только если важна кроссплатформенность
Чегооо???
ПростоНуб писал(а):CMSIS более высокоуровневый, чем SPL.
Чегооо???
ПростоНуб писал(а):включаемые файлы SPL меня вполне устраивают, занимая существенно меньший объем, чем включаемые файлы CMSIS
Блин, ну просто перманентное деление на нуль! А ничего, что заголовки SPL включают (автоматом) еще и заголовки CMSIS?
ПростоНуб писал(а):На младших STM32 толку от CMSIS мало
Опять деление на нуль.
ПростоНуб писал(а):А чаще всего необходимость возникает вообще в STM8/AVR
Сейчас между STM32F030 и STM8S105 разница в цене столь несущественная, что для мелких серий проще ARM взять, чем восьмибитник. А аврки в наше время только уж совсем динозавры используют (т.к. у аврок слишком скудный набор периферии + они намного дороже тех же STM8).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

Eddy_Em, Сравните потребление STM8L152 с потреблением любого STM32 и расслабьтесь )))
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

ПростоНуб, у меня нет потребности в изготовлении питающихся от батарейки устройств! Рядом всегда есть розетка, большой аккумулятор или генератор.
Но и STM32 бывают L-серии. Правда, дорогущие жутко. Здесь — да, выгодней может быть STM8 взять.

Ну а вам, дорогой, я советую-таки погуглить, что такое CMSIS. А то такое невежество показываете...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

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

Сообщение Reflector »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3704130#p3704130"]Но и STM32 бывают L-серии. Правда, дорогущие жутко.[/uquote]
Где они дорогущие? STM32L151C8T6 - $1.17 поштучно на али, 5 шт. STM32L011D3P6 - $4.81.
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

Eddy_Em, у Вас переполение, как Вы сами выразились, так что войду в положение.
CMSIS включает в себя кроме драйверов переферии еще кучу кода, например, для того же RTOS. Он откровенно избыточен, если я не собираюсь вообще пользоваться стандартными библиотеками. Тогда как SPL ограничивается только CMSIS-Core и драйверами переферии, занимая в два раза меньше места, чем CMSIS. А значит grep по нему ищет в два раза быстрее.
Если же говорить о непосредственно коде для работы с переферией, то, по крайней мере у ST, я различий между CMSIS и STL еще ни разу не обнаружил. Код идентичен. И если он Вам не нравится в SPL, то почему тот же самый код нравится в CMSIS - для меня загадка )))
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

Reflector писал(а):5 шт. STM32L011D3P6 - $4.81.
Дорогущие — если сравнивать с STM8S003 или ARM'ами (посмотрите, почем на али STM32F030 в 20-ногом корпусе).
Но с точки зрения энергопотребления — да, из маложрущих они почти самые дешевые.
ПростоНуб писал(а):CMSIS включает в себя кроме драйверов переферии еще кучу кода, например, для того же RTOS.
Где здесь ртось? Что за чушь?
Естественно, под CMSIS имеется в виду базовый набор заголовочных файлов для ARM, безо всяких там ртосей и прочего мусора!
ПростоНуб писал(а):я различий между CMSIS и SPL еще ни разу не обнаружил
Ну ничего ж себе: есть разница между REG1 = VAL1,… REGN=VALN или struct.field1 = x,… struct.fieldn = y, initSMTH(&struct)?
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

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

Сообщение Reflector »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3704171#p3704171"]Дорогущие — если сравнивать с STM8S003 или ARM'ами (посмотрите, почем на али STM32F030 в 20-ногом корпусе).[/uquote]
И зачем сравнивать STM32L с STM8S? $1.17 - это фактически цена по которой продают F103 или F072, с мелкими корпусами похуже, то мелкий STM8L тоже стоит ~$0.5, так что на любительском уровне я никакой особой дороговизны не вижу.

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704146#p3704146"]CMSIS включает в себя кроме драйверов переферии еще кучу кода, например, для того же RTOS. Он откровенно избыточен, если я не собираюсь вообще пользоваться стандартными библиотеками. Тогда как SPL ограничивается только CMSIS-Core и драйверами переферии, занимая в два раза меньше места, чем CMSIS. А значит grep по нему ищет в два раза быстрее.[/uquote]
SPL не просто юзает только CMSIS-Core, если списать SPL от ST, то там кроме CMSIS-Core есть разве что один мелкий хедер для RTOS. Более того в том-же visualgdb, которым я пользуюсь, все то же самое, потому после удаления HAL/SPL остается лишь CMSIS-Core. Дальше я обычно еще удаляю лишние файлы и в типичном проекте остается ~4 файла:

Код: Выделить всё

stm32f3xx.h
stm32f303xc.h
cmsis_gcc.h
core_cm4.h
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

Reflector, я не знаю о чем Вы, но если скачать, для пример SPL и CMSIS для STM32F10x, то в содержимое директорий STM32F10x_StdPeriph_Driver\inc и STM32F10x_StdPeriph_Driver\src в SPL идентично содержимому директорий StdPeriph_Driver\inc и StdPeriph_Driver\src в CMSIS.
А разбираться с конкретным железом через SPL код намного проще, чем через код RTE драйвера.
А вот содержимое STM32F10x_StdPeriph_Driver\inc (или идентичного StdPeriph_Driver\inc) очень удобно и полезно при написании собственного кода. Совершенно зря Вы его выкидываете.
Аватара пользователя
Myp3ik
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Вс янв 09, 2011 23:05:37
Откуда: СССР

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

Сообщение Myp3ik »

ПростоНуб, а Вы случаем CMSIS и HAL не перепутали ? CMSIS - это набор низкоуровневых библиотек от ARM.
Иван Сусанин - первый полупроводник :solder:
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

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

Сообщение ПростоНуб »

Myp3ik, читайте внимательней. Я именно это и писал, что в SPL и CMSIS стандартные переферийные драйвера идентичны, но в CMSIS так же есть RTE драйвера, RTOS, DSP и NN. HAL тут вообще при чем?
Ответить

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