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

 
 
> mkernel, новая ртось для ARM
MBR
сообщение Aug 8 2012, 06:47
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 26-09-10
Пользователь №: 59 748



Долго пытаясь доработать ртоси под свои нужды, понял, что ничего адекватного на рынке просто не существует и решил написать свою. Вот что получилось:

MKernel is embedded RTOS, based on microkernel architecture.
It's designed for ARM microprocessors, however, can be easily ported to any
32bit MCU.

Features:

- BSD License, royalty free, open source.
- Tickless. For system scheduling used 1 HPET timer and RTC. If RTC is
unavailable, another HPET timer can be used for RTC emulation (with full RTC
functionality)
- Hardware abstraction.RTOS is providing common interface for drivers.
- Standart microkernel syncronization: mutexes, events, semaphores, queues.
- Nested mutex priority inheritance
- Embedded dynamic memory manager, with ability of nested memory pools for
threads, dedicated system pool. Aligned malloc calls inside of any pools
- Safe and MPU ready. All supervisor-specific calls are wrapped around
swi/svc calls for context rising.
- Embedded libraries:
* printf/sprintf. Around 1k of code.
* time routines. POSIX-light
* single-linked list, double linked list, ring buffer, block ring buffer
* random number generation: hardware (if supported) or software
- Error handling:
* kill thread on system error, print error, if configured
* restart system on critical error, memory dump if configured
* handle error exceptions, decode address (if supported) and exception code
- Lot of debug features:
* memory dumps
* object marks
* thread profiling: name, uptime, stack allocated/current/used
* memory profiling: red-markings, pool free/allocated size, objects fragmentation
* stack profiling: supervisor allocated/current/used. Plus for arm7 - irq, fiq, abt
* configurable debug console
- Supported hardware:
* ARM7
* cortex-m3, drivers for:STM32 F2 (gpio, uart, rcc, timer, dma, rand)

Cortex-M3 features:
- Native SVC and pendSV support

ARM7 features:
- Nested interrupts
- FIQ support
- pendSV emulation, when returning to user/system context

И сразу из минусов: документация еще пока в стадии разработки, надеюсь, к концу сентября управлюсь. Примеры, надеюсь, на этой неделе будут готовы. На данный момент поддерживается только gcc.

Ссылка на проект на github: https://github.com/alexeyk13/mkernel
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
haker_fox
сообщение Aug 8 2012, 08:27
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Знаете, чего мне не хватает во встраиваемой РТОС? Правильно наличия драйверов и стеков USB (host & master), ETH, CAN, MMC/SD (и прочих накопителей) под самые разнообразные архитектуры, GUI очень даже приветствуется с наличием драйверов под разные контроллеры и дисплеи, и чтобы гарантированно работало, т.к. собрать это по кускам из Инета дело не очень сложное. Но не заработает сразу.

Да, самое главное. Лицензия должна быть полностью свободная.

З.Ы. Это был крик души. Я реалист когда надо, и понимаю, что я написал утопию)))


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
MBR
сообщение Aug 8 2012, 09:13
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 26-09-10
Пользователь №: 59 748



Цитата(haker_fox @ Aug 8 2012, 12:27) *
Знаете, чего мне не хватает во встраиваемой РТОС? Правильно наличия драйверов и стеков USB (host & master), ETH, CAN, MMC/SD (и прочих накопителей) под самые разнообразные архитектуры, GUI очень даже приветствуется с наличием драйверов под разные контроллеры и дисплеи, и чтобы гарантированно работало, т.к. собрать это по кускам из Инета дело не очень сложное. Но не заработает сразу.

Я двигаюсь именно в эту сторону. Драйверы USB (device, scsi, mass storage), SD-CARD у меня готовы и встроены в mkernel (но не в то, что есть на гитхабе). В добавок есть абстрактный драйвер storage, с конвеером на базе data queue.

Просто на данный момент я не определился с их распространением - если достаточно разовьется идея донаторства, я выложу их в open source, если же нет, буду продавать отдельно.

---
0.1.2

- added examples for STM32 F2
- optimized software rand
- renamed all .s to .S

---

в примере создаются две простейшие задачи - одна моргает светодиодом, другая выводит аптайм каждую секунду. Доступна также встроенная отладочная консоль для профайлинга (помощь - h)

Сообщение отредактировал MBR - Aug 8 2012, 09:14
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MBR   mkernel   Aug 8 2012, 06:47
- - Lotor   Цитата(MBR @ Aug 8 2012, 10:47) Долго пыт...   Aug 8 2012, 06:56
|- - MBR   Цитата(Lotor @ Aug 8 2012, 10:56) Можете ...   Aug 8 2012, 07:54
- - IgorKossak   В папках arch/arm arch/cortex_m3 файлы delay_*.s ж...   Aug 8 2012, 07:10
- - MBR   0.1.3 + pin keyboard module with debounce logic ...   Aug 15 2012, 08:34
|- - haker_fox   QUOTE (MBR @ Aug 15 2012, 17:34) 0.1.3 +...   Aug 15 2012, 12:42
- - MBR   Вернулся из отпуска. 0.1.4 + new module: software...   Sep 12 2012, 15:34
|- - _Артём_   Цитата(MBR @ Sep 12 2012, 18:34) Вернулся...   Sep 12 2012, 16:32
|- - MBR   Цитата(_Артём_ @ Sep 12 2012, 20:32) Кста...   Sep 12 2012, 16:43
|- - _Артём_   Цитата(MBR @ Sep 12 2012, 19:43) Давайте ...   Sep 12 2012, 17:17
- - MBR   Цитата../../arch/hw_config.h:41:31...   Sep 12 2012, 18:13
- - _Артём_   Цитата(MBR @ Sep 12 2012, 21:13) Собствен...   Sep 12 2012, 20:21
- - AHTOXA   Цитата(_Артём_ @ Sep 13 2012, 02:21) Off:...   Sep 13 2012, 02:35
- - MBR   Цитата(_Артём_ @ Sep 13 2012, 00:21) Нечи...   Sep 13 2012, 04:45
- - andrew_b   Цитата(MBR @ Sep 13 2012, 08:45) Все-таки...   Sep 13 2012, 10:43
- - MBR   Цитата(andrew_b @ Sep 13 2012, 14:43) gcc...   Sep 13 2012, 11:06


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

 


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


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