|
Библиотеки для STM32 |
|
|
|
 |
Ответов
|
Mar 11 2017, 13:10
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Когда я заводил 1-wire через таймер с ПДП, был первый раз, когда я столкнулся с невозможностью реализации задуманного по вине библиотеки. Opencm3 оказалась слишком медленной. Во всех перечисленных библиотеках очень жирный код. Поражающая избыточность приводит к 1) тормозам, 2) увеличению объема прошивки. Оба этих момента в определенный момент могут подставить подлянку.
На мой взгляд единственным правильным вариантом будет нарабатывать сниппеты. А "обмениваться" быдлокодом смысла не вижу. Самый страшный пример — абдурина. Я тут намедни писал обработчик, работающий с термодатчиком TSYS01. Скачал код для абдурины — думал, шустрей будет. А там такое... Какой-то идиот мало того, что флоаты воткнул, так еще и температуру вычислял по формуле из даташита!!! Я от такого идиотизма вообще в шоке.
Под STM32 тоже полно кода в интернетах можно найти. Мне к девборде заботливые китайцы диск приложили с уймой проектов под калокубы. Я даже пытался было для работы с экранчиком взять готовое, но почитав этот жесточайший быдлокод понял, что так делать ни в коем случае нельзя! Вот каким надо быть чудаком на букву "М", чтобы использовать ногодрыг на проце, имеющем нужную периферию и DMA?
И да, т.к. сами авторы опенцм3 говорят, что библиотека еще в стадии тестирования, лучше ею не пользоваться. После того, как они поменяли API, я решил от этой дряни отказаться. Пока ваяю под STM32F0, и очень даже хорошо все идет. Надо будет только USB откуда-нибудь выдрать (из той же opencm3, например), т.к. хочу посредника между USB и CAN на STM32F042 замутить. Да и просто на F103 я привык с CDC работать вместо подключения лишнего переходника на USART.
Сообщение отредактировал Эдди - Mar 11 2017, 13:13
|
|
|
|
|
Mar 11 2017, 21:49
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(Эдди @ Mar 11 2017, 15:10)  ... Пока ваяю под STM32F0, и очень даже хорошо все идет. Надо будет только USB откуда-нибудь выдрать (из той же opencm3, например), т.к. хочу посредника между USB и CAN на STM32F042 замутить. ... Я когда перетаскивал проект с Меги128 на STM32F072 и нужно было в духе времени по-быстрому USB подцепить вдогонку к RS-232. Так сгенерировал проект на HALе, и первое время, когда с ним разбирался, тоже диву давался тому, как там все понаписано. Но идеология понятна: разработчики хотели добиться переносимости между ВСЕМИ stm32. Поэтому и эта жуткая многослойность различных макросов друг на друге, когда более сложные низкоуровневые постепенно, в несколько этапов, заменяются на применимые к конкретному процессору. И разделение процедур на несколько уровней для разграничения области видимости переменных и функций - тоже прозрачности не прибавляет. Разбираться в этом - пипец полный, но ведь работает  Но глядя на то, сколько у меня суммарно ушло времени на то, чтобы с нуля начал работать проект с USB и прочей периферией, у меня никакого желания нет погружаться сильно в глубь и переписывать библиотеки. Тем более, что периферия у STM32 не такая и простая, как у предыдущих простеньких ПИКов, АВРок и т.д. Частенько разбираешься с HAL (я обычно верхний уровень, а часто и пониже, правлю, выкидывая уж слишком сложные навороты) и видишь манипуляции с флагами периферии, про которые сразу догадаться, что так нужно делать, при чтении документации невозможно. Так что можно "все взять под свой контроль" - но с годами лучше начинаешь понимать, что это мало где нужно. Время уплотняется, все нужно быстрее, быстрее. Сидишь так, вылизываешь код, а год-два проходит (а часто и меньше) - и никому это уже не нужно - давай гони что-то новое. Как то так...
|
|
|
|
|
Mar 12 2017, 16:54
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Цитата(Baser @ Mar 12 2017, 02:49)  Но идеология понятна: разработчики хотели добиться переносимости между ВСЕМИ stm32. Вот только переносимости ЧЕГО - они, видать, так и не придумали.... "HelloWorld" переносить? Потому как при переносе чего существенного все равно возникают проблемы: то тактирование не то, то DMA не совместимы, и вообще, оказывается, одинаковая периферия на самом деле то разная, возможности не те... Поэтому в любом случае, придется немного дорабатывать. И коим образом тут поможет кубохал?
|
|
|
|
Сообщений в этой теме
juvf Библиотеки для STM32 Mar 3 2017, 02:54 arhiv6 SPL тут лежит. Но STM вместо SPL теперь HAL продви... Mar 3 2017, 03:26 juvf Цитата(arhiv6 @ Mar 3 2017, 08:26) SPL ту... Mar 3 2017, 06:22  MoskWin32 Цитата(juvf @ Mar 3 2017, 09:22) А для st... Mar 3 2017, 06:47  arhiv6 Цитата(juvf @ Mar 3 2017, 13:22) Спасибо.... Mar 3 2017, 06:54  jcxz Цитата(juvf @ Mar 3 2017, 08:22) можно и ... Mar 3 2017, 14:31   juvf Цитата(jcxz @ Mar 3 2017, 19:31) Самостоя... Mar 3 2017, 18:43  Utyff Цитата(juvf @ Mar 3 2017, 09:22) можно и ... Mar 3 2017, 15:21   scifi Цитата(Utyff @ Mar 3 2017, 18:21) Снипеты... Mar 3 2017, 15:26    dxp QUOTE (scifi @ Mar 3 2017, 22:26) Интерес... Mar 4 2017, 04:59     Эдди Цитата(dxp @ Mar 4 2017, 07:59) Или вот.
... Mar 4 2017, 09:07 Эдди Нет их. Пользуйтесь сниппетами. Я сам отказался уж... Mar 3 2017, 05:38 demiurg_spb Цитата(Эдди @ Mar 3 2017, 08:38) Я сам от... Mar 3 2017, 13:38  Эдди Цитата(demiurg_spb @ Mar 3 2017, 16:38) Ч... Mar 3 2017, 15:27   scifi Цитата(Эдди @ Mar 3 2017, 18:27) Когда по... Mar 3 2017, 15:31 PheeL Кстати, просветите насчёт сниппетов, пожалуйста. Н... Mar 3 2017, 13:51 Эдди Ну, я раньше на это не обратил внимания.
Иначе, ес... Mar 3 2017, 16:53 Genadi Zawidowski Цитатастрашен стартап? Вот, к примеру, мой
стек за... Mar 3 2017, 19:22 scifi Цитата(Genadi Zawidowski @ Mar 3 2017, 22... Mar 3 2017, 21:21 Genadi Zawidowski "огласите весь список, ппожалуйста!... Mar 3 2017, 23:16 jcxz Цитата(Genadi Zawidowski @ Mar 4 2017, 01... Mar 4 2017, 11:43  zltigo Цитата(jcxz @ Mar 4 2017, 13:43) А что в ... Mar 4 2017, 14:27   pitt Цитата(zltigo @ Mar 4 2017, 09:27) Неправ... Mar 4 2017, 15:08    SSerge Цитата(pitt @ Mar 4 2017, 22:08) Agreed 1... Mar 4 2017, 15:42 Шаманъ Что-то я не понял про привязку. У меня таблица век... Mar 5 2017, 07:04 jcxz Цитата(Шаманъ @ Mar 5 2017, 09:04) Что-то... Mar 5 2017, 20:34  Шаманъ Цитата(jcxz @ Mar 5 2017, 23:34) Скорее т... Mar 7 2017, 04:08   jcxz Цитата(Шаманъ @ Mar 7 2017, 06:08) Ну зач... Mar 7 2017, 09:57    Шаманъ Цитата(jcxz @ Mar 7 2017, 12:57) И какой ... Mar 7 2017, 15:52 Genadi Zawidowski А есть люди, кто этот массив частично описывают в ... Mar 5 2017, 10:12 yanvasiij Для этого же проца не нашел в свое время SPL. Приш... Mar 10 2017, 17:46 Эдди Цитата(yanvasiij @ Mar 10 2017, 20:46) не... Mar 11 2017, 05:01 yanvasiij Это избитая холиварная тема, спорить на которую мо... Mar 11 2017, 06:52 juvf Цитата(yanvasiij @ Mar 11 2017, 11:52) См... Mar 11 2017, 07:29  jcxz Цитата(Baser @ Mar 11 2017, 23:49) Тем бо... Mar 12 2017, 07:44 Эдди Вот если бы STMщики вместо идиотизма с SPL/калокуб... Mar 12 2017, 13:39 jcxz Цитата(Эдди @ Mar 12 2017, 15:39) Непонят... Mar 12 2017, 14:10 juvf наброс говна на вентилятор продолжаем разговор....... Mar 13 2017, 05:51 Alechek Цитата(juvf @ Mar 13 2017, 10:51) LL - эт... Mar 13 2017, 09:39  jcxz Цитата(Alechek @ Mar 13 2017, 11:39) У ме... Mar 13 2017, 10:41   Velund QUOTE (jcxz @ Mar 13 2017, 13:41) Во-во -... Mar 14 2017, 11:04 Эдди Для set/clear/toggle функции не нужны, делается эт... Mar 13 2017, 08:43 Genadi Zawidowski Оооо! Я тоже на таком же велосипеде езжу!
... Mar 14 2017, 16:32 Эдди На русском комментарии делать некультурно, между п... Mar 14 2017, 17:48 ViKo Цитата(Эдди @ Mar 14 2017, 20:48) На русс... Mar 14 2017, 17:59 Эдди По крайней мере, он хотя бы поймет, о чем речь... Mar 14 2017, 20:42 Genadi Zawidowski Между прочим, на pudn кто-то залил архив моего про... Mar 14 2017, 22:28 Velund QUOTE (Genadi Zawidowski @ Mar 15 2017, 01... Mar 26 2017, 23:43 ViKo Поделитесь примером с комментариями на английском,... Mar 27 2017, 04:11 Velund QUOTE (ViKo @ Mar 27 2017, 07:11) Поделит... Mar 28 2017, 00:43 Эдди Что-то у вас излишне комментариев. Например, зачем... Mar 28 2017, 05:00 Шаманъ Цитата(Эдди @ Mar 28 2017, 08:00) Что-то ... Mar 28 2017, 07:05  Alechek Цитата(Шаманъ @ Mar 28 2017, 12:05) Комме... Mar 29 2017, 06:29 jcxz Цитата(Эдди @ Mar 28 2017, 07:00) Что-то ... Mar 28 2017, 07:22 Baser Цитата(Эдди @ Mar 28 2017, 08:00) Наприме... Mar 28 2017, 10:14  Obam Цитата(Baser @ Mar 28 2017, 14:14) 2. Как... Mar 28 2017, 11:19 Obam "…зачем комментировать очевидное — паузы?…... Mar 28 2017, 07:44 Сергей Борщ QUOTE (Obam @ Mar 28 2017, 09:44) А для ч... Mar 28 2017, 08:07 Эдди Цитата(Obam @ Mar 28 2017, 10:44) А для ч... Mar 28 2017, 10:05 Эдди Ну, я стараюсь только неочевидные вещи комментиров... Mar 28 2017, 11:05 juvf есть такое...... хороший код в коментариях не нужд... Mar 29 2017, 04:54 jcxz Цитата(juvf @ Mar 29 2017, 06:54) У Velun... Mar 29 2017, 08:26  Forger Цитата(jcxz @ Mar 29 2017, 11:26) Поэтому... Mar 29 2017, 16:47   juvf Цитата(Forger @ Mar 29 2017, 21:47) В сво... Mar 30 2017, 09:39    Forger Цитата(juvf @ Mar 30 2017, 12:39) а мне п... Mar 30 2017, 10:34    Aaron Цитата(juvf @ Mar 30 2017, 12:39) а мне п... Apr 3 2017, 08:55     Forger Цитата(Aaron @ Apr 3 2017, 11:55) Как раз... Apr 3 2017, 09:06   Alechek Цитата(Forger @ Mar 29 2017, 21:47) Благо... Apr 1 2017, 06:37    Forger Цитата(Alechek @ Apr 1 2017, 09:37) Если ... Apr 1 2017, 09:25  zltigo Цитата(jcxz @ Mar 29 2017, 11:26) Очень ч... Apr 1 2017, 16:24 ViKo Моё.
CODE
/*!*********************************... Mar 29 2017, 07:29 Obam "Я, бывает, вначале комментариями пишу, что д... Mar 29 2017, 07:36 Kabdim +1 за гугльстайл. Самый вменяемый стайлгайд на дан... Apr 3 2017, 09:41 juvf Цитата(Kabdim @ Apr 3 2017, 14:41) +1 за ... Apr 3 2017, 10:34  Forger Цитата(juvf @ Apr 3 2017, 13:34) quitonla... Apr 3 2017, 12:37  Kabdim Цитата(juvf @ Apr 3 2017, 13:34) tablenam... Apr 3 2017, 12:58   Forger Цитата(Kabdim @ Apr 3 2017, 15:58) Как по... Apr 3 2017, 13:44   juvf Цитата(Kabdim @ Apr 3 2017, 17:58) А по п... Apr 4 2017, 05:31    Kabdim Цитата(Forger @ Apr 3 2017, 19:04) Но это... Apr 4 2017, 07:22     juvf Цитата(Kabdim @ Apr 4 2017, 12:22) Тут то... Apr 4 2017, 08:25 Aaron К чему холивар, Kabdim? Главное не инструмент (кои... Apr 3 2017, 13:51 Kabdim Извиняюсь, если мои посты вызвали ощущение холивар... Apr 3 2017, 15:39 Forger Цитата(Kabdim @ Apr 3 2017, 18:39) И при ... Apr 3 2017, 15:44  Kabdim Цитата(Forger @ Apr 3 2017, 18:44) Затрат... Apr 3 2017, 15:51   Forger Цитата(Kabdim @ Apr 3 2017, 18:51) Выходи... Apr 3 2017, 15:58    Kabdim Цитата(Forger @ Apr 3 2017, 18:58) Нужен,... Apr 3 2017, 16:00     Forger Цитата(Kabdim @ Apr 3 2017, 19:00) Чем пу... Apr 3 2017, 16:04      zltigo Цитата(Forger @ Apr 3 2017, 19:04) Но это... Apr 4 2017, 08:54       Forger Цитата(zltigo @ Apr 4 2017, 11:54) При эт... Apr 4 2017, 09:20        jcxz Цитата(Forger @ Apr 4 2017, 11:20) скажем... Apr 4 2017, 09:23        juvf Цитата(Forger @ Apr 4 2017, 14:20) приход... Apr 4 2017, 12:33         scifi Цитата(juvf @ Apr 4 2017, 15:33) я тоже н... Apr 4 2017, 12:40 Kabdim Цитата(juvf @ Apr 4 2017, 11:25) я говорю... Apr 4 2017, 08:56 Forger Цитата(Kabdim @ Apr 4 2017, 11:56) Кмк эт... Apr 4 2017, 10:28  Kabdim Цитата(Forger @ Apr 4 2017, 13:28) В С++ ... Apr 4 2017, 11:25 Aaron очевидно же - у класса есть конструкторы/деструкто... Apr 4 2017, 09:30 jcxz Цитата(Aaron @ Apr 4 2017, 11:30) очевидн... Apr 4 2017, 10:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|