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/

macOS安装ebook-convert

gitbook生成pdf需要ebook-convert工具,这个是在calibre软件内的,下载好把ebook-convert链接放在PATH目录中即可

https://calibre-ebook.com/download

ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin

Weave协议应用和工具

为了方法Android Things设备的开发者,Google提供了一些应用和工具,帮助开发者管理设备和检测故障点。

Weave Developer App

实际上就是手机端的设备管理应用,支持Android和iOS系统,已注册为Weave开发者的可以直接使用该应用,管理设备、分发命令和测试设备状态。

Android App
iOS App

IoT Developer Console

这是一个针对设备开发者的web化的应用,可以管理产品和设备上传的相关信息。同时,可以更方便的查看设备状态和发送命令给设备。

Command-Line Tools

weave_client是属于Weave Developer Tools套件的一个工具,可以让你测试命令,检查设备状态,修改ACL和查看历史事件或状态。

weave_client下载

目前来看,Android Things的文档中都没有提到使用Weave协议让设备与Weave Cloud,手机app的交互。这部分内容是放在Weave协议介绍当中的,而之前的Brillo是有Weaved进程服务。同时,目前的example中对于交互大多使用NearbyAPI的方式来操作,所以我猜测Android Things目前还没有把weave整合进来,估计要再发几个DP版了。

已有网友确认,Android Things中不包含libiota的库。

AndroidThings的互联的根本Weave协议

Weave协议是AndroidThings用来与Mobile, Device, Cloud之前通讯的基本协议,分为两个部分。

  • Weave Device SDK(libiota):一个轻量级的SDK给设备端,提供与Server连接的能力
  • Weave Server: 云端服务,提供设备基本的注册,命令分发,状态管理的功能,同时集成了Google Assitant服务

Weave协议中定义了一系列设备模式和特性,让不同厂商的相同或差异功能得到支持。Weave是一个硬件无关的协议,支持通用Linux分发版和Qualcomm,Marvell的SOC系统。为了更方便的集成Weave到设备中,Google提供了Weave Device SDK,也就是libiota。它是一个C语言开发库,实现了Weave协议。

源代码: https://weave.googlesource.com/weave/libiota/

libiota在设备端运行后,需要定义特性和组件描述信息,这样用户才能与终端设备交互。特性定义后才允许Weave客户端去发现和使用设备提供的功能,而组件描述信息是在逻辑上对特性和特性状态的关系描述。定义好特性和组件后就可以处理命令请求或者用状态机来描述特性状态。libiota可以管理这些功能并通知app或web服务。

https://iot.google.com/console

https://cloud.google.com/solutions/iot-overview

macOS使用Chrome把网页作为独立窗口

可以把网页单独以窗口形式呈现,没有chrome的相关菜单栏。缺点是不能独立成app放在任务栏上,切换时比较麻烦。

open -n -a 'Google Chrome' --args --app=http://paper.dropbox.com

最新文章

最近回复

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

分类

归档

其它