1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vsfteam-vsf

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

VSF — Versaloon Software Framework

GitHub

windows-build cmake-native-build cmake-arm-cross-build

vsf.linux windows build cmake-arm-cross-build cmake-native-build

vsf.demo build

Полное название VSF — «Versaloon Software Framework». VSF представляет собой программный фреймворк с открытым исходным кодом для встраиваемых приложений, основанный на лицензии Apache2. VSF включает в себя hal, упреждающее многопоточное ядро, службы и компоненты. VSF реализован на языке C с использованием методов объектно-ориентированного программирования (PLOOC).

Общая структура

Каталог

Название Описание
document документ
doxygen конфигурация Doxygen
example демонстрационные коды
hardware оборудование для разработки VSF
patch некоторые патчи (для сторонних компонентов и т. д.)
script
cmake скрипты CMake
source исходный код VSF
component компонент (файловая система, стеки, пользовательский интерфейс, драйверы и т.д.)
hal уровень аппаратной абстракции (поддержка архитектуры, драйверы чипов)
kernel упреждающее/совместное ядро VSF
osa_service сервисы программного обеспечения на основе ядра
service сервисы программного обеспечения
shell оболочка для использования прикладного программного обеспечения для других систем
utilities базовые утилиты программного обеспечения (препроцессор, компилятор, список и т. д.)

Ядро

Упреждающее ядро на основе событийной архитектуры, поддерживающее mcs51, 8-битный MCU, 32/64-битные ARM, riscv, x86 и т. д.

  • событийная архитектура, переход в спящий режим при отсутствии событий, естественное снижение энергопотребления;
  • в упреждающем режиме переключение задач осуществляется аппаратным swi (программным прерыванием), приоритет задачи является приоритетом swi;
  • упреждающее планирование задач с разным приоритетом, совместное планирование задач с одинаковым приоритетом;
  • может работать в других ОСРВ как задача или как swi ISR;
  • различные задачи:
    • обработчик событий — минимальное использование ресурсов, 20 байт ОЗУ для минимальной конфигурации, 40 байт ОЗУ для нормальной конфигурации;
    • pt-задача;
    • поток с выделенным стеком — в зависимости от setjmp в libc;
    • fsm-задача;
    • другие задачи в оболочке, например pthread;
  • IPC: семафор. Компоненты
  • Разумный фреймворк для повторного использования кода.
  • Декларативная модель разработки.
  • Стандартный интерфейс, стандартный порт для сторонних компонентов.

Программные компоненты

  • distbus — распределённая шина.
  • fifo.
  • heap.
  • json.
  • pool.
  • stream.
  • trace.

Компоненты:

  • fs — файловая система с поддержкой VFS.
  • input — подсистема ввода.
  • mal — уровень абстракции памяти (обычно известный как «блочное» устройство).
  • scsi — SCSI-устройство.
  • tcpip — стек TCP/IP и драйверы netdrv.
  • ui — драйверы пользовательского интерфейса и дисплея.
  • usb — стеки хоста/ведомого USB.
  • bt — стек BT (с использованием btstack).

HAL — аппаратный уровень абстракции

Стандартный интерфейс HAL и API. Например, vsf_spi_init можно использовать с аппаратным SPI, эмулированным GPIO SPI, SPI от внешнего USB-устройства и т. д.

Драйвер IP-ядра — упрощает портирование за счёт реализации функций часов, сброса и прерываний, которые не предоставляются IP-ядром. Шаблон для различных интерфейсов и функциональных возможностей. Интерфейсы:

  • PM.
  • GPIO.
  • SPI.
  • I2C.
  • PWM.
  • ADC.
  • SWI.
  • USART.
  • FLASH.
  • USB.
  • ethernet.

Оболочка Для использования приложений из другой системы можно использовать оболочку.

SDL — прямое использование приложений на основе SDL. Linux — прямое использование приложений на базе Linux.

  • posix.
  • devfs.
  • socket.
  • console.
  • библиотеки: libusb, libgen, libsdl2, libcurl и др.
Программное обеспечение Путь Лицензия Ссылка
btstack source/component/3rd-party/btstack/raw Other https://github.com/bluekitchen/btstack
coremark source/component/3rd-party/coremark/raw Apache https://github.com/eembc/coremark
freetype source/component/3rd-party/freetype/raw FreeType https://freetype.org/
zlib source/component/3rd-party/zlib/raw zlib http://zlib.net/
nuklear source/component/3rd-party/nuklear/raw MTI https://github.com/Immediate-Mode-UI/Nuklear
nnom source/component/3rd-party/nnom/raw Apache 2.0 https://github.com/majianjia/nnom
lua source/component/3rd-party/lua/raw MIT https://www.lua.org/
lwip source/component/3rd-party/lwip/raw BSD https://savannah.nongnu.org/projects/lwip/
libpng source/component/3rd-party/libpng/raw PNG2 https://libpng.sf.net
libjpeg-turbo source/component/3rd-party/libjpeg-turbo/raw BSD https://libjpeg-turbo.org/
SDL_ttf source/shell/media/sdl2/3rd-party/SDL_ttf zlib https://hg.libsdl.org/SDL_ttf/
SDL_image source/shell/media/sdl2/3rd-party/SDL_image zlib https://hg.libsdl.org/SDL_image/
lvgl source/component/3rd-party/lvgl/raw/lvgl MIT https://lvgl.io/
lv_lib_freetype source/component/3rd-party/lvgl/extension/lv_lib_freetype/raw MIT https://lvgl.io/
CMSIS source/utilities/compiler/arm/3rd-party/CMSIS Apache 2.0 https://github.com/ARM-software/CMSIS_5
evm source/component/3rd-party/evm/raw Apache 2.0 https://github.com/scriptiot/evm ЛинглонгGUI: исходный код/компонент/3rd-party/ЛинглонгGUI/raw, лицензия Apache 2.0, источник https://gitee.com/gzbkey/LingLongGUI.

Плоок: исходный код/утилиты/3rd-party/плоок/raw, лицензия Apache 2.0, источник https://github.com/GorgonMeducer/PLOOC.

Мбед тлс: исходный код/компоненты/3rd-party/mbedtls/raw, лицензия Apache 2.0, источник https://tls.mbed.org/.

Гуйлайт: исходный код/компонент/3rd-party/Гуйлайт/raw, лицензия Apache 2.0, источник https://github.com/idea4good/GuiLite.

Сеггер RTT: исходный код/компонент/3rd-party/сеггер/raw/RTT, лицензия segger, источник https://wiki.segger.com/RTT.

Сеггер Систем вью: исходный код/компонент/3rd-party/сеггер/raw/SystemView, лицензия segger, источник https://wiki.segger.com/SystemView.

Ну консоль: исходный код/компонент/3rd-party/ну консоль/raw, лицензия nuvoton, источник https://www.nuvoton.com.cn/.

Ай си восемь восемь ноль ноль М С Д К: исходный код/hal/driver/AIC/AIC8800/vendor, лицензия aic, источник http://www.aicsemi.com/.

Автк: лицензия LGPL 2.1, источник https://www.zlg.cn/index/pub/awtk.html.

Литтл фс: исходный код/компонент/3rd-party/литтл фс/raw, лицензия BSD, источник https://github.com/littlefs-project/littlefs.

Гетоп лонг: исходный код/shell/sys/linux/lib/3rd-party/гетоп, лицензия OpenBSD, источник https://github.com/openbsd/src.

Реджэкс: исходный код/shell/sys/linux/lib/3rd-party/реджэкс, лицензия OpenBSD, источник https://github.com/openbsd/src.

Фн матч: исходный код/shell/sys/linux/lib/3rd-party/фн матч, лицензия BSD, источник http://www.jbox.dk/sanos/source/lib/fnmatch.c.html.

Глоб: исходный код/shell/sys/linux/lib/3rd-party/глоб, лицензия BSD, источник https://github.com/cloudius-systems/musl.

Сет джмп: исходный код/hal/arch/x86/win.

Либ тув: исходный код/shell/sys/linux/lib/3rd-party/либ тув/raw, лицензия Apache 2.0, источник https://github.com/Samsung/libtuv.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

VSF — это Versaloon Software Framework, открытая встраиваемая программная платформа-фреймворк, основанная на протоколе Apache2.0. Включает в себя драйверы HAL для аппаратного обеспечения нижнего уровня, вытесняющую многозадачность, различные сервисы и компоненты. Весь код написан на языке C с использованием объектно-ориентированного подхода. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/vsfteam-vsf.git
git@api.gitlife.ru:oschina-mirror/vsfteam-vsf.git
oschina-mirror
vsfteam-vsf
vsfteam-vsf
master