Yocto的web构建方式Toaster

Toaster是Yocto提供的web图形化构建方式,比命令行更友好一些。使用Toaster前需要先source开发环境和目录,因为Toaster使用Python语言的web框架Django开发,所以需要先安装相关依赖。Yocto已经准备好requirments文件,所以用pip直接安装就可以了。

sudo pip -r poky/bitbake/toaster-requirements.txt
source toaster start

默认Toaster是绑定在8000端口上的,打开浏览器就可以看到了。

去中心化的web服务ZeroNet

ZeroNet官网

开源自由的去中心化web服务,基于Bitcoin和BitTorrent技术实现。解决传统web服务的中心化服务器,避免网站被运营商或政府强制下线。

P2P微博服务Twister

官网

Twister是一个P2P去中心化的微博平台,基于Bitcoin和BitTorrent技术实现。类似于国外的Twitter,国内的新浪微博服务。

NXP imx6ul使用Yocto构建文件系统

知识共享许可协议
本作品采用知识共享署名-禁止演绎 4.0 国际许可协议进行许可。

配置环境

imx6ul的Yocto项目是由多个项目组成的,为了便于项目管理,每个项目是一个仓库,所以用到了repo工具来对多个项目仓库管理。同时也方便用户使用,不用单独下载。

首先要下载repo工具,这个是由google提供的,所以要提前准备好科学上网工具,才能够下载成功。下载后的repo文件是存放在Home下的bin目录里。同时把这个路径配置到PATH环境变量内,可以方便使用repo命令。

mkdir ~/bin (this step may not be needed if the bin folder already exists)
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=$PATH:$HOME/bin

配置Git个人信息

repo要求下载项目代时,git要有用户名和邮箱的标识。

git config --global user.name "Your Name"
git config --global user.email "Your Email"
git config --list

下载fsl的Yocto项目代码

准备好的,就可以使用repo init初始化仓库,再用repo sync来同步所有的代码,这个时间会比较长,取决于网络速度。下载过程中可能会因网络超时退出,可以多次执行repo sync命令,直到下载完成。

mkdir fsl-release-bsp
cd fsl-release-bsp
repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1-krogoth
repo sync

imx6ul的Yocto项目目录结构如下:

├── fsl-setup-release.sh
├── README
├── README-IMXBSP
├── setup-environment
└── sources
    ├── base
    ├── meta-browser
    ├── meta-fsl-arm
    ├── meta-fsl-arm-extra
    ├── meta-fsl-bsp-release
    ├── meta-fsl-demos
    ├── meta-myir-imx6ulx
    ├── meta-openembedded
    ├── meta-qt5
    └── poky

macOS多种重置方法

SMC重置

关机后按下shift + control + option + Power,按十秒钟后松开,重启即可。

NVRAM重置

关机后按下control + command + p + r,期间有自动重启的开机声,三次后即可松开。

嵌入式Linux升级方法

SWUpdate 一种单/双镜像的模块化升级框架,支持镜像签名、可以使用 Kconfig 来进行配置、能够处理本地或者远程升级等。支持整合到Yocto中。
source

Mender 则是以OTA进行升级位目标的升级方案。它是用 Go 编程语言编写的双镜像升级框架。
source

OSTree 是此次增量原子升级方案演示中最有名气的,它类似于 Git。Fedora 和 RedHat 都有它的身影,甚至 Gnome 的 Flatpak 容器系统也使用了 OSTree。
source

Swupd 是最后展示的一个升级系统,是由 Intel 的 Clear Linux 发行版率先使用的升级方案。
source

Atmel SAMA5D27调试记录

最近使用Atmel SAMA5D27芯片作为开发板的主控芯片,结果一路坎坷。下面是在调试中遇到的问题,仅供参考。

启动FUSE烧写

SMAA5D3,SAMA5D4上电后会从芯片启动ROMBOOT程序,然后跟据启动列表依次检查启动项,如果没有就进入SAM-BA Monitor。而SAMA5D27上有FUSE和GPBR,上电先根据FUSE的启动项,检查可启动项目。GPBR是允许用户自定义的启动配置register,前提是RTC要有电池,否则掉电会丢失register上的值。FUSE在启动前需要先烧写一次,也只能烧写一次。默认是没有启动项的,如果烧写错误也就挂了。

SD或eMMC启动

这个芯片目前有两版本,A和B版本。B版本有说明MMC无法启动的情况,A版本没有说明。实际测试时,A版本一样有无法启动的情况。

SAM-BA烧写软件

SAMA5D27上推荐用SAM-BA 3.1.4版本的,跟之前的版本有很大区别。之前的是使用TCL/TK语言或框架开发,新版使用Qt+QML开发,跨平台性更好了。实际使用中,芯片进入SAM-BA Monitor模式后,SAM-BA去连接串口时提示无法进入“binary mode”,要多试几次才行。AT91论坛上有写到,需要按下BOOT_DIS的按键。

Android fastboot协议

经常看Android刷机上有说到fastboot名词,开始以为是指fastboot工具,查资料后才明白fastboot是指协议。它可以允许基于fastboot协议的工具向设备端发送一系列命令,包括软件升级、擦写分区和启动kernel。

fastboot协议文档
U-Boot的fastboot协议实现

1.主机端发送字符串命令
2.客户端响应命令,以字符串"OKAY", "FAIL", "DATA", "INFO"
3.数据阶段,主机端和客户端准备数据发送或接收的数量
4.客户端响应
5.成功,停止

Reference:

http://free-electrons.com/blog/factory-flashing-with-u-boot-and-fastboot-on-freescale-i-mx6/

最新文章

最近回复

  • Blackrose: 外部只是帮你把芯片启...
  • : 内部时钟比外部的频率...
  • Blackrose: 你这评论比正文更有内容么
  • 7hao: CR+LF ...
  • Blackrose: 可以是你更新软件源后...
  • sxk: 博主,我的系统是ub...
  • Blackrose: 你深得精髓么
  • qihao: 这篇文章的简单总结就...
  • qi: 是的....
  • Blackrose: 嵌入式开发上很少有M...

分类

归档

其它