Git Product home page Git Product logo

xboot / xboot Goto Github PK

View Code? Open in Web Editor NEW
783.0 51.0 279.0 139.11 MB

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

Home Page: https://xboot.github.io

License: MIT License

Makefile 0.57% Lua 0.07% C 96.04% Shell 0.04% Assembly 3.26% Batchfile 0.02%
xboot bootloader lua application-engine embedded-systems soc samsung rockchip allwinner freescale

xboot's Introduction

xboot-logo


XBOOT简介(English Version)

       _                   _                     
 _  _ | |___ _____ _____ _| |_                   
\ \/ /|  _  |  _  |  _  |_   _|  (C) 2007-2023   
 )  ( | |_| | |_| | |_| | | |____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官方QQ群:658250248 (2000人)


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

Documents and 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

Discussion Group, Many Big Brother, Please Join Us

XBOOT Official Tencent QQ Group: 658250248 (2000 people)

xboot's People

Contributors

herbsmn avatar icenowy avatar jianjunjiang avatar johnsanpe avatar nanfang2000 avatar robertlipe avatar szsam avatar tenfar avatar udude avatar zhuyu1997 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xboot's Issues

[Feature] ?

hi @@ This bootlader is very interesting.
Maybe dynamic module, can be in future work.

Nothing appears on the UART3 on Exynos 4412 (Samsung Galaxy SIII, i9300)

Hi,

I've compiled the code and followed the instructions on the installation documentation for the Exynos 4142.

I've also configured the device I have (a Galaxy SIII (i9300) to boot on the microSD by erasing /dev/mmcblk0boot0).

I've burned output/xboot.bin to the SD card with

sudo dd if=xboot.bin of=/dev/sdb bs=512 seek=1 conv=sync

However at boot, I only have random characters the serial port.

But if I put u-boot on the SD card, I get u-boot logs on the serial port.

Do you have any idea of why it is not working?
Did you manage to get it working on devices with an Exynos 4412?
If so which devices did you manage to get it working on?

Denis.

Does xboot require proprietary blobs for Exynos4412?

Hello,

All u-boot ports for the Exynos4412 that I have seen require a proprietary blob for BL1, and many of them also require a proprietary blob for BL2. I'm not seeing any blobs in your 4412 code. Is this because a proprietary blob isn't needed?

-herbsmn

Rv1126

Any plan to support rv1126?

xboot smp_processor_id() returns always 5.

I use xboot master on lichee nano (f1c100s).
xboot smp_processor_id() returns always 5. maybe it should return 0.
i don't know how to fix it. can i have a hint to fix?

Additional drivers and features ?

Interested about the F1C100s port. There are no drivers for some of the peripherals – USB, CVBS in / out, KeyADC, TP 4-ch 12-bit SAR ADC etc. Wondered if you plan to add such drivers ? Also in some cases MicroPython might be preferable.

Booting on the Tinker Board (rk3288)

Hi! I found your project when searching for resources on the RK3288. It's very intersting work!

I could use some pointers how to boot xboot on the Asus Tinker Board. I built successfully using:

$ make CROSS_COMPILE=arm-linux-gnueabihf- PLATFORM=arm32-rk3288

I managed to boot the xboot ELF binary with U-Boot:

Model: Tinker-RK3288
DRAM:  2 GiB
MMC:   dwmmc@ff0c0000: 1
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Model: Tinker-RK3288
Net:   eth0: ethernet@ff290000
Hit any key to stop autoboot:  0
=> dhcp 0x02000000 192.168.0.36:xboot
ethernet@ff290000 Waiting for PHY auto negotiation to complete....... done
Speed: 1000, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 192.168.0.59 (332 ms)
Using ethernet@ff290000 device
TFTP from server 192.168.0.36; our IP address is 192.168.0.59
Filename 'xboot'.
Load address: 0x2000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #T ################################################################
         #################################################################
         #################################################################
         #################################################################
         ##################################################
         1.3 MiB/s
done
Bytes transferred = 15990696 (f3ffa8 hex)
=> bootelf 0x02000000
## Starting application at 0x60000000 ...
       _                   _
 _  _ | |___ _____ _____ _| |_
\ \/ /|  _  |  _  |  _  |_   _|  (C) 2007-2019
 )  ( | |_| | |_| | |_| | | |____JIANJUN.JIANG__
/_/\_\|_____|_____|_____| |_____________________|
V3.0.0 (Mar 26 2019 - 08:30:01) - [x3288][X3288 Based On RK3288 SOC]
[    0.000000] Probe device 'romdisk.0' with romdisk
[    0.000010] Probe device 'usbphy480m' with clk-fixed
[    0.000020] Probe device 'xin24m' with clk-fixed
[    0.000030] Probe device 'xin32k' with clk-fixed
[    0.000040] Probe device 'apll' with clk-rk3288-pll
[    0.000050] Probe device 'dpll' with clk-rk3288-pll
[    0.000060] Probe device 'cpll' with clk-rk3288-pll
[    0.000070] Probe device 'gpll' with clk-rk3288-pll
[    0.000080] Probe device 'npll' with clk-rk3288-pll
[    0.000090] Probe device 'gate-gpll' with clk-rk3288-gate
[    0.000100] Probe device 'gate-cpll' with clk-rk3288-gate
[    0.000110] Probe device 'mux-pd-bus-src' with clk-rk3288-mux
[    0.000120] Probe device 'div-pd-bus-src' with clk-rk3288-divider
[    0.000130] Probe device 'div-pd-bus' with clk-rk3288-divider
[    0.000140] Probe device 'gate-aclk-bus' with clk-rk3288-gate
[    0.000150] Probe device 'aclk-bus-pre' with clk-link
[    0.000160] Probe device 'gate-cpu-pclk' with clk-rk3288-gate
[    0.000170] Probe device 'div-cpu-pclk' with clk-rk3288-divider
[    0.000180] Probe device 'pclk-bus-pre' with clk-link
[    0.000190] Probe device 'gate-cpu-hclk' with clk-rk3288-gate
[    0.000200] Probe device 'div-cpu-hclk' with clk-rk3288-divider
[    0.000210] Probe device 'hclk-bus-pre' with clk-link
[    0.000220] Probe device 'div-pclk-pd-alive' with clk-rk3288-divider
[    0.000230] Probe device 'pclk-pd-alive' with clk-link
[    0.000240] Probe device 'gate-pclk-pd-pmu' with clk-rk3288-gate
[    0.000250] Probe device 'div-pclk-pd-pmu' with clk-rk3288-divider
[    0.000260] Probe device 'pclk-pd-pmu' with clk-link
[    0.000270] Probe device 'mux-clk-peri' with clk-rk3288-mux
[    0.000280] Probe device 'gate-clk-peri' with clk-rk3288-gate
[    0.000290] Probe device 'div-clk-peri' with clk-rk3288-divider
[    0.000300] Probe device 'ratio-pclk-peri' with clk-rk3288-ratio
[    0.000310] Probe device 'gate-pclk-peri-pre' with clk-rk3288-gate
[    0.000320] Probe device 'pclk-peri-pre' with clk-link
[    0.000330] Probe device 'ratio-hclk-peri' with clk-rk3288-ratio
[    0.000340] Probe device 'gate-hclk-peri-pre' with clk-rk3288-gate
[    0.000350] Probe device 'hclk-peri-pre' with clk-link
[    0.000360] Probe device 'gate-aclk-peri-pre' with clk-rk3288-gate
[    0.000370] Probe device 'aclk-peri-pre' with clk-link
[    0.000380] Probe device 'mux-aclk-vio0' with clk-rk3288-mux
[    0.000390] Probe device 'gate-aclk-vio0' with clk-rk3288-gate
[    0.000400] Probe device 'div-aclk-vio0' with clk-rk3288-divider
[    0.000410] Probe device 'aclk-vio0-pre' with clk-link
[    0.000420] Probe device 'div-hclk-vio' with clk-rk3288-divider
[    0.000430] Probe device 'hclk-vio-pre' with clk-link
[    0.000440] Probe device 'mux-aclk-vio1' with clk-rk3288-mux
[    0.000450] Probe device 'gate-aclk-vio1' with clk-rk3288-gate
[    0.000460] Probe device 'div-aclk-vio1' with clk-rk3288-divider
[    0.000470] Probe device 'aclk-vio1-pre' with clk-link
[    0.000480] Probe device 'mux-aclk-rga' with clk-rk3288-mux
[    0.000490] Probe device 'gate-aclk-rga' with clk-rk3288-gate
[    0.000500] Probe device 'div-aclk-rga' with clk-rk3288-divider
[    0.000510] Probe device 'aclk-rga-pre' with clk-link
[    0.000520] Probe device 'mux-clk-rga' with clk-rk3288-mux
[    0.000530] Probe device 'gate-clk-rga' with clk-rk3288-gate
[    0.000540] Probe device 'div-clk-rga' with clk-rk3288-divider
[    0.000550] Probe device 'clk-rga' with clk-link
[    0.000560] Probe device 'gate-pclk-rkpwm' with clk-rk3288-gate
[    0.000570] Probe device 'link-pclk-rkpwm' with clk-link
[    0.000580] Probe device 'gate-timer0' with clk-rk3288-gate
[    0.000590] Probe device 'gate-timer1' with clk-rk3288-gate
[    0.000600] Probe device 'gate-timer2' with clk-rk3288-gate
[    0.000610] Probe device 'gate-timer3' with clk-rk3288-gate
[    0.000620] Probe device 'gate-timer4' with clk-rk3288-gate
[    0.000630] Probe device 'gate-timer5' with clk-rk3288-gate
[    0.000640] Probe device 'link-timer0' with clk-link
[    0.000650] Probe device 'link-timer1' with clk-link
[    0.000660] Probe device 'link-timer2' with clk-link
[    0.000670] Probe device 'link-timer3' with clk-link
[    0.000680] Probe device 'link-timer4' with clk-link
[    0.000690] Probe device 'link-timer5' with clk-link
[    0.000700] Probe device 'gate-saradc' with clk-rk3288-gate
[    0.000710] Probe device 'div-saradc' with clk-rk3288-divider
[    0.000720] Probe device 'gate-pclk-saradc' with clk-rk3288-gate
[    0.000730] Probe device 'link-pclk-saradc' with clk-link
[    0.000740] Probe device 'mux-uart0-src' with clk-rk3288-mux
[    0.000750] Probe device 'gate-uart0-src' with clk-rk3288-gate
[    0.000760] Probe device 'div-uart0-src' with clk-rk3288-divider
[    0.000770] Probe device 'gate-uart0-frac' with clk-rk3288-gate
[    0.000780] Probe device 'factor-uart0-frac' with clk-rk3288-factor
[    0.000790] Probe device 'mux-uart0' with clk-rk3288-mux
[    0.000800] Probe device 'link-uart0' with clk-link
[    0.000810] Probe device 'mux-uart1234-src' with clk-rk3288-mux
[    0.000820] Probe device 'gate-uart1-src' with clk-rk3288-gate
[    0.000830] Probe device 'div-uart1-src' with clk-rk3288-divider
[    0.000840] Probe device 'gate-uart1-frac' with clk-rk3288-gate
[    0.000850] Probe device 'factor-uart1-frac' with clk-rk3288-factor
[    0.000860] Probe device 'mux-uart1' with clk-rk3288-mux
[    0.000870] Probe device 'link-uart1' with clk-link
[    0.000880] Probe device 'gate-uart2-src' with clk-rk3288-gate
[    0.000890] Probe device 'div-uart2-src' with clk-rk3288-divider
[    0.000900] Probe device 'gate-uart2-frac' with clk-rk3288-gate
[    0.000910] Probe device 'factor-uart2-frac' with clk-rk3288-factor
[    0.000920] Probe device 'mux-uart2' with clk-rk3288-mux
[    0.000930] Probe device 'link-uart2' with clk-link
[    0.000940] Probe device 'gate-uart3-src' with clk-rk3288-gate
[    0.000950] Probe device 'div-uart3-src' with clk-rk3288-divider
[    0.000960] Probe device 'gate-uart3-frac' with clk-rk3288-gate
[    0.000970] Probe device 'factor-uart3-frac' with clk-rk3288-factor
[    0.000980] Probe device 'mux-uart3' with clk-rk3288-mux
[    0.000990] Probe device 'link-uart3' with clk-link
[    0.001000] Probe device 'gate-uart4-src' with clk-rk3288-gate
[    0.001010] Probe device 'div-uart4-src' with clk-rk3288-divider
[    0.001020] Probe device 'gate-uart4-frac' with clk-rk3288-gate
[    0.001030] Probe device 'factor-uart4-frac' with clk-rk3288-factor
[    0.001040] Probe device 'mux-uart4' with clk-rk3288-mux
[    0.001050] Probe device 'link-uart4' with clk-link
[    0.001060] Probe device 'gate-pclk-i2c0' with clk-rk3288-gate
[    0.001070] Probe device 'gate-pclk-i2c1' with clk-rk3288-gate
[    0.001080] Probe device 'gate-pclk-i2c2' with clk-rk3288-gate
[    0.001090] Probe device 'gate-pclk-i2c3' with clk-rk3288-gate
[    0.001100] Probe device 'gate-pclk-i2c4' with clk-rk3288-gate
[    0.001110] Probe device 'gate-pclk-i2c5' with clk-rk3288-gate
[    0.001120] Probe device 'link-pclk-i2c0' with clk-link
[    0.001130] Probe device 'link-pclk-i2c1' with clk-link
[    0.001140] Probe device 'link-pclk-i2c2' with clk-link
[    0.001150] Probe device 'link-pclk-i2c3' with clk-link
[    0.001160] Probe device 'link-pclk-i2c4' with clk-link
[    0.001170] Probe device 'link-pclk-i2c5' with clk-link
[    0.001180] Probe device 'mux-spi0' with clk-rk3288-mux
[    0.001190] Probe device 'gate-spi0' with clk-rk3288-gate
[    0.001200] Probe device 'div-spi0' with clk-rk3288-divider
[    0.001210] Probe device 'link-spi0' with clk-link
[    0.001220] Probe device 'mux-spi1' with clk-rk3288-mux
[    0.001230] Probe device 'gate-spi1' with clk-rk3288-gate
[    0.001240] Probe device 'div-spi1' with clk-rk3288-divider
[    0.001250] Probe device 'link-spi1' with clk-link
[    0.001260] Probe device 'mux-spi2' with clk-rk3288-mux
[    0.001270] Probe device 'gate-spi2' with clk-rk3288-gate
[    0.001280] Probe device 'div-spi2' with clk-rk3288-divider
[    0.001290] Probe device 'link-spi2' with clk-link
[    0.001300] Probe device 'mux-dclk-vop0' with clk-rk3288-mux
[    0.001310] Probe device 'gate-dclk-vop0' with clk-rk3288-gate
[    0.001320] Probe device 'div-dclk-vop0' with clk-rk3288-divider
[    0.001330] Probe device 'dclk-vop0' with clk-link
[    0.001340] Probe device 'mux-dclk-vop1' with clk-rk3288-mux
[    0.001350] Probe device 'gate-dclk-vop1' with clk-rk3288-gate
[    0.001360] Probe device 'div-dclk-vop1' with clk-rk3288-divider
[    0.001370] Probe device 'dclk-vop1' with clk-link
[    0.001380] Probe device 'gate-aclk-vop0' with clk-rk3288-gate
[    0.001390] Probe device 'link-aclk-vop0' with clk-link
[    0.001400] Probe device 'gate-hclk-vop0' with clk-rk3288-gate
[    0.001410] Probe device 'link-hclk-vop0' with clk-link
[    0.001420] Probe device 'gate-aclk-vop1' with clk-rk3288-gate
[    0.001430] Probe device 'link-aclk-vop1' with clk-link
[    0.001440] Probe device 'gate-hclk-vop1' with clk-rk3288-gate
[    0.001450] Probe device 'link-hclk-vop1' with clk-link
[    0.001460] Probe device 'reset-rk3288.0' with reset-rk3288
[    0.001470] Probe device 'reset-rk3288.1' with reset-rk3288
[    0.001480] Probe device 'reset-rk3288.2' with reset-rk3288
[    0.001490] Probe device 'reset-rk3288.3' with reset-rk3288
[    0.001500] Probe device 'reset-rk3288.4' with reset-rk3288
[    0.001510] Probe device 'reset-rk3288.5' with reset-rk3288
[    0.001520] Probe device 'reset-rk3288.6' with reset-rk3288
[    0.001530] Probe device 'reset-rk3288.7' with reset-rk3288
[    0.001540] Probe device 'reset-rk3288.8' with reset-rk3288
[    0.001550] Probe device 'reset-rk3288.9' with reset-rk3288
[    0.001560] Probe device 'reset-rk3288.10' with reset-rk3288
[    0.001570] Probe device 'reset-rk3288.11' with reset-rk3288
[    0.001580] Probe device 'irq-gic400.0' with irq-gic400
[    0.001590] Probe device 'irq-rk3288-gpio.0' with irq-rk3288-gpio
[    0.001600] Probe device 'irq-rk3288-gpio.1' with irq-rk3288-gpio
[    0.001610] Probe device 'irq-rk3288-gpio.2' with irq-rk3288-gpio
[    0.001620] Probe device 'irq-rk3288-gpio.3' with irq-rk3288-gpio
[    0.001630] Probe device 'irq-rk3288-gpio.4' with irq-rk3288-gpio
[    0.001640] Probe device 'irq-rk3288-gpio.5' with irq-rk3288-gpio
[    0.001650] Probe device 'irq-rk3288-gpio.6' with irq-rk3288-gpio
[    0.001660] Probe device 'irq-rk3288-gpio.7' with irq-rk3288-gpio
[    0.001670] Probe device 'irq-rk3288-gpio.8' with irq-rk3288-gpio
[    0.001680] Probe device 'gpio-rk3288.0' with gpio-rk3288
[    0.001690] Probe device 'gpio-rk3288.1' with gpio-rk3288
[    0.001700] Probe device 'gpio-rk3288.2' with gpio-rk3288
[    0.001710] Probe device 'gpio-rk3288.3' with gpio-rk3288
[    0.001720] Probe device 'gpio-rk3288.4' with gpio-rk3288
[    0.001730] Probe device 'gpio-rk3288.5' with gpio-rk3288
[    0.001740] Probe device 'gpio-rk3288.6' with gpio-rk3288
[    0.001750] Probe device 'gpio-rk3288.7' with gpio-rk3288
[    0.001760] Probe device 'gpio-rk3288.8' with gpio-rk3288
[    0.001770] Probe device 'pwm-rk3288.0' with pwm-rk3288
[    0.001780] Probe device 'pwm-rk3288.1' with pwm-rk3288
[    0.001790] Probe device 'pwm-rk3288.2' with pwm-rk3288
[    0.001800] Probe device 'pwm-rk3288.3' with pwm-rk3288
[    0.001810] Probe device 'adc-rk3288.0' with adc-rk3288
[    0.001820] Probe device 'ce-rockchip-timer.0' with ce-rockchip-timer
[    0.000018] Probe device 'cs-rockchip-timer.0' with cs-rockchip-timer
[    0.006427] Probe device 'uart-8250.0' with uartorProbe device 'uart-8250.2' with uart-8250
[    0.016539] Probe device 'uart-8250.3' with uart-8250
[    0.020944] Probe device 'uart-8250.4' with uart-8250
[    0.025980] Probe device 'i2c-rk3288.0' with i2c-rk3288
[    0.031175] Probe device 'i2c-rk3288.1' with i2c-rk3288

At this point the boot freezes. I am not reaching the xboot console. There is no output on the HDMI and unfortunately I don't have an LCD to test with.

Can you point me in the right direction?
I have the Tinker Board without eMMC, so I think I can't use rkdeveloptool. I can dd to the SD card, just not sure which of the outputs/ I should use and how to boot properly.

Thanks for any help! :)

Porting for ODROID C2

Hi, all,

Is there a porting this xboot for Odroid? If so, could you share the document with these instructions (a how to compile and burn on this platform).

Best regards,

Booting x6818

Hi

I tried booting nano pi m3 (s5p6818) using xboot but all I see garbage characters on console after 2ndboot

Following command is used to build xboot for s5p6818

make -j4 PLATFORM=arm64-x6818

After that dd the xbootpark.bin

sudo dd if=xbootpak.bin of=/dev/sdc bs=512 seek=1

Below is what I see on serial console


Second Boot by Nexell Co. : Ver0.3.6 - Built on Nov 13 2015 17:46:08

DDR3 POR Init Start 0
phy init
Lock value = 180
GATE CYC = 0x00000492
GATE CODE = 0x00000000
Read DQ = 0x08080808
Write DQ = 0x08080808

DDR3 Init Done!
CCI Init!
Wakeup CPU Wakeup CPU 1234567
CPU Wakeup done! WFI is expected.
CPU0 is Master!

Loading from sdmmc...
Image Loading Done!
Launch to 0x43C00000
��������������������������������

Also, tried to program uart clock freq to different values , like 50Mhz but nothing seems to work.

Should use the built-in std head files of GCC.

What is -ffreestanding?

https://gcc.gnu.org/onlinedocs/gcc/Standards.html
The ISO C standard defines (in clause 4) two classes of conforming implementation.
A conforming hosted implementation supports the whole standard including all the library facilities;
a conforming freestanding implementation is only required to provide certain library facilities:
those in <float.h>, <limits.h>, <stdarg.h>, and <stddef.h>;
since AMD1, also those in <iso646.h>;
since C99, also those in <stdbool.h> and <stdint.h>;
and since C11, also those in <stdalign.h> and <stdnoreturn.h>.
In addition, complex types, added in C99, are not required for freestanding implementations.

Translate to english language

Hi,
Congratulations on your project. However, I would like to test, but the README and site information is in Chinese. Is it possible to create a English Version? I could you help to translate it.

Best Regards,

F1c200s sound cracking and wave file alloc error

Hello,
In function sound_alloc_from_xfs_wav

	header.riffsz = be32_to_cpu(header.riffsz);
	header.fmtsz = be32_to_cpu(header.fmtsz);
	header.fmttag = be16_to_cpu(header.fmttag);
	header.channel = be16_to_cpu(header.channel);
	header.samplerate = be32_to_cpu(header.samplerate);
	header.byterate = be32_to_cpu(header.byterate);
	header.align = be16_to_cpu(header.align);
	header.bps = be16_to_cpu(header.bps);
	header.datasz = be32_to_cpu(header.datasz);

Should be little endian. i commented this section and wave file worked.
Also playback making some noise while playing, both on wav and original ogg. Feels like some cracking

BUG

image
image
As you see, this file has an incompatible name.
Please give a fix to delete the white space.

C++ support

Could you support C++?
Currently xboot has no consideration for C++.
I slightly changed some code to support C++ but it is not perfect.

Also the following code can't be compiled, for example.

#include <algorithm>
#include <string>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.