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

 
 
> STM32F072 Cortex-M0 Имплементация мюьтекса
Roman545
сообщение Jul 21 2017, 17:16
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 6-02-15
Пользователь №: 84 976



Применил в устройстве STM32F072. Прельстило USB без внешнего кварца. Задача решалась элементарная - прокси между проприетарным устройством и компом. STM32 в режиме SPI slave с одной стороны получает / принимает данные по SPI от другого девайса, с другой стороны обрабатывает их и через CDC USB передаёт на комп, а от него принимает команды. RTOS не используются. Возникла подзадача - нужны объекты синхронизации, хотя-бы самый простейший - мьютекс.

-Инструкций LDREX/STREX у M0 нет, соответственно релизовать семафор/мьютекс как в M3 нельзя
-Bit banding тоже нет, с помощью него тоже вопрос не решить

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


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SII
сообщение Jul 22 2017, 17:06
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Проблема возникает, когда прерывания запрещаются надолго. Если всего на несколько команд, то никакой причины их не запрещать нет. Ну а нескольких команд вполне достаточно для реализации мьютекса.
Go to the top of the page
 
+Quote Post



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

 


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


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