Warning: Undefined array key "page" in /home/c38942/www.robotclass.ru/www/wp-content/plugins/sgr-nextpage-titles/class-mpp.php on line 562
Warning: Cannot modify header information - headers already sent by (output started at /home/c38942/www.robotclass.ru/www/wp-content/plugins/sgr-nextpage-titles/class-mpp.php:562) in /home/c38942/www.robotclass.ru/www/wp-includes/feed-rss2-comments.php on line 8
Комментарии: Библиотеки МК
https://robotclass.ru
Уроки и инструкции по электронике и робототехникеTue, 01 Nov 2022 06:58:43 +0000
hourly
1 https://wordpress.org/?v=7.1.4
Автор: Стас
https://robotclass.ru/articles/c_book_libs/#comment-55945
Tue, 01 Nov 2022 06:58:43 +0000https://robotclass.ru/?p=5637#comment-55945Простите, но все, что вы написали про __HAL_LOCK и __HAL_UNLOCK — чушь!
Это просто ЗАГОТОВКА(пример) — она не работает, если определен макрос USE_RTOS то макросы вообще пустые (ничего не делают).
В синхронном коде, нам ничего не нужно блокировать и разблокировать, ибо все последовательно и этот код просто лишний!
В асинхронном коде (RTOS) макросы не используют атомарные операции (эксклюзивный монитор — асм команды типа LDREX/STREX) из-за чего просто не могут обеспечить роль мьютекса(блокировки) для доступа к драйверу. При асинхронности при наличии IRQ, это вообще туши свет, что будет если нас выдернуло IRQ а мы знаете ли заняты? мы что должны перепланировать IRQ? если да, то я боюсь что новичок накуралесит такого что будет плохо всем…
Я когда-то на старом форуме ST находил описание, мол ребята это мы хотели, но руки не дошли, так что
жрите что даем (и мы должны либо надеяться и использовать мьютекс из РТОС, либо понимать что текущий механизм нифига не защищает!)
даже на новом форуме есть подобные темы: https://community.st.com/s/question/0D50X00009XkeOGSAZ/questions-surrounding-hallock
Просто вы вводите в заблуждение новичков, они потом будут думать, что в HAL-е все ок, там блокировка, нельзя так делать, у них еще не окрепли мозги, они не умеют думать критически, они вам просто верят как учителю (авторитету), а вы их обманываете — не хорошо!
]]>
Автор: Андрей
https://robotclass.ru/articles/c_book_libs/#comment-55372
Sun, 07 Nov 2021 16:01:28 +0000https://robotclass.ru/?p=5637#comment-55372core_cmInstr.h и core_cmFunc.h теперь не существуют (в папкеCMSIS\Core|Include их нет). Теперь это файлы cmsis_compiler.h и cmsis_iccarm.h or cmsis_armcclang.h or cmsis_armcc.h or cmsis_gcc.h для компилляторов IAR or ARM6 or ARM5 or GCC, соответственно