|
libopencm3, Неплохая либа для кортексов... |
|
|
|
Mar 15 2013, 07:04
|

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

|
Цитата(demiurg_spb @ Mar 15 2013, 12:35)  https://github.com/libopencm3/libopencm3ИМХО хорошая альтернатива стандартной библиотеки от ST и не только. TNX! Посмотрю потом, но все равно спасибо!
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Apr 3 2015, 13:24
|

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

|
Цитата(esaulenka @ Apr 3 2015, 11:06)  Тут есть пользователи этой библиотеки? Нет пользоваться не стал, т.к. у них тогда сильно менялись интерфейсы библиотеки. Цитата Первое впечатление - написано заметно приятнее, чем Cube/SPL. Можно читать и не плеваться каждые 15 секунд. Склонность, правда, авторов к созданию своих велосипедов (почему бы не использовать родные определения регистров?..) несколько удивляет. Ну да ладно... Абсолютно такое же впечатление и у меня осталось. Цитата(AlexandrY @ Apr 3 2015, 13:38)  Детская поделка. А остальная половина файлов просто пустые. Аккуратней надо быть с такими ссылками. Не понял вашего юмора. Да эта либа пока не претендует на полноту. Да есть что пилить. Но уже сейчас глазу гораздо приятнее смотреть на неё нежели на творения ST (SPL).
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Apr 6 2015, 14:49
|
;
     
Группа: Участник
Сообщений: 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
|
|
|
|
|
Apr 7 2015, 10:45
|

Профессионал
    
Группа: Свой
Сообщений: 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.
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
|
Apr 12 2015, 15:50
|
Знающий
   
Группа: Участник
Сообщений: 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 код был оптимальнее, на какую то долю % быстрее и на какие то единицы % копактнее, но делал я его на порядок дольше, а памяти и мегагерцев и так некуда девать.
|
|
|
|
|
Apr 12 2015, 17:17
|
Профессионал
    
Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863

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

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

|
Цитата(Golikov A. @ Apr 13 2015, 12:28)  строго говоря я не под что не пишу while(условие). У меня все ожидания с таймаутами.
Но пока я все равно не понял. Хотите сказать что при while(bit) не будет переключаться задачи? Да, не будут. Но к вашему случаю с двумя задачами это не относится. Реальная проблема возникнет когда будет несколько десятков задач и вы перестанете всех их помнить. Хотя думаю и семи хватит. Тогда while приведут к полному краху всей системы приоритезации. Скажем во всех задачах есть диагностика. Она пишет лог. А тот лог в свою очередь пишет в файл. А в драйвере файловой системы стоит while да хоть и с таймаутом. И все, кранты вашей риалтаймности.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|