全志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模式

  1. TF卡和spi flash 同时没有可启动镜像;

    也就是说你不插卡,且焊接的是新的或者没有有效镜像的spi flash,那就上电自动进入fel下载模式
  2. TF卡中有进入fel模式的特殊固件 fel-sdboot.sunxi

    如果你的spiflash已经有了启动镜像,那么需要在TF卡中烧入一个sunxi提供的 启动工具 ( dd if=fel-sdboot.sunxi of=/dev/mmcblk0 bs=1024 seek=8 ), 那么插入该TF卡启动会进入fel模式;
  3. 上电时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笔记的更多相关文章

  1. Java学习笔记5---命令行下用javac,java编译运行含package语句的类

    对于笔记3中的HelloWorld程序,编译时只要输入javac HelloWorld.java即可生成类文件:再用java HelloWorld即可运行. 如果源程序使用了包声明,编译运行时要使用某 ...

  2. Java之路——环境配置与编译运行

    本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...

  3. 为嵌入式全志V3s荔枝派板卡添加USB MT7601U(小米随身WIFI)驱动

    折腾了了一天终于scan出环境热点了,感觉本来挺简单的事情,网上教程一大把还费了一天的劲,很丧.不过网上教程虽多,但是还还是有些不同之处的,现在特意总结一下 全志V3s荔枝派板卡 添加该驱动的过程. ...

  4. 如何用javac 和java 编译运行整个Java工程

    转自:http://blog.csdn.net/huagong_adu/article/details/6929817      前言:本文教你怎么用javac和Java命令,以及如何利用脚本(she ...

  5. 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS

    使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS  2014-10-10 (updated: 2016-05-22) 64246 153 本教程介绍 ...

  6. 如何在命令提示符下编译运行含有Package的java文件

    这篇是大二自学Java的时候记下的笔记,中午回顾印象笔记的时候意外看到了这篇.看到多年前写下的文字,我想起那时候我对Java的懵懵懂懂,每天晚上在图书馆照着书写书上的示例代码,为一个中文分号绞尽脑汁, ...

  7. JavaSE(一)Java程序的三个基本规则-组织形式,编译运行,命名规则

    一.Java程序的组织形式       Java程序是一种纯粹的面向对象的程序设计语言,因此Java程序必须以类(class)的形式存在,类(class)是Java程序的最小程序单位.       J ...

  8. 如何使用Notepad++编译运行php

    安装编译运行文件的插件.插件-Plugin Manager-Show Plugin Manager. 找到NppExec插件,从这个插件的名字来看就是各位文件的执行.点击Install.需要下载安装, ...

  9. EditPlus远程编辑、语法高亮、编译运行源代码设置

    最近写代码的过程中,除了写Java时用的Eclipse.在Linux下编辑的Vi之外,有时也会用EditPlus打开一些文件,如配置文件.日志文件.脚本等.个人觉得EditPlus在很多场景下比较好用 ...

随机推荐

  1. git 工作中实用合并分支

    合并分支 .克隆远程分支 git clone -b dev1. url .创建本地分支,并关联远程分支 git checkout -b dev_wt orgin/dev_wt .合并某分支到当前分支 ...

  2. Scrapy的基本使用

    爬取:http://quotes.toscrape.com 单页面 # -*- coding: utf-8 -*- import scrapy class QuoteSpider(scrapy.Spi ...

  3. kafka 中 zookeeper 具体是做什么的?

    zookeeper 是 kafka 不可分割的一部分,可见其重要程度,所以我们有必要了解一下 zookeeper 在 kafka 中的具体工作内容. 而且,这也是面试时经常问的. zookeeper ...

  4. Redis Sentinel 高可用机制

    内容目录: Sentinel 如何工作的? 核心配置项 怎么选出新 master 的? Sentinel 有多个,具体谁来执行故障转移? Sentinel 是怎么发现 slave 和其他 sentin ...

  5. volatile梳理

    volatile 可见性也就是说一旦某个线程修改了该被volatile修饰的变量,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,可以立即获取修改之后的值. 在Java中为了加快程序的运行 ...

  6. Python用WMI模块获取windowns系统信息

    安装vmi https://pypi.org/project/WMI/#history 脚本如下: #!/usr/bin/env python #coding:utf- import wmi impo ...

  7. 实验18:HDLC和PPP

    实验15-1:HDLC 和PPP 封装 Ø     实验目的通过本实验,读者可以掌握如下技能:(1) 串行链路上的封装概念(2) HDLC 封装(3) PPP 封装 Ø     实验拓扑 实验步骤n  ...

  8. 04讲基础篇:经常说的CPU上下文切换是什么意思(下)

    具体分析 自愿上下文切换变多了,说明进程都在等待资源,有可能发生了 I/O 等其他问题: 非自愿上下文切换变多了,说明进程都在被强制调度,也就是都在争抢 CPU,说明 CPU 的确成了瓶颈: 中断次数 ...

  9. 二、通过工厂方法来配置bean

    调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节. 要声明通过静态方法创建的 Bean, 需要在 Bean ...

  10. Python学习框架(持续更新)

    1.数据类型 整型:整数,1.2.3...这种 浮点型:简单理解就是小数,1.23.3.141572653等等 字符型:“这是字符”,简单说就是我们说的话,都可以作为字符 布尔值:只有2种,true. ...