全志V3S 编译运行xboot笔记
全志V3S 编译运行xboot笔记
1.目的
现在手上有一块V3S的板子,想将其用起来。现在来记录一下这个过程。记录一下荔枝派zero的使用流程。
2.环境准备
首先需要clone代码
git clone git@gitee.com:xboot/xboot.git
接着就是设定交叉编译环境
清理环境
make clean
编译
make CROSS_COMPILE=/opt/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- PLATFORM=arm32-v3s
需要注意的是gcc一定是arm-linux-gnueabihf-否则可能会编译链接出错。因为v3s需要硬浮点hf。
编译完成后可以看到效果如下:

3.下载
编译完成后,就可以将我们编译好的文件下载进去了
3.1 fel模式进入
全志芯片的启动特点:
需要进入fel模式
- TF卡和spi flash 同时没有可启动镜像;
也就是说你不插卡,且焊接的是新的或者没有有效镜像的spi flash,那就上电自动进入fel下载模式 - TF卡中有进入fel模式的特殊固件 fel-sdboot.sunxi
如果你的spiflash已经有了启动镜像,那么需要在TF卡中烧入一个sunxi提供的 启动工具 ( dd if=fel-sdboot.sunxi of=/dev/mmcblk0 bs=1024 seek=8 ), 那么插入该TF卡启动会进入fel模式; - 上电时SPI_MISO拉低到地
该引脚为boot引脚,上电时出于低电平即会进入fel下载模式。
满足上面三个条件就可以进入fel模式了。

插上我们的usb线即可。
3.2 sunxi-fel工具的使用
由于在Ubuntu上进行开发工作,所以可以采用https://github.com/Icenowy/sunxi-tools.git提供的sunxi-fel工具进行spi flash的烧录工作。
具体的步骤如下:
第一步:clone代码
git clone `https://github.com/Icenowy/sunxi-tools.git
第二步:切换分支

对于v3s来说,我们切换到v3s的分支即可。
然后编译代码
sudo make
sudo make install
完成后就可以在控制台输入sunxi-fel了。
检查是否可以探测到芯片信息

这样就可以开始烧录了
3.3 烧录
烧录过程可以直接烧录到RAM中去执行
sudo sunxi-fel -p write 0x40000000 xboot.bin
sudo sunxi-fel exec 0x40000000
并且可以看到我们的开发板上的红灯一闪一闪的了

当然也可以进行烧录到spi flash中,这样,每次上电都会启动程序。
sunxi-fel -p spiflash-write 0 xboot.bin
需要注意的是,要切换到spi-rebase分支才可以,并且spi flash需要手动焊接。
4.串口打印
我们有的时候需要用串口查看具体的信息,那么怎么办呢?
可以连接板子的uart0作为输出信息

连接完成ttl转usb线后就可以在控制台看到打印信息了

此时,我们的xboot开发环境就搭建完成了。
5.总结
通过对xboot环境的搭建,我们可以更加清楚知道v3s的开发流程。所以一定需要做好记录,这样才能不必每次都需要摸索折腾。
全志V3S 编译运行xboot笔记的更多相关文章
- Java学习笔记5---命令行下用javac,java编译运行含package语句的类
对于笔记3中的HelloWorld程序,编译时只要输入javac HelloWorld.java即可生成类文件:再用java HelloWorld即可运行. 如果源程序使用了包声明,编译运行时要使用某 ...
- Java之路——环境配置与编译运行
本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...
- 为嵌入式全志V3s荔枝派板卡添加USB MT7601U(小米随身WIFI)驱动
折腾了了一天终于scan出环境热点了,感觉本来挺简单的事情,网上教程一大把还费了一天的劲,很丧.不过网上教程虽多,但是还还是有些不同之处的,现在特意总结一下 全志V3s荔枝派板卡 添加该驱动的过程. ...
- 如何用javac 和java 编译运行整个Java工程
转自:http://blog.csdn.net/huagong_adu/article/details/6929817 前言:本文教你怎么用javac和Java命令,以及如何利用脚本(she ...
- 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS
使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS 2014-10-10 (updated: 2016-05-22) 64246 153 本教程介绍 ...
- 如何在命令提示符下编译运行含有Package的java文件
这篇是大二自学Java的时候记下的笔记,中午回顾印象笔记的时候意外看到了这篇.看到多年前写下的文字,我想起那时候我对Java的懵懵懂懂,每天晚上在图书馆照着书写书上的示例代码,为一个中文分号绞尽脑汁, ...
- JavaSE(一)Java程序的三个基本规则-组织形式,编译运行,命名规则
一.Java程序的组织形式 Java程序是一种纯粹的面向对象的程序设计语言,因此Java程序必须以类(class)的形式存在,类(class)是Java程序的最小程序单位. J ...
- 如何使用Notepad++编译运行php
安装编译运行文件的插件.插件-Plugin Manager-Show Plugin Manager. 找到NppExec插件,从这个插件的名字来看就是各位文件的执行.点击Install.需要下载安装, ...
- EditPlus远程编辑、语法高亮、编译运行源代码设置
最近写代码的过程中,除了写Java时用的Eclipse.在Linux下编辑的Vi之外,有时也会用EditPlus打开一些文件,如配置文件.日志文件.脚本等.个人觉得EditPlus在很多场景下比较好用 ...
随机推荐
- proxy应用场景
//场景一:可以修改对象的值let o = { name: 'xiaoming', price: 190 } let d = new Proxy(o,{ get (target,key){ if(ke ...
- Flask蓝图(Blueprint)
一.作用 1.目录结构划分 2.url添加前缀 url_prefix 3.应用特殊装饰器,在该蓝图定义的特殊装饰器,只在改蓝图的起效 二.简单示例 1.创建一个项目文件 2.创建一个同名的python ...
- C# 实现验证码识别,使用AspriseOCR.dll
验证码(Captcha)基于十道安全栅栏, 为网页.App.小程序开发者打造立体.全面的人机验证,最大程度地保护注册登录.活动秒杀.点赞发帖.数据保护等各大场景下的业务安全.要做自动化脚本程序,就要能 ...
- 如何高效实用 Git
Git 工作流 只要项目是多人参与的,那么就需要使用正确的 Git 工作流程. 下面介绍一个简单有效的工作流程. 场景 假设有一个项目,要开发下一代的 Facebook,你就是这个项目的技术 lead ...
- maven本地添加Oracle包
因为版权原因,Java后台连接数据库的ojdbc包并不可以用maven直接从网上下载导入,所以需要我们手动将其资源放在本地.下面是步骤: 1.找到Oracle ojdbc6包,拷贝到某备份目录2.包目 ...
- 玩转Django2.0---Django笔记建站基础十一(二)((音乐网站开发))
11.5 歌曲排行榜 歌曲排行榜是通过首页的导航链接进入的,按照歌曲的播放次数进行降序显示.从排行榜页面的设计图可以看到,网页实现三个功能:网页顶部搜索.歌曲分类筛选和歌曲信息列表,其说明如下: 1. ...
- Dynamics email的subject标题出现 CRM:0000xxxx
怎样移除email subject标题中出现的CRM:0000xxxx Settings->Administration->System Settings->Email->Un ...
- python之pymysql模块
模块安装 pip install pymysql 执行sql语句 import pymysql #通过pymysql下的connect函数来建立一个传输通道,连接本地mysql的所以host地址是12 ...
- 长连接 Websocket
import json from flask import Flask,request,render_template from geventwebsocket.handler import WebS ...
- React 函数生命周期
React 函数生命周期基础 1 ,概念 在组件创建.到加载到页面上运行.以及组件被销毁的过程中,总是伴随着各种各样的事件,这些在组件特定时期,触发的事件,统称为组件的生命周期:* 2,组件生命周 ...