LINUX.ORG.RU

BuguRTOS 3.0.0

 , ,


2

5

13 марта состоялся релиз встраиваемой ОСРВ BuguRTOS 3.0.0.

После выпуска второй версии было получено сообщение от пользователя Endag с просьбой разъяснить использование примитивов синхронизации и сделать API понятнее для новых пользователей.

В ходе дальнейшей переписки был выявлен ряд ошибок и недостатков в ядре BuguRTOS и библиотеке native. Результатом стала переработка ядра и библиотеки.

В BuguRTOS 3.0.0 введены следующие изменения:

  • В API внесены изменения, облегчающие понимание использования возможностей ОС.
  • Ядро переработано с целью повышения производительности, в том числе внесены следующие изменения:
    • Добавлена возможность асинхронного IPC на атомарных операциях (если архитектура их не поддерживает, — используется эмуляция).
    • Для Cortex-M добавлена реализация поиска в битовой карте на инструкции CLZ.
    • Для Cortex-M изменён макрос BGRT_ISR, теперь обработчики аппаратных прерываний вытесняемы.
  • Исправлены три ошибки.
  • Добавлена возможность назначать для счётных семафоров процесс-хозяин, наследующий приоритеты заблокированных процессов.
  • Переработана структура файловой системы для платформенно-зависимого кода.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 7)

Ответ на: комментарий от anonymous

Как чем, от нее не так бомбит, как от багета ;)

ncrmnt ★★★★★
()
 - А какая у тебя РТОС?
 - У МЕНЯ БУГУРТ!!!!11
DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Desmond_Hume

Ты из-за названия бугуртишь? Тогда, пожалуй, не буду писать на глагне новость про свой проект 41EH.

DELIRIUM ☆☆☆☆☆
()

Поздравляю с первым пользователем.

crutch_master ★★★★★
()

Тринадцитого

исправь плз

ну а так - конгратуляции!

reprimand ★★★★★
()

Ну и это, я у тебя что-то не нашел в документации список протестированных девайсов. На каких AVR-ках точно взлетит?

reprimand ★★★★★
()

Тринадцитого
состоялся вышла очередная версия
ползователя
В BuguRTOS-3.0.0 введены следующие изменения
(всего исправлений: 2)
Проверено: Shaman007

OMFG

Kilte ★★★★★
()
Ответ на: комментарий от Ygor

Название ОС - троллинг?

Оно родилось в /s 0chan.ru, а уж кто там кого начал троллилить первый даже анонимус не помнит.

mandala ★★★★★
()
Ответ на: комментарий от mandala

вроде в /pr, я еще помню вытекал из тех тредов про первые альфа версии. Но пусть сам автор пояснит где он первый раз линканул упоминаниеп про сие поделие.

anonymous
()
Ответ на: комментарий от Desmond_Hume

Во что превращается LOR?

уже давно превратился

gray ★★★★★
()
Ответ на: комментарий от reprimand

УМВР на:

1.Atmega328p, Atmega128 и т.д., может не заработать на AVR, у которых используются RAMPX, RAMPY.
2.STM8: stm8s208xxx, stm8l15xxx (использовал в продакшене, разработано 6 видов изделий), должно работать без неожиданностей.
3.Cortex-M0,3,4f, фактически тестировал на stm32L15xxx/L05xxx/F4xxx, используется только периферия Ядра процессора (SCB, NVIC), должно работать без неожиданностей. Исключение - импортозамещенные микроконтроллеры, там горе-разработчики полазили в ядро, короче, бугурта хватает без BuguRTOS, пользователь гитхаба Endag подтвердит.
4. Cortex-M1 работает на ядрах с опцией OS extension, проверено как раз на русских импортозамещенных контроллерах.

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 2)

Хочу странного

А x86 она поддерживает? Например, можно ли на её основе сделать мини-ОС со специфической прикладнухой и запустить на обычном старом ПК?

Вот EmBox (ближайший конкурент сабжа) такое умеет.

anonymous
()
Ответ на: комментарий от frost_ii

Chibi — это целый SDK, разрабатываемый довольно большим сообществом.

Nutxx — это вообще Unix, у него другая ниша - портирование софта с больших компов на микроконтроллеры (см. OSMOCOMM, и всякие там управлялки беспилотниками, там прототипируют на компе и переносят на Cortex-M3/4f).

FreeRTOS — тоже превращается в SDK по типу Chibi

BuguRTOS — библиотека для прототипирования ОСРВ, на нее можно навернуть ядерные API Chibi, FreeRTOS, CMSIS/RTOS, tnkernel и так далее.

У Chibi и FreeRTOS ядерный код выполняется при запрещенных прерываниях, а тут вытесняемое ядро, куски с запрещенными прерываниями минимальны.

К тому же Chibi и FreeRTOS вроде бы не поддерживают STM8 (давно не смотрел в их исходники).

У Chibi и FreeRTOS наследование приоритетов сделано только для мьютексов, у BuguRTOS в native API — для всех примитивов синхронизации.

У Chibi наивная реализация наследования приоритетов, у FreeRTOS наследование приоритетов вообще сделано без поддержки вложенности.

В общем, у_нас_тут_своя_атмосфера.жпг

shkolnick-kun ★★★★★
() автор топика
Ответ на: комментарий от MrClon

Всё перечисленное - очень большое. (Кроме, возможно. фридоса, но там слишком много костылей для обеспечения со старыми архитектурами.) А хочется ма-аленькую чи-истенькую системку.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

интерес эстетический или практический? С практической точки зрения мне не кажется что осталось какой-то значимое количество живых x86-совместимых систем для которых бздя/линупс слишком жырны. Хотя я ХЗ в каком состоянии linux-rt, и что есть на этот счёт в бздях, может всё плохо

MrClon ★★★★★
()

А есть в бугурта истории успеха? Кто-то кроме автора бугуртит им в продакшене?

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Вроде пока нет.

Если в ближайший год и появятся, то это, скорее всего, будет не гражданская продукция, и об этом не расскажут даже мне.

shkolnick-kun ★★★★★
() автор топика

После установки получил мощнейший баттхерт - советую ВСЕМ!

anonymous
()
Ответ на: комментарий от Desmond_Hume

И это на глагне, а не в толксах?

Это вполне достойно главной. Если сомневаешься - иди прочитай сорцы

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)

Зачем ты держишь в контроле версий файлы, сгенерированные твоим IDE (codeblocks)? Диффы загромождены этим мусором.

Manhunt ★★★★★
()
Ответ на: комментарий от hobbit

Загрузчик + то, что связано с прерываниями.

shkolnick-kun ★★★★★
() автор топика

сделать API понятнее для новых пользователей.

Этого делать нельзя. Ты погляди в толксах сколько срачей - почему сделали так, а не так. Если будут понимать как сделано то обольют грязью. А так не понимают и красота.

dmxrand
()

Ура, число пользователей этой оси удвоилось! Теперь их двое ;)

anonymous
()
Ответ на: комментарий от dmxrand

Если будут понимать как сделано и бугуртить - цель разработки будет достигнута.

NIR
()

######WARNING!!! Signals in bugurtos native API have poor design leading to event leaks!!! Use Conditionals and Semaphores instead!!!

Зачем тогда их перенесли в новую мажорную версию?

Manhunt ★★★★★
()

Некоторые имена имеют префикс bgtr_, а некоторые — не имеют. Было бы неплохо упомянуть в GettingStartedEN , что означает этот префикс.

Manhunt ★★★★★
()

К декстопу (здесь должно быть что-то ключевое для embded) готова? :-)

alex4321
()
Ответ на: комментарий от shkolnick-kun

Когда планируешь начать порт на раст?

anonymous
()
Ответ на: комментарий от NextGenenration

На ассемблере точно можно и даже числовыми машинными кодами.

Alve ★★★★★
()
Ответ на: комментарий от anonymous

Да хрень, -
1. 8-битники просты как папуас - могут только издавать сигналы, понимать палку и знать несколько примитивных интерфейсов из коробки.
2. Примеры работы на 8-битниках с интерфейсами описанны в датафакинщитах и стопятсот форумах.
3. ОС написанные для 8-битников из коробки в основном поддерживают только отладочные платы, если ты сам что то разводишь то придется патчить данную ОС или писать в bare-metal. Если ты тактируешься не с PLL а извне то уже придется чесать репу как это дело инициализировать в данной конкретной ОС.
4. Если в ты используешь что нибудь типа I2C, SPI, может CAN (не знаю есть ли 8-битники с его поддержкой), то наверняка ты внимательно почитаешь datasheet и сварганишь свой пример по его подобию и в случае чего всегда сможешь обратиться к этому документу что бы понять, а что не так работает, и задать вопрос в техподдержку, а если ты поставишь какой нибудь бугуртос то в случае проблем тебе придется ковырять его кишки что бы понять что там натворил автор.
5. Что бы выжать все из 8-битника тебе необходимо считать каждый байт используемой памяти, расчитывать время для каждой инструкции и это можно сделать реализуя проект исключительно в standalone-режиме. Считать сколько и чего кушает ОС + ваши алгоритмы на 8-битнике нормальные человеки не станут.

splinter ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.