реклама на сайте
подробности

 
 
> libopencm3, Неплохая либа для кортексов...
demiurg_spb
сообщение Mar 15 2013, 06:35
Сообщение #1


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



https://github.com/libopencm3/libopencm3

ИМХО хорошая альтернатива стандартной библиотеке от ST и не только.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Oct 6 2015, 06:28
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Вот вам на пальцах:

Ну берем SPI, настраиваем по кубовски на ДМА слейв прием, все там подключаем, запускаем, вроде как работает.

Идем дальше, хотим сделать так, буфер 1024 байта, заполняется по ДМА, время от времени проверяем его и если в нем уже есть полное сообщение (определяется по размеру сообщения в заголовке и по тому сколько байт приняло ДМА), забираем сообщение и перенастриваем ДМА на прием нового сообщения. Казалось бы все функции есть, и тут на тебе!

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

Ну дальше мы добавляем кучу ошибок ввиде переменных у которых забили valotile и следовательно при оптимизации отличной от none половина задержек виснет насмерть. Дальше добавляем задержки через while которые убивают RTOS если вдруг до нее дойдет.

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

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


Все естественно ИМХО.





Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 6 2015, 06:34
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Golikov A. @ Oct 6 2015, 09:28) *
К этому так же надо добавить наличие просто ошибок, коих немало в кубе, то есть не оглядываясь его использовать во взрослом проекте нельзя. А если мне надо его весь прочитать и перелопатить, то почему бы мне не сделать свою нормальную библиотеку?

Все естественно ИМХО.


Дак так и получается, если делать не один проект, то все-равно дорабатываешь либы под себя и убираешь ошибки. Но ИМХО, писать с нуля, например усб стеки - ну это для отпетых "гурманов" biggrin.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Oct 6 2015, 07:17
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(mantech @ Oct 6 2015, 09:34) *
Но ИМХО, писать с нуля, например усб стеки - ну это для отпетых "гурманов" biggrin.gif

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

Цитата(SasaVitebsk @ Oct 6 2015, 10:11) *
У меня создаётся впечатление, что библиотеками пользуются те, кто сами вообще ничего не пишут. А берут готовый пример с просторов инета, и прикручивают что-то своё с косяками.

+1. Запустить UART - это вообще тривиально. А режимы там разные могут быть, как верное подмечено, то есть рассчитывать на то, что чудо-библиотека всё сделает сама, не стоит. Если UART пугает, то, может, и подходить к МК не нужно?

Цитата(SasaVitebsk @ Oct 6 2015, 10:11) *
Например Ethernet. Но думаю, там то же самое. Просто недостаток моих знаний и времени. Я уверен, что если переписать это всё под себя то работать будет комфортней намного.

Я думаю, самому делать TCP - неблагодарное занятие. Читать все эти RFC (а их много), отлаживать алгоритмы в реальных условиях (а эти условия могут быть сильно разные) - куча работы. Если кто-то это уже проделал, глупо повторять этот же путь снова.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- demiurg_spb   libopencm3   Mar 15 2013, 06:35
- - zhevak   Цитата(demiurg_spb @ Mar 15 2013, 12:35) ...   Mar 15 2013, 07:04
- - esaulenka   Тут есть пользователи этой библиотеки? Первое впе...   Apr 3 2015, 08:06
|- - demiurg_spb   Цитата(esaulenka @ Apr 3 2015, 11:06) Тут...   Apr 3 2015, 13:24
- - AlexandrY   Цитата(demiurg_spb @ Mar 15 2013, 09:35) ...   Apr 3 2015, 10:38
- - klen   голосую за libcm3 Spl еще както было похоже на что...   Apr 4 2015, 07:36
|- - kan35   Цитата(klen @ Apr 4 2015, 10:36) голосую ...   Apr 12 2015, 15:50
|- - Dr.Alex   Цитата(kan35 @ Apr 12 2015, 18:50) Запуск...   Apr 12 2015, 17:17
- - _Pasha   Цитата(esaulenka @ Apr 3 2015, 11:06) Соб...   Apr 6 2015, 14:49
|- - esaulenka   Цитата(_Pasha @ Apr 6 2015, 17:49) у меня...   Apr 7 2015, 10:45
- - Golikov A.   А какая связь наличие или отсутствия while (бит) и...   Apr 13 2015, 06:45
|- - Dr.Alex   Цитата(Golikov A. @ Apr 13 2015, 09:45) А...   Apr 13 2015, 07:27
- - Golikov A.   строго говоря я не под что не пишу while(условие)....   Apr 13 2015, 09:28
|- - Dr.Alex   Цитата(Golikov A. @ Apr 13 2015, 12:28) с...   Apr 13 2015, 09:44
|- - AlexandrY   Цитата(Golikov A. @ Apr 13 2015, 12:28) с...   Apr 13 2015, 09:52
- - Golikov A.   понятно, спасибо...   Apr 13 2015, 09:56
- - SasaVitebsk   Вы знаете, но честно говоря меня напрягают оценки ...   Apr 13 2015, 10:00
|- - mantech   Цитата(SasaVitebsk @ Apr 13 2015, 13:00) ...   Apr 13 2015, 11:10
- - Golikov A.   А вот теперь я задумался, а как с учетом заточенос...   Apr 14 2015, 11:16
|- - AHTOXA   Тут всё просто. Если ждать долго, то надо на оконч...   Apr 14 2015, 14:21
||- - Dr.Alex   Цитата(AHTOXA @ Apr 14 2015, 17:21) Если ...   Apr 14 2015, 14:35
||- - AHTOXA   Цитата(Dr.Alex @ Apr 14 2015, 19:35) Кто ...   Apr 14 2015, 17:01
||- - Dr.Alex   Цитата(AHTOXA @ Apr 14 2015, 20:01) Ну за...   Apr 14 2015, 17:04
||- - AHTOXA   Цитата(Dr.Alex @ Apr 14 2015, 22:04) С та...   Apr 14 2015, 17:59
|- - mantech   Цитата(Golikov A. @ Apr 14 2015, 14:16) А...   Apr 14 2015, 14:51
- - Golikov A.   ЦитатаВообще-то для этого под оси и пишутся драйве...   Apr 14 2015, 18:16
|- - AlexandrY   Цитата(Golikov A. @ Apr 14 2015, 21:16) М...   Apr 14 2015, 18:40
||- - jcxz   Цитата(AlexandrY @ Apr 15 2015, 00:40) Ра...   Apr 15 2015, 03:04
|||- - AlexandrY   Цитата(jcxz @ Apr 15 2015, 06:04) Иногда ...   Apr 15 2015, 04:46
|||- - jcxz   Цитата(AlexandrY @ Apr 15 2015, 10:46) В ...   Apr 15 2015, 06:55
|||- - scifi   Цитата(jcxz @ Apr 15 2015, 09:55) при опи...   Apr 15 2015, 07:29
||- - mantech   Цитата(AlexandrY @ Apr 14 2015, 21:40) Ра...   Apr 15 2015, 05:02
|- - AHTOXA   Цитата(Golikov A. @ Apr 14 2015, 23:16) И...   Apr 15 2015, 03:59
- - Golikov A.   "не о чем" - было о другом... конкретн...   Apr 15 2015, 05:12
|- - AlexandrY   Цитата(Golikov A. @ Apr 15 2015, 08:12) Д...   Apr 15 2015, 05:47
||- - Dr.Alex   Цитата(AlexandrY @ Apr 15 2015, 08:47) Лу...   Apr 15 2015, 07:37
||- - jcxz   Цитата(Dr.Alex @ Apr 15 2015, 13:37) Поэт...   Apr 15 2015, 09:07
||- - mantech   Цитата(jcxz @ Apr 15 2015, 12:07) Это одн...   Apr 15 2015, 17:41
||- - den_po   Цитата(mantech @ Apr 15 2015, 22:41) Вот ...   Apr 15 2015, 19:06
||- - Dr.Alex   Цитата(mantech @ Apr 15 2015, 20:41) Че-т...   Apr 15 2015, 19:08
||- - jcxz   Цитата(mantech @ Apr 15 2015, 23:41) Че-т...   Apr 16 2015, 02:16
||- - mantech   Цитата(jcxz @ Apr 16 2015, 05:16) Как тут...   Apr 16 2015, 04:59
||- - jcxz   Цитата(mantech @ Apr 16 2015, 10:59) Это ...   Apr 16 2015, 07:02
||- - SasaVitebsk   Цитата(jcxz @ Apr 16 2015, 10:02) Готовно...   Apr 16 2015, 09:23
||- - jcxz   Цитата(SasaVitebsk @ Apr 16 2015, 15:23) ...   Apr 17 2015, 02:27
||- - mantech   Цитата(jcxz @ Apr 17 2015, 05:27) Вот соб...   Apr 17 2015, 05:17
||- - jcxz   Цитата(mantech @ Apr 17 2015, 11:17) Дак ...   Apr 17 2015, 07:01
||- - mantech   Цитата(jcxz @ Apr 17 2015, 10:01) Какие п...   Apr 17 2015, 08:50
||- - jcxz   Цитата(mantech @ Apr 17 2015, 14:50) CRC ...   Apr 17 2015, 09:42
||- - mantech   Цитата(jcxz @ Apr 17 2015, 12:42) 64-битн...   Apr 17 2015, 17:17
|- - mantech   Цитата(Golikov A. @ Apr 15 2015, 08:12) В...   Apr 15 2015, 08:42
- - Golikov A.   еще матрица шин, а потом доступ проца и каналы кро...   Apr 15 2015, 07:44
- - Golikov A.   ЦитатаПрием - запускаю дма и счетчик таймаута, жду...   Apr 15 2015, 09:47
- - SasaVitebsk   Когда у человека появляется красивый инструмент, в...   Apr 15 2015, 09:59
|- - jcxz   Цитата(SasaVitebsk @ Apr 15 2015, 15:59) ...   Apr 15 2015, 10:29
|- - SasaVitebsk   Цитата(jcxz @ Apr 15 2015, 13:29) Прелест...   Apr 16 2015, 05:05
- - Golikov A.   Цитатакоторые нужно парсить "на лету", т...   Apr 16 2015, 07:26
|- - mantech   Цитата(Golikov A. @ Apr 16 2015, 10:26) Э...   Apr 16 2015, 16:42
- - Golikov A.   ЦитатаТогда объясните алгоритм приема пакета с фиф...   Apr 16 2015, 17:06
|- - mantech   Цитата(Golikov A. @ Apr 16 2015, 20:06) F...   Apr 16 2015, 18:31
|- - den_po   Цитата(mantech @ Apr 16 2015, 23:31) Хоро...   Apr 16 2015, 18:48
- - Golikov A.   ЦитатаПринимаю пакет, фифо настроен на 16 байт, а ...   Apr 17 2015, 05:11
|- - den_po   Цитата(Golikov A. @ Apr 17 2015, 10:11) А...   Apr 17 2015, 05:37
- - Golikov A.   Если фифо железное, то глубина фифо определена жес...   Apr 17 2015, 05:57
- - Golikov A.   А еще любое прерывание - это сброс всех конвейеров...   Apr 17 2015, 11:19
- - Эдди   Если кому интересно, можно глянуть на систему упра...   Apr 23 2015, 09:47
- - drozel   А позвольте некропостнуть и вступить в полемику по...   Oct 6 2015, 04:10
|- - mantech   Цитата(drozel @ Oct 6 2015, 07:10) Объясн...   Oct 6 2015, 06:27
- - Эдди   Вкратце: CUBE — признак идиота. Это как ардуйня. Т...   Oct 6 2015, 05:43
|- - drozel   Цитата(Эдди @ Oct 6 2015, 11:43) Вкратце:...   Oct 6 2015, 05:46
|- - mantech   Цитата(scifi @ Oct 6 2015, 10:17) Конечно...   Oct 6 2015, 07:30
|- - drozel   Цитата(scifi @ Oct 6 2015, 13:17) +1. Зап...   Oct 6 2015, 08:18
|- - ViKo   Цитата(drozel @ Oct 6 2015, 11:18) Код не...   Oct 6 2015, 08:49
- - SasaVitebsk   Мне кажется пример для UART вы неудачный выбрали. ...   Oct 6 2015, 07:11
- - Golikov A.   ЦитатаДак так и получается, если делать не один пр...   Oct 6 2015, 10:58
- - _Pasha   Сабж нормальный. Но API в некоторых местах не нрав...   Oct 6 2015, 12:01
|- - drozel   Цитата(_Pasha @ Oct 6 2015, 18:01) dma - ...   Oct 7 2015, 03:28
|- - _Pasha   Цитата(drozel @ Oct 7 2015, 06:28) Ну так...   Oct 7 2015, 04:45
- - drozel   Люди, помогите с либой. Пытаюсь завести USB CDC с ...   Oct 8 2015, 09:24
|- - SasaVitebsk   Цитата(drozel @ Oct 8 2015, 12:24) Что пр...   Oct 8 2015, 10:34
- - drozel   Цитата(SasaVitebsk @ Oct 8 2015, 16:34) В...   Oct 8 2015, 16:41
- - _Pasha   usbd_device *usbd_init возвращает указатель на sta...   Oct 8 2015, 18:53
- - drozel   Да, уже нашел, спасибо. Просто непривычно: вместо ...   Oct 9 2015, 01:57
|- - esaulenka   Цитата(drozel @ Oct 9 2015, 04:57) Да, уж...   Oct 9 2015, 09:11
- - drozel   Почти мигрировал с stdlib и cube на сабж. Остался ...   Oct 12 2015, 11:10
|- - _Pasha   Цитата(drozel @ Oct 12 2015, 14:10) Почти...   Oct 12 2015, 11:40
||- - drozel   Цитата(_Pasha @ Oct 12 2015, 17:40) это с...   Oct 12 2015, 11:55
||- - _Pasha   RE: libopencm3   Oct 12 2015, 12:14
||- - drozel   Цитата(_Pasha @ Oct 12 2015, 18:14) держи...   Oct 13 2015, 03:33
||- - _Pasha   Цитата(drozel @ Oct 13 2015, 06:33) Спаси...   Oct 13 2015, 04:58
||- - drozel   Цитата(_Pasha @ Oct 13 2015, 10:58) я не ...   Oct 13 2015, 07:58
||- - Эдди   Цитата(drozel @ Oct 13 2015, 10:58) Если ...   Oct 13 2015, 08:26
||- - drozel   Цитата(Эдди @ Oct 13 2015, 14:26) Кодls l...   Oct 13 2015, 08:35
|- - esaulenka   Цитата(drozel @ Oct 12 2015, 14:10) Где ф...   Oct 12 2015, 12:43
|- - drozel   Цитата(esaulenka @ Oct 12 2015, 18:43) Я ...   Oct 12 2015, 17:14
- - Эдди   Быстрее по даташиту с регистрами разобраться, неже...   Oct 12 2015, 18:14
- - Golikov A.   ЦитатаКак сказать.. GCC я никогда не пользовался, ...   Oct 13 2015, 08:39
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01489 секунд с 7
ELECTRONIX ©2004-2016