本帖研究下Xboot。```
_ _
_ _ | |___ _____ _____ _| |_
\ \/ /| _ | _ | _ |_ _| (C) 2007-2018
) ( | |_| | |_| | |_| | | |____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,可直接操作各种硬件抽象接口
* 应用软件平台无关,一次编写,到处运行
# 系统及应用开发指南
* [XBOOT系统开发指南](https://github.com/xboot/xboot/blob/master/documents/xboot-system-development-guide-zh-CN.md)
* [XBOOT应用开发指南](https://github.com/xboot/xboot/blob/master/documents/xboot-application-development-guide-zh-CN.md)
# 下载开发工具
* [Eclipse集成开发环境 (已集成交叉工具链)](http://pan.baidu.com/s/1i3ImG0d)
* [交叉工具链](http://pan.baidu.com/s/1dDtssIt)
文档讲的很简单:
xboot秉持一次编写到处运行的理念,集成各类驱动支持,支持lua虚拟机,是一款优秀的bootloader;
xboot无需额外配置直接上手!
- git clone -b f1c100s-kk131 https://github.com/xboot/xboot.git
复制代码 首先下载xboot 开源代码,不知道为什么家里的网络一直下载不动,要么下载没进度,要么下载一般就报错
在这里卡好久没反应,好几天都下载不动,网上说ssh或者https服务器访问慢,建议用http,测试发现没什么用
于是借助公司的vpn网络用Git下载,拷贝回来,加载到虚拟就
通过虚拟光驱加载到哦linux
然后下载交叉编译工具,这个是百度云盘的,同样下载后光驱加载到linux
查看下编译器版本、
然后开始编译
- cd xboot
- make CROSS_COMPILE=/path/to/arm-eabi- PLATFORM=arm32-f1c100s #请自行修改到本机地址
复制代码
这个标记很慢,需要等十分钟左右吧
等待中
终于编完了,有错误
有个文件权限不够,找到这个文件
修改权限
重新编译
好像没错误了
找到xboot.bin文件
烧写到RAM中并运行
- sunxi-fel spl xboot.bin
- sunxi-fel -p write 0x80000000 xboot.bin
- sunxi-fel <span class="nb">exec</span> 0x80000000<span class="p">;</span>
复制代码
写入ram过程
或烧写到SPI Flash
- sunxi-fel -p spiflash-write <span class="m">0</span> xboot.bin<span class="sb">``</span>
复制代码
最终显示效果,好像分辨率有点问题,估计需要设置屏幕分辨率
串口好像没有数据呀,,感觉 程序需要改动的。。。
相关阅读:
X-boot编译下载
X-boot分析、修改、编译、下载经验分享(1)
X-boot分析、修改、编译、下载经验分享(2)
Eclipse编译仿真调试运行Xboot
|