分类 technology 下的文章

macOS终端复制粘贴格式

Tags: macos

macOS上从终端复制选中文本后,再粘贴到其它应用中会出现黑色背景,是原因默认是带format格式的。可以使用"cmd + shift + v"只粘贴文本内容。

macOS 10.11加载kext

Tags: macos,kext

手上有个Exar 1410的串口转换器,官方有提供mac的驱动,但没有签名。而macOS上已开启SIP功能,系统目录SLE不能直接写。这里可以关闭对SLE的限制。关机后按cmd + r进入Recover模式,打开终端窗口。

csrutil enable --without kext

Win10下打包Qt5.8应用

不知道从什么时候开发Qt有提供了windeployqt.exe工具,可以直接把qt应用相关的库提取出来。windeployqt.exe的路径在"<Qt安装目录>/bin"下面,为方便使用可以加入到系统环境变量中。需要先以Release方式编译应用,再新建一个目录,把应用binary放在目录下,然后再执行windeployqt.exe工具,如下:

windeployqt.exe helloworl.exe

执行成功后,会在当前目录下出现一些dll文件和目录:

iconengines/
imageformats/
platforms/
translations/
D3Dcompiler_47.dll
libEGL.dll
libGLESV2.dll
opengl32sw.dll
Qt5Core.dll
Qt5Gui.dll
Qt5SerialPort.dll
Qt5Svg.dll
Qt5Widgets.sll
helloworld.exe

目录有35MB左右,可以直接打包7z来分发使用。当然有需要也可以打包成单exe文件或再加壳压缩。

打包完后在其它PC运行发现还是缺少一些库文件,如libgcc_s_dw2-1.dll, libwinpthread-1.dll。查了查是因为我使用的是mingw工具链的原因。顺便想起现在很多语言的项目管理工具都是自动解决依赖的功能,Qt要加油了。

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端口上的,打开浏览器就可以看到了。

NXP i.MX6UL使用Yocto构建文件系统

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

配置环境

i.MX6UL或i.MX6ULL的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多种重置方法

Tags: 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的按键。

最新文章

最近回复

  • Blackrose: 感谢拍砖!嗯,那句话...
  • aa: “Raspberry...
  • Blackrose: 外部只是帮你把芯片启...
  • : 内部时钟比外部的频率...
  • Blackrose: 你这评论比正文更有内容么
  • 7hao: CR+LF ...
  • Blackrose: 可以是你更新软件源后...
  • sxk: 博主,我的系统是ub...
  • Blackrose: 你深得精髓么
  • qihao: 这篇文章的简单总结就...

分类

归档

其它