ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
11 июня
1590987 Топик полностью
Связанные сообщения
RtosFreertosRisc-V
для меня таки настала новая эра - мульти ядерных микроконтроллеров. с алика приехала muse lab nanoCH32H417. посчупал за вымя.. д...2026-06-08
RISC-V, QingKeV2 (CH32V006). По мере роста размера кода (4кБ сейчас), начал сваливаться в хардфолт. Компилятор GCC15 для WCH от ...2026-05-05
ch32c407/467, наличие в нем RVV, авто-векторизация кода в текущей версии GCC: спешите хотеть... спешите иметь2026-04-22
KGP свежак riscv32 . небеса упали на землю, собрал для масдая... не идет гора к Магомету. акцент на оптимизацию под популярные м...2026-04-22
китайцы медленно но верно захватывают жилплощадь, как борщевик. дока на ch32v407/467 говорит что в нем новое ядро qkv3V с...2026-04-14
Проверил код на другой плате, где нормальная разводка земли полигоном и шумов питания должно быть меньше, нашел обещанный гистер...2025-11-24
Во ФриРТОС у них довольно интересные правила. Названия даются целиком, без сокращений. Во избежание путанницы. Я её выбрал для т...2025-09-22
Китайцы пояснили насчёт остановки таймера в отладке. Есть отладочный регистр dcsr и в нём бит 9 отвечает за остановку СисТика.2025-08-20
Про FLASH в CH32V203. Вкратце: похоже, что при частичной записи страницы, автоматически стирается и перезаписывается вся страниц...2025-04-02
На озоне за сутки выкупили все отечественные RISC-V микроконтроллеры2025-03-15
всунул и протянул. gcc теперь умеет так: riscv32-kgp-elf-g++ ..... -mcpu=к1948вк018 ...., мой вклад в импортозамещение - буквы р...2024-10-10
Немного рассуждений про ch32v307+freerto+libwchnet.a2024-07-10
Китайский CH582. Я тут опять немного прихренел от китайского МК.2024-06-19
китайцы что то изобретают - ch32v006/ch32v007/ch32m007 : Streamlined Timer. непонятое... но интересное2024-05-18
[09.01.2024] по ходу подпрыгивании на тему "подъема-взлета" ch32v003 всунул в него CoreMark. промерил...2024-01-09
нашел на китайской версии сайта WCH ннфографику про семество riscv ch32 - сделал картинку. теперь легче понять отличия. удобно ч...2023-12-11
VisionFive. SBC на RISC-V со встроенным GPU.2023-11-16
Я извиняюсь народ.) Но пролейте пожалуйста свет кто чем сейчас programmирует чипы на RISC-V?2023-11-07
Пришел десяток CH32V003 в soic8 с Ali по 13 руб. Показались удобными для всяческой мелкой хренотени. Ну и как у китайцев положен...2023-07-26
СH32V203F8P6 - 96МГц. SPI - 12MГц, ENC28J60. Ping + UDP ping-pong 50 байт + UDP "спам" 1500 пак/сек. Вот такую вот картинку вижу...2023-07-03
Цука... CH32V00x с WCHlink нихт арбайтен. Требуют WCHlinkE. "Вот нахуя так делать? И, главное, зачем?"(С)... Да знаю, знаю зачем...2023-05-12
проект выходного дня....вроде заработало! свежак KGP для riscv32-kgp-elf с поддержкой CH32Vxxx (QingKeV4, QingKeV4B, QingKeV4C, ...2023-04-10
У ядра QingKeV4 есть расширенный набор коротких команд. Их пока только WCH-ный GCC порддерживает.2023-04-06
Траблы с WCH для CH32V203RBT6.2023-03-24
Risc-V, CH32V203RBT6, MounRiver Studio IDE, Си. Отладчик WCH-Link.2023-03-22
ничего сверхъестественного. будет время - попробую натянуть порт FreeRTOS, для GD32VF103 получилось жеж... прикладываю2023-03-03
почитал доки на свежий китайский микроконтроллер ch32v307, есть много фич которые я воображал но не было в cortex-m. похоже risc...2023-03-03
Кто-нибудь уже пробовал использовать IAR EWARM для разработки под CH32F* от WCH? У производителя можно найти примеры и библиотек...2023-01-04
Подскажите про FreeRTOS. Можно ли её настроить на работу с вложенными прерываниями? Если что, архитектура ARM9.2022-11-07
[RISC-V от WCH] - перспективно для замены всего недружественного. Klen, просьба покурить. ch32v103, ch32v307. - брать. Ес...2022-03-24
Платочки в формфакторе Raspberry Pi на RISC-V грядут. Заметим, сразу идет bare metal ПО, FreeRTOS, и на картинке видим ChipLink....2021-12-01
А можно немного мыслей? Несмотря на кучу существующих ОС, набирающих разную популярность, всё же появляются новые. FreeRTOS, pro...2021-10-08
[Японские RTOS T-Kernel 2.0, μT-Kernel 3.0 и много других]. Регистрируют автоматом сразу, все дают качать. Очень качестве...2021-10-08
Allwinner обещается в этом году выкатить жЫрный RISC-V2021-02-09
Очевидно, что без механизма ожидания -- получается полная ерунда, которая ничем не лучше биглупа. Когда событий станет мн...2020-12-06
Прототреды это биг-луп вывернутый наизнанку. Или наоборот. То же самое, что конечные автоматы им. Шалыто, switch-технология. Удо...2020-06-11
ну давай Муська! еще капельку!: поразгонял gd32vf103cb + oled 0.962020-05-31
ESP32, приём строки по SPI в задаче (FreeRTOS)2020-05-16
gd32vf103: выполнил обезжиривание кода rv-link/longan-nano, пришлось переделывать китайский код. меня попросили дать бинарь для ...2020-04-26
Доброго дня.2020-04-13
кто нибудь знает? GigaDevice планирует в gd32vf всунуть FPU или еще что нибудь, нигде не нашел их планов по захвату поляны - я б...2020-02-12
Computer Organization and Design RISC-V edition. просто бесподобны мануаЛЬ!2019-11-30
gd32vf103: Думаю можно подумать открывать новый раздел - RISCV2019-10-28
Выскажу ещё раз: FreeRTOS сырая недоделка, смысла особого, без реализации ряда перечисленного (см. ниже) не имеет и, хуже того, ...2019-10-18
"В контексте МК" никаких задач не должно быть! :) Контроллер рассчитан на обслуживание периферии, а потому никаких других событи...2019-09-20
Китайцкая GigaDevice залепила мелкокристаллку на RISC-V. 108Mhz, 128K Flash, 32K RAM. На замену STM32F103, вроде как совместима ...2019-08-31
Смотря какая ОС. В основном ОС делятся по типу: бывают корпоративные ОС и любительские.2019-03-20
[RISC-V: ядра, SoC для микропроцессоров и микроконтроллеров] Сводный системный топик.2018-12-04
[RISC-V как предел софткорного процессоростроения]. Текущие результаты капиталистического соревнования.2018-04-28
[Список RTOSов] всяких разных -> Проект osrtos.com2017-11-15
[Сводный топик про RISC-V] Гнездо архитектуры -> -->2017-08-11
Обновлено: трехколесный вялошипет с квадратными колесами (многозадачка на Си). Рожалось в муках, труд всей жизни :)2015-11-16
Кто-нибудь использует RTOS (не ядра) в своих проектах? Интересует их работа в защищённом режиме, взаимодействие пользовательског...2014-11-15
Задача в принципе решима... Но для начала следует понимать некоторые вещи, после чего придёт также понимаение, что не стоит пыта...2014-01-02
Для этого ОС не нужна. Понимаю, закат солнца вручную... Против FreeRTOS у меня сильно предубеждение, после того как прочитал, чт...2013-11-26
Давно холиваров не было. Как насчёт RTOS vs Main Loop? Поделитесь практическим опытом. Сам RTOS не применял, да и не очень хочет...2013-07-24
правильное использование RTOS - научите уму разуму2011-12-21
Вот колеблюсь, какую RTOS использовать для ARM7. Вот приглянулись TN Kernel, ScmRTOS. Советуют AMX и FreeRTOS. Кто что подскажет...2011-11-28
Нефиг си пинать за то, что он не хаскель ;)2011-08-14
Тут очень любят рассуждать о RTOS и всём таком. Но как-то массово замалчивается, что стандартная C-библиотека для неопределённог...2011-08-13
Ось для cortex-M3, в которой декларируется: "Interrupt latency is 0". В документации сказано, что критические секции организован...2009-12-08
Статья про атомарный доступ к битовым полям.2009-03-03
Nikolay_Po (Вчера, 22:55, просмотров: 42)
RISC-V, прерывания, стек прерываний и mscratch применительно к ОСРВ Задал вопрос в телеграм-канале RISC-V MCU. Задам и тут: 

Корифеи RISC-V, подскажите по такому вопросу:

Вот, дорабатываю я порт RTOS на CH32V317. В оригинале, там все прерывания ОС имеют одинаковый приоритет и до начала манипуляций со стеком, используется один из приёмов: а) блокируются вообще все прерывания; б) используется mscratch, и значение указателя стека переключается между стеком прерывания и стеком нормального исполнения.

-=-

Проблема у меня вот такая:

Когда ОСРВ, в своём прерывании таймера или переключателя контекста, начинает переключение контекста, она меняет занчение указателя стека и меняет данные в стеке в произвольном порядке (а не строго по заполнению/опустошению. Поэтому обычное вложенное прерывание в таком случае невозможно - проталкивание контекста в стек, выполняемое при обычном прерывании, затрёт блок данных стека, который до входа во вложенное прерывание, модифицировал переключатель контекста. Верно ли я понимаю, что:

1. Для любого прерывания, которое может быть вложено в прерывание ОСРВ, необходимо использовать свой стек и нужно модифицировать указатель стека перед его использованием?

2. Исходя из п. 1, для вложенных прерываний, невозможно использовать стандартный код сохранения/восстановления контекста, который создаёт компилятор. А значит, вложенные прерывания нужно объявлять naked и сохранять контекст вручную до выполнения кода прерывания, использующего стек. А потом восстанавливать контекст вручную?

3. Переключение указателя стека для прерываний, удобно делать при помощи mscratch. Но если это вложенное прерывание? Куда переключить указатель стека? Нужно модифицировать сам mscratch? Если да, то где? В первом прерывании или во вложенном?