imi415

imi415

儚い欠片 舞い散る その光 全て照らし 導き逢う...

13 posts
Twitter

Archlinux上Buildroot的基础使用

什么是Buildroot?好吃么?Buildroot是一套用于构建定制化rootfs环境的工具集,可以通过简单步骤在嵌入式系统上快速构建rootfs环境用于应用部署。 为什么选择Buildroot?和发行版rootfs的区别是?1.  架构支持广泛大多数发行版rootfs只支持常见主流架构,不仅如此,发行版在架构支持方面本着兼容性原则,即便是支持的架构,最终依然会牺牲一部分性能(Hard Float,Architecture Specific的SIMD指令集支持等),Buildroot则可以自由选择工具链及编译参数,并且指定所需要的优化选项进行构建。 2. 体积小,工作稳定发行版为了保证易用性,通常加入了大量功能与程序便于用户使用,同时为了开箱即用的特征,在网络配置等关键环节也会使用NetworkManager等高级工具进行管理,Init系统也大多使用Systemd,增大了系统的复杂程度,同时不可避免的要产生文件写入等操作,加速Flash等存储设备寿命损耗,降低设备使用年限。Buildroot则避免了上述种种问题,单一稳定的网络配置,可选的DHCP等组件,Busybox轻量级的初始化系统及CoreUtils,可以只读的文件系统支持都使得它对于小体积Flash,低写入寿命,长时间工作的嵌入式系统极其友好。 3. 定制程度高,配置简单不需要使用包管理器,基于Kconfig的编译配置系统,软件支持也很齐全,只需要选择所需工具就可以构建上机即用的rootfs。 获取Buildroot及工具链0. 了解硬件平台为了构建出我们需要的可用的rootfs,

  • imi415
    imi415
灵车IPQ4019——R619AC
hardware

灵车IPQ4019——R619AC

1. 简介不多说,灵车,IPQ4019,OpenWrt没支持,国产X-Wrt不想用,拿ImageBuilder打Patch吧。 2. 系统打Patch的话参见X-Wrt的commit,这个就差不多了。 但是PCIe并不能开箱即用。 要想PCIe能用的话还存在三个问题 没设备树没电没REFCLKminiPCIe接口3.3V AUX没电的问题可以看下图 miniPCIe的供电部分,缺焊元件为bypass电阻恩山的方案是短路这个电阻,但是这需要一定的焊接,而且也不便使用,根据观察可以发现左侧SOP-8封装的器件为International Rectifier IRF7416PbF 功率MOSFET,封装如下: IRF7416PbF Datasheet这个MOSFET的源极和漏极接在整板3.3V与miniPCIe的供电3.3V中间,我们可以推断该MOSFET的用途是miniPCIe的供电控制,那么栅极推断应为SoC

  • imi415
    imi415
Mbed OS 5的自定义开发板移植 - NRF51
hardware

Mbed OS 5的自定义开发板移植 - NRF51

前言最开始看到Mbed OS5的时候没太在意,然而最近Nucleo买多了就变成了…… 真香! 步骤正好手头的BLE开发板就又开始痒痒,那就上咯 手头的NRF51开发板是微雪的NRF51822开发板,芯片型号为_AC,意即32KB SRAM+256KB Flash的型号。我们首先用Mbed CLI新建一个项目,起名叫nrf51_hello就好了。 mbed new nrf51_hello 会在当前目录创建工程目录,随便写一个main.cpp,包含main函数用来对付链接问题(( #include <mbed.h>

  • imi415
    imi415
Arch Linux的蓝牙音频sink媒体控制配置
software

Arch Linux的蓝牙音频sink媒体控制配置

标题有点长…… ArchWiki里介绍了如何使用PC作为蓝牙音频Sink,将手机等设备的Bluetooth音频经由系统回放设备输出,本文章介绍如何将设备输出的媒体信息通过MPRIS兼容控制插件读取并控制。 TL;DR: 随便找个地方运行 mpris-proxy Log 下面的部分介绍如何找到这个Bluez内置功能的 根据Ask Ubuntu等地的回复,Bluez从5.0起支持设备媒体信息发送到D-Bus,从位于 org.bluez/hciN/dev_YOUR_DEVICE_BT_MAC_ADDRESS/org.bluez.MediaControlN 的属性中即可读取音频信息,相同节点的方法即可控制设备播放状态(如下图)

  • imi415
    imi415
关于ESP8266的SDK……
hardware

关于ESP8266的SDK……

从Espressif(乐鑫)的GitHub主页clone到的ESP8266的SDK,多数情况下master分支是无法正常工作的…… 存在下列问题: 1. lx106-hal库不包含在repo内( -lhal Link 不能)(2018-01-06更新) 2. 驱动库编译不能(各种玄学报错,多数是 undefined symbol )(2018-01-06更新) 3. 生成binary文件的时候会报错( Arch/Fedora 等 python -> python3 发行版专享错误) 解决方案: 1.

  • imi415
    imi415
STM32F103 High Density设备RTC挖坑记录(1)
hardware

STM32F103 High Density设备RTC挖坑记录(1)

概述 最近手头的项目涉及到了低功率的数据采集及传输,于是就要折腾STM32的低功耗模式了。STM32F103x的低功耗模式有如下三种,Sleep模式,Stop模式以及Standby模式,其特性如下。 Sleep模式: 低功耗,唤醒时间短 利用ARM Cortex-M3的 WFI(Wake From Interrupt)/WFE(Wake From Event)特性 CPU主时钟关闭,SRAM内容及外设状态保留 SysTick继续,NVIC仍响应外设中断 唤醒条件:WFI模式下CPU可由任意中断唤醒,WFE模式需要Wakeup Event Stop模式:

  • imi415
    imi415
Dovecot解决新版Outlook的IMAP文件夹问题
software

Dovecot解决新版Outlook的IMAP文件夹问题

起因 自从跟着Archwiki自建了Postfix+Dovecot的邮件服务之后一直用的还不错,只是Windows 10 Mail和Outlook并不认识默认的IMAP文件夹,总会自己创建诸如名为 "Sent Items" 和 "Deleted Items" 的文件夹,用来作为已发送和已删除的默认IMAP文件夹,就像这样: 结果不同邮件客户端的邮件就开始散养(雾) 而后了解到,自从Outlook2013以后,Outlook使用了 RFC6154 的 XLIST 命令去发现邮箱中的订阅文件夹配置,而ArchWiki的教程配置(见最末尾链接)

  • imi415
    imi415
PT2262/2272
hardware

PT2262/2272

ASK调幅编/解码器,遥控器常用(315/433MHz ISM频段) PT2262发射的ASK波形解调之后的数据 文档里面写着可变长度的地址/数据位,说白了就是满打满算一共12位数据位,末尾有一同步位。 其中前八位是固化地址位(焊在焊盘上面,用焊锡短掉),其值取决于A1-A8共计8个地址引脚的电平 每个地址/数据位有三种状态,低(Low)/悬空(Float)/高(High),分别对应以下三种编码 未完,接着填……

  • imi415
    imi415