分类 Linux 中的文章

CMA

连续物理内存 Linux Kernel 中的 CMA 即连续内存区管理,其提供配置为 CONFIG_CMA 和 CONFIG_CMA_DEBUG,其管理的是一块块连续内存块,这个在物理地址上是连续……

阅读全文

distro_bootcmd 模式下修改 kernel command line

环境 硬件:OrangePi PC 编译环境:buildroot 修改 增加 initcall_debug 启动参数 # cat /boot/extlinux/extlinux.conf LABEL default kernel /boot/zImage devicetreedir /boot append root=PARTUUID=2d2a225f-07d8-4811-9802-314074f963ff rootwait console=${console} rootfstype=ext4 quiet panic=10 initcall_debug 参考 uboot distro_bootcmd 理解 U-Boot中Dis……

阅读全文

内核启动时间查看

initcall_debug kernel command line 增加 initcall_debug 参数 板子执行 dmesg > boot.log tftp -pr boot.log 192.168.31.223 ubuntu 执行 liyongjun@Box:~/project/board/buildroot/OrangePiPC/build/linux-custom$ ./scripts/bootgraph.pl ~/tftp/boot.log > ~/tftp/boot.svg 参考 优化嵌入式Linux的启动时间之内核……

阅读全文

SMP

硬件 OrangePi PC 多核模式 # cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 30.85 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5 processor : 1 model name : ARMv7 Processor rev 5……

阅读全文

IPI

概念 IPI(Inter-Processor Interrupt,处理器间中断)。 处理器间中断允许一个 CPU 向其它 CPU 发送中断信号,处理器间中断不是通……

阅读全文

MMU

MMU物理地址与加载器无关 user: MMU 中的物理地址来自加载器吗 assistant: MMU 中的物理地址不是来自加载器,它是由操作系统的地址映射机制控制的。在操作系统启动期间……

阅读全文

elf 与 bin 文件区别

区别 gcc 编译出来的是 elf 文件。通常 gcc test.c 生成的 a.out 文件就是 elf 格式的,在 linux shell 下输入 ./a.out 可以执行。 $ file a.out a.out: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, not stripped bin 文件是经过压缩的……

阅读全文

如何配置 uboot

前言 想为一款 SOC 开发 uboot,需要做如下事情: 下载 uboot 源码 下载 SOC 对应的交叉编译工具,并在 host 机上配置好交叉编译环境 配置 uboot 编译 uboot 烧录 运行 调试 下面以……

阅读全文

linux-firmware

前言 今天在使用 buildroot 编译 licheepi zero 镜像时,看到 buildroot 会去下载 linux-firmware 压缩包。很好奇这个压缩包是干嘛用的? 解释 linux-firmware 里面包含了各种外设的固件。很多外设硬件需要自己的固……

阅读全文