从零开始嵌入式

Thinking will not overcome fear but action will.

关于 uboot 的小知识

启动参数、制作 u-boot 补丁、dd 烧写等

uboot 中 bootm 和 bootz 的区别 bootm 用于加载 uImage 和 ramdisk; uImage 必须是 mkimage 打包过的内核映像(在 zImage 前加入了 64 字节的头信息,bootm 需要解析该信息); 在 uboot 命令行上的用法: 只加载 uImage: 1 bootm ${kernel_load_a...

关于 arm 的小知识

指令集、arm 核命名等

arm 相关的命名 arm 指令集(软件版本) armv5(32 位) armv7(32 位) armv8(64 位) arm 内核(硬件版本) arm 内核在 arm11 后就命名为 cortex; cortex 分为三个系列,a 系列(高性能),r 系列(实时),m 系列(小型、低功耗); arm9:使用 armv5 指令集; Corte...

熟悉 openwrt 环境

掌握如何编写、编译 openwrt 程序包

一些问题 编译 openwrt 时部分工具报错 No such file or directory 64 位系统运行 32 位程序,需要 32 位库支持; 1 sudo apt-get install lib32z1 lib32stdc++6 如何编译 openwrt 程序包 编译步骤 先在 openwrt 根目录加载环境变量和 shell 函数; ...

搭建 armv7(musl 库)容器环境

交叉编译的程序放在容器中运行

一些小知识 关于 C 库 C 库有两种实现: glibc:完整、臃肿; musl:精简、轻量; 关于编译器 编译器使用 glibc 库,那么编译出来的程序就依赖 glibc 库; 编译器使用 musl 库,那么编译出来的程序就依赖 musl 库; 关于 rootfs 我们知道 busybox 可以制作 rootfs,使用 musl 编译器编译 busybox 源码...

Buildroot 用户手册

2020.02 中文版

本文转载:https://blog.csdn.net/haimo_free/article/details/107677695 官网链接:https://buildroot.org/downloads/manual/manual.html Buildroot 用户手册由 Buildroot 开发人员编写,基于 GNU 通用公共许可协议版本 2,有关此许可文件的全文,请参阅 ...

补充 ubuntu-base 上的软件包

按需补充软件包

ubuntu-base 必要软件包 lrzsz 包含 rz、sz 等工具,支持 ssh、uart 方式; 1 sudo apt-get install lrzsz iputils-ping 包含 ping 等工具; 1 sudo apt-get instal...

使用 Dockerfile 制作容器镜像

标准办法进行制作

确定基础镜像 首先在 docker-hub 中搜索目标镜像作为我们的基础镜像: 搜索 ubuntu 点击进去后在 Tags 下找到 ubuntu:bionic 的 armv7 版本 制作 Dockerfile 并构建 新建一个目录 mydocker,并进入该目录 1 2 mkdir mydo...

tcpdump + wireshark 配合使用进行抓包分析

tcpdump 抓包,wireshark 解析

Linux 下使用 tcpdump 抓包 进行监听 1 tcpdump -i FE0 host 192.168.2.3 -w hello.cap -i FE0 表示使用 FE0 网卡; host 192.168.2.3 表示筛选含有 IP 为 192.168.2.3 的包文件; -w hello.cap 表示保存为 hello.cap 文件; 注意监听完成后,按...

编译和使用 gdb

在 linux 和 arm 上跑 gdb

编译准备 源码 依赖项 expat 库的源码:https://github.com/libexpat/libexpat/releases/ (我选择最新 2.2.10 版本) gdb 源码:https://ftp.gnu.org/gnu/gdb/ (我选择 10.1 版本) [备用下载] gdb 源码:http://sourceware.org/pub/gdb/releas...

mosquitto 的基本编译

windows、linux、arm 三端编译

本文介绍不带 SSL/TLS(通常指 HTTPS 的协议加密层),不带 CJSON,带 pthread 的情况下编译 mosquitto; CMakeLists.txt 脚本的修改 从 官网 下载 mosquitto 源码,并解压 根据下面的描述修改 CMakeLists.txt 脚本 屏蔽 TLS ...