All Projects → xboot → Xboot

xboot / Xboot

Licence: mit
The extensible bootloader for embedded system with application engine, write once, run everywhere.

Programming Languages

c
50402 projects - #5 most used programming language
lua
6591 projects

Projects that are alternatives of or similar to Xboot

Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (-54.57%)
Mutual labels:  bootloader, operating-system, os
30daymakeos
《30天自制操作系统》源码中文版。自己制作一个操作系统(OSASK)的过程
Stars: ✭ 4,127 (+919.01%)
Mutual labels:  operating-system, os, boot
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+1057.28%)
Mutual labels:  bootloader, operating-system, os
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-83.7%)
Mutual labels:  bootloader, operating-system, os
TravorOS
A simple OS running on Intel x86 architecture | No longer updating
Stars: ✭ 24 (-94.07%)
Mutual labels:  os, operating-system, bootloader
GENADEV OS
An AArch64 hobbyist OS for the Raspberry Pi 3 B+
Stars: ✭ 14 (-96.54%)
Mutual labels:  os, operating-system
MuditaOS
Mobile operating system based on FreeRTOS™ optimized for E Ink displays - developed for Mudita Pure minimalist phone
Stars: ✭ 349 (-13.83%)
Mutual labels:  os, embedded-systems
ByteOS
A simple hobby operating system for the x86-64 architecture, written in C.
Stars: ✭ 47 (-88.4%)
Mutual labels:  os, operating-system
LudOS
A toy monolithic kernel written in C++
Stars: ✭ 38 (-90.62%)
Mutual labels:  os, operating-system
MandelbrotOS
A community driven OS by the youth
Stars: ✭ 172 (-57.53%)
Mutual labels:  os, operating-system
oneiric
A small kernel + OS based on how dreams work
Stars: ✭ 11 (-97.28%)
Mutual labels:  os, operating-system
Qword
Operating system for x86_64 based around a "keep it simple and make it work" philosophy.
Stars: ✭ 367 (-9.38%)
Mutual labels:  operating-system, os
glass2
Prototype HTML5 Desktop OS
Stars: ✭ 49 (-87.9%)
Mutual labels:  os, operating-system
RocketOS
RocketOS is a Unix based OS that uses legacy BIOS and GRUB and is written in C17. It is being developed for educational purposes primarily, but it still is a serious project. It is currently in its infancy.
Stars: ✭ 23 (-94.32%)
Mutual labels:  os, operating-system
FOMOSv2-CL
FOMOS stands for: Free, Open source, Mobile, Operating, System.
Stars: ✭ 24 (-94.07%)
Mutual labels:  os, operating-system
systemboot
SystemBoot is a LinuxBoot distribution that works as a system firmware + bootloader, based on u-root
Stars: ✭ 103 (-74.57%)
Mutual labels:  boot, bootloader
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (-10.86%)
Mutual labels:  operating-system, os
Lemonos
The Lemon Operating System https://lemonos.org
Stars: ✭ 260 (-35.8%)
Mutual labels:  operating-system, os
Harmonyos
A curated list of awesome things related to HarmonyOS. 华为鸿蒙操作系统。
Stars: ✭ 18,385 (+4439.51%)
Mutual labels:  operating-system, os
utero
The Operating System (for x86_64) written in Crystal as much as possible
Stars: ✭ 55 (-86.42%)
Mutual labels:  os, operating-system

xboot-logo


XBOOT简介(English Version)

       _                   _                     
 _  _ | |___ _____ _____ _| |_                   
\ \/ /|  _  |  _  |  _  |_   _|  (C) 2007-2021   
 )  ( | |_| | |_| | |_| | | |____JIANJUN.JIANG__ 
/_/\_\|_____|_____|_____| |_____________________|

操作一个GPIO,需要仔细对照芯片手册,好繁琐;每换一个主控芯片,所有工作从头来过;想开发个现代点支持各种动效的UI,发现几乎是不可能的事情;各种协议栈有如天书一样,阅读都困难,何谈编写;虚拟机技术很流行,功能很强大,想自己移植个,可是困难重重;还是放开自己吧,让XBOOT来替你解决这些问题。XBOOT不仅仅是一款功能强大、可移植性强、代码复用率高的嵌入式系统bootloader,而且还是一款SOC片上系统应用软件执行引擎,无需复杂的操作系统,APP上电直接执行。一次编写,到处运行,不仅仅是个口号,而且还是XBOOT存在的唯一原因。一些基本特性,简单列举如下:

  • 支持文件系统
  • 支持lua虚拟机
  • 支持各种协议栈
  • 支持矢量图形库,矢量字体
  • 支持各种现代GUI控件,以及动效
  • 多平台支持
  • 各种总线驱动,UART,I2C,SPI等等
  • 各种设备驱动,GPIO,PWM,IRQ,CLK,LED,BUZZER,VIBRATOR,WATCHDOG,RNG,FRAMEBUFFER,RTC等
  • 支持用lua编写应用软件,包含高等级API,可直接操作各种硬件抽象接口
  • 应用软件平台无关,一次编写,到处运行

linux-sandbox-game-2048

系统及应用开发指南

下载开发工具

编译源码

Makefile中有两个变量在编译时需要传递,一个是交叉工具链,另一个是具体的硬件平台

变量 说明
CROSS_COMPILE 指定交叉工具链
PLATFORM 指定硬件平台,由两部分组成,archmach
  • Realview平台,qemu-system-arm模拟器

make clean
make CROSS_COMPILE=/path/to/arm-none-linux-gnueabihf- PLATFORM=arm32-realview
  • X86_64位linux系统下的sandbox

sandbox依赖与SDL2库,在编译前需要安装libsdl2-dev,以ubuntu系统为例:

sudo apt-get install libsdl2-dev
make clean
make CROSS_COMPILE="" PLATFORM=x64-sandbox

运行XBOOT(效果演示)

各个平台运行方式不太一样,具体查看板级支持包里面的相关说明文件,Realview模拟器平台直接执行tools目录下的相关脚本,linux系统下的sandbox平台,直接双击生成的目标文件执行即可。

讨论组,大佬聚集,请踊跃加入

XBOOT官方QQ群:658250248 (2000人)

资助鼓励

如果您认为我做的这些对您来说是有价值的, 并鼓励我进行更多的开源及免费开发. 那您可以资助我, 就算是一杯咖啡... donate-with-wechat donate-with-alipay


Xboot Introduction

It very tedious that we need careful read soc datasheet when operate GPIO on soc.We always repeat working when changed the soc.its almost almost impossible to We want develop a UI that support all kinds of magic motion.Stacks of protocols are like heavenly books ,it Reading is very hard , How do we program? Virtual machine technology is very popular and it function is powerful,but it very difficult to transplant it.so we build the Xboot.it can help us deal with these problems. XBOOT is not only a powerful, portable, and highly reusable, embedded system bootloader,but also on a piece of SOC system application software execution engine, without complex operating system, electricity directly executed on the APP。"Once written, running everywhere." It not just a slogan,but also the only reason for the existence of XBOOT. What's on the XBOOT?

  • Support file systems
  • Support lua virtual machine
  • Support many protocol stacks
  • Support graphics library, and vector font
  • Supports a modern GUI, and animations
  • Multi-platform support
  • Bus drivers, UART, I2C, SPI and so on
  • Device drivers, GPIO, PWM, IRQ, CLK, LED, BUZZER, VIBRATOR, WATCHDOG, RNG, FRAMEBUFFER, RTC, etc.
  • Support application using lua, which include high-level API, can operate a variety of hardware abstract interface directly
  • Application software platform has nothing to do, write once, run everywhere

System And Application Development Guide

Download Development Tools

Compile The Source Code

Makefile have two variables need to pass, one is cross toolchain, the other is a specific hardware platform

variable Description
CROSS_COMPILE The specical cross toolchain
PLATFORM The hardware platform, have two parts, arch and mach
  • Realview Platform,qemu-system-arm Emulator

make clean
make CROSS_COMPILE=/path/to/arm-none-linux-gnueabihf- PLATFORM=arm32-realview
  • Linux Sandbox On X86_64

The sandbox depends on the SDL2 library, you need to install libsdl2-dev before compile, as an example at the ubuntu system:

sudo apt-get install libsdl2-dev
make clean
make CROSS_COMPILE="" PLATFORM=x64-sandbox

Running Xboot(ShowCase)

Each platform is not same, Please see the relevant documentation in the BSP directory, To running realview platform using some scripts in the tools, The sandbox platform just double-click the generated target file

Discussion Group, Many Big Brother, Please Join Us

XBOOT Official Tencent QQ Group: 658250248 (2000 people)

Donation

If you find my work useful and you want to encourage the development of more free resources, you can do it by donating…

donate-with-paypal

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].