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

 
 
11 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> 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
zhevak
сообщение Mar 15 2013, 07:04
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(demiurg_spb @ Mar 15 2013, 12:35) *
https://github.com/libopencm3/libopencm3

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

TNX!
Посмотрю потом, но все равно спасибо!


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Apr 3 2015, 08:06
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Тут есть пользователи этой библиотеки?

Первое впечатление - написано заметно приятнее, чем Cube/SPL. Можно читать и не плеваться каждые 15 секунд.
Склонность, правда, авторов к созданию своих велосипедов (почему бы не использовать родные определения регистров?..) несколько удивляет. Ну да ладно...

Собственно, у меня задача - сделать USB-Device.
Что-то как-то работает, однако мне сильно не нравится реализация USB без прерываний, опросом. Попытка запихать usbd_poll() в прерывание с разрешением такового пока к результатам не привела...


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 3 2015, 10:38
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(demiurg_spb @ Mar 15 2013, 09:35) *
https://github.com/libopencm3/libopencm3

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


Детская поделка.
А остальная половина файлов просто пустые.
Аккуратней надо быть с такими ссылками.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 3 2015, 13:24
Сообщение #5


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

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



Цитата(esaulenka @ Apr 3 2015, 11:06) *
Тут есть пользователи этой библиотеки?
Нет пользоваться не стал, т.к. у них тогда сильно менялись интерфейсы библиотеки.
Цитата
Первое впечатление - написано заметно приятнее, чем Cube/SPL. Можно читать и не плеваться каждые 15 секунд.
Склонность, правда, авторов к созданию своих велосипедов (почему бы не использовать родные определения регистров?..) несколько удивляет. Ну да ладно...
Абсолютно такое же впечатление и у меня осталось.

Цитата(AlexandrY @ Apr 3 2015, 13:38) *
Детская поделка.
А остальная половина файлов просто пустые.
Аккуратней надо быть с такими ссылками.
Не понял вашего юмора. Да эта либа пока не претендует на полноту. Да есть что пилить. Но уже сейчас глазу гораздо приятнее смотреть на неё нежели на творения ST (SPL).


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
klen
сообщение Apr 4 2015, 07:36
Сообщение #6


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



голосую за libcm3
Spl еще както было похоже на чтото , со скидкой что первый раз в первый класс.... но куб извините это говнокод. перевожу все проекты на куб а в результате поцесса получается что перевожу на регистры... при попытке воткнуть FreeRTOS обнаружил что куб использует системный таймер - пришлось перекостыливать куб, куда не плюнеш -ПЕРЕКОСТЫЛИВАТЬ.... а че они творят в яко бы дефолтных обработчиках прерываний... за каждый if else не по делу растреливать нада. куб это либа для школоты. единственное что понравилост - включение выключение переферии, макрос через регисты rcc

да libcm3 не полная, но... лучше я в этот проект комитить буду то чо недоделано
вобщем каждому по вкусу..
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Apr 6 2015, 14:49
Сообщение #7


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(esaulenka @ Apr 3 2015, 11:06) *
Собственно, у меня задача - сделать USB-Device.
Что-то как-то работает, однако мне сильно не нравится реализация USB без прерываний, опросом. Попытка запихать usbd_poll() в прерывание с разрешением такового пока к результатам не привела...

у меня та же задача, msc. но поллинг пока устраивает.
уже моск выкипел, определяется стабильно с 3 раза, это секунд 40, затыкается на отдаче scsi готов/неготов... хз как его отловить.

Цитата(demiurg_spb @ Apr 3 2015, 16:24) *
Не понял вашего юмора. Да эта либа пока не претендует на полноту. Да есть что пилить. Но уже сейчас глазу гораздо приятнее смотреть на неё нежели на творения ST (SPL).

че там за полнота дожна быть? f3 f4 и хватит. в мелких вообще неясно нахрена эти обертки.

Цитата(klen @ Apr 4 2015, 10:36) *
голосую за libcm3

да libcm3 не полная, но... лучше я в этот проект комитить буду то чо недоделано
вобщем каждому по вкусу..

+100500
там тоже иногда аццки хочется показать, шо так не делают, но в целом нормально.
Только мне непонятно, чего они автогенерированные части, которые инклюдятся, с расширением *.c оставили - это ж бардак..надо каждый файлик перебирать и смотреть что включать в проект а что нет.
Цитата
куда не плюнеш -ПЕРЕКОСТЫЛИВАТЬ

меняю клок инит через куб на регистры - минимум 2 кб кода уходит. Мама миа!

Сообщение отредактировал _Pasha - Apr 6 2015, 14:51
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Apr 7 2015, 10:45
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата(_Pasha @ Apr 6 2015, 17:49) *
у меня та же задача, msc. но поллинг пока устраивает.
уже моск выкипел, определяется стабильно с 3 раза


Определяется стабильно.
Прерывание тоже нормально работает вот с таким нехитрым кодом:
Код
extern "C"
void OTG_FS_IRQHandler (void)
{
    usbd_poll(usbd_dev);
}

Почему не взлетело сразу, я так и не понял...

Сейчас борюсь с граблей - некорректно работает прием по control endpoint.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
kan35
сообщение Apr 12 2015, 15:50
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(klen @ Apr 4 2015, 10:36) *
голосую за libcm3
Spl еще както было похоже на чтото , со скидкой что первый раз в первый класс.... но куб извините это говнокод. перевожу все проекты на куб а в результате поцесса получается что перевожу на регистры... при попытке воткнуть FreeRTOS обнаружил что куб использует системный таймер - пришлось перекостыливать куб, куда не плюнеш -ПЕРЕКОСТЫЛИВАТЬ.... а че они творят в яко бы дефолтных обработчиках прерываний... за каждый if else не по делу растреливать нада. куб это либа для школоты. единственное что понравилост - включение выключение переферии, макрос через регисты rcc

да libcm3 не полная, но... лучше я в этот проект комитить буду то чо недоделано
вобщем каждому по вкусу..

Запускаю свой первый проект на HAL через CubeMX, не соглашусь, что это говнокод. Косяков, конечно, еще довольно много, но в целом все это собирается более менее небольшими усилиями и с FreeRTOS состыкуется хорошо, прерывания с обработкой всех флагов - if else меня не сильно напугали, понятно, что за универсальность приходится платить. На SPL код был оптимальнее, на какую то долю % быстрее и на какие то единицы % копактнее, но делал я его на порядок дольше, а памяти и мегагерцев и так некуда девать.
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Apr 12 2015, 17:17
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(kan35 @ Apr 12 2015, 18:50) *
Запускаю свой первый проект на HAL через CubeMX, не соглашусь, что это говнокод. Косяков, конечно, еще довольно много, но в целом все это собирается более менее небольшими усилиями и с FreeRTOS состыкуется хорошо, прерывания с обработкой всех флагов - if else меня не сильно напугали, понятно, что за универсальность приходится платить. На SPL код был оптимальнее, на какую то долю % быстрее и на какие то единицы % копактнее, но делал я его на порядок дольше, а памяти и мегагерцев и так некуда девать.

В этом HALе куда ни плюнь while (какой-то бит); то есть затачивать реально подо РТОС они это будут ещё как минимум очень долго.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 13 2015, 06:45
Сообщение #11


Гуру
******

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



А какая связь наличие или отсутствия while (бит) и долготы затачивания под РТОС?

В обычном супер лупе - это 100% зло которое заблокирует всю программу. Под РТОС еще есть шансы что задачу вытеснит более приоритетная, если конечно семафор никакой не заткнут. Но с другой стороны если этот бит должен появиться и не появляется - это же нарушение работы железа, с которым может и благо повиснуть и по вочдогу вылететь?

Но это мои рассуждения, а что вы хотели сказать? я без стеба, мне интересно.
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Apr 13 2015, 07:27
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(Golikov A. @ Apr 13 2015, 09:45) *
А какая связь наличие или отсутствия while (бит) и долготы затачивания под РТОС?

Под Винду вы тоже пишете с while (bit) ?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Apr 13 2015, 09:28
Сообщение #13


Гуру
******

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



строго говоря я не под что не пишу while(условие). У меня все ожидания с таймаутами.

Но пока я все равно не понял. Хотите сказать что при while(bit) не будет переключаться задачи?
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Apr 13 2015, 09:44
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(Golikov A. @ Apr 13 2015, 12:28) *
строго говоря я не под что не пишу while(условие). У меня все ожидания с таймаутами.

Но пока я все равно не понял. Хотите сказать что при while(bit) не будет переключаться задачи?

Я хотел сказать ровно то, что сказал. Считать такой стиль годным для РТОС так же странно, как и годным для Винды. Если никто не пишет так даже под Винду, то странно писать так подо РТОС.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 13 2015, 09:52
Сообщение #15


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Golikov A. @ Apr 13 2015, 12:28) *
строго говоря я не под что не пишу while(условие). У меня все ожидания с таймаутами.

Но пока я все равно не понял. Хотите сказать что при while(bit) не будет переключаться задачи?


Да, не будут.
Но к вашему случаю с двумя задачами это не относится.

Реальная проблема возникнет когда будет несколько десятков задач и вы перестанете всех их помнить. Хотя думаю и семи хватит.
Тогда while приведут к полному краху всей системы приоритезации.
Скажем во всех задачах есть диагностика. Она пишет лог. А тот лог в свою очередь пишет в файл. А в драйвере файловой системы стоит while да хоть и с таймаутом.
И все, кранты вашей риалтаймности.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:56
Рейтинг@Mail.ru


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