fuzidage
专注嵌入式、linux驱动 、arm裸机研究

导航

 
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页

2024年1月31日

摘要: 1 链接脚本vmlinux.lds 先编译一下 Linux 源码,因为有很多文件是需要编译才会生成的。首先分析 Linux 内核的连接脚本文件 arch/arm/kernel/vmlinux.lds,通过链接脚本可以找到 Linux 内核的第一行程序是从哪里执行的。vmlinux.lds 中有如下代 阅读全文
posted @ 2024-01-31 19:48 fuzidage 阅读(914) 评论(0) 推荐(0)
 

2024年1月29日

摘要: 1 zImage编译 _all 是默认目标,如果使用命令make或者make all编译 Linux 的话此目标就会被匹配。 KBUILD_EXTMOD 为空的,因此194 行的代码成立, 因此_all依赖all。all又依赖vmlinux,开始编译vmlinux。 make ARCH=arm CR 阅读全文
posted @ 2024-01-29 17:38 fuzidage 阅读(756) 评论(0) 推荐(0)
 

2024年1月25日

摘要: 1 kernel编译初体验 编译内核之前需要先在 ubuntu 上安装 lzop 库: sudo apt-get install lzop make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean make ARCH=arm CROSS_C 阅读全文
posted @ 2024-01-25 14:39 fuzidage 阅读(940) 评论(0) 推荐(0)
 

2024年1月24日

摘要: 1 ncurses 库安装 uboot 或 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面,menuconfig是一套图形化的配置工具,需要 ncurses 库支持。 sudo apt-get install build-essential sudo apt-ge 阅读全文
posted @ 2024-01-24 13:54 fuzidage 阅读(970) 评论(0) 推荐(0)
 

2024年1月15日

摘要: 1 images 全局变量 不管是 bootz 还是 bootm 命令,启动kernel都会用到images全局变量。images 定义在文件 cmd/bootm.c: include/image.h 中的定义了bootm_headers_t结构:该结构描述的是bootm启动时的头部信息。该结构又包 阅读全文
posted @ 2024-01-15 16:54 fuzidage 阅读(833) 评论(0) 推荐(0)
 

2024年1月11日

摘要: 下面以u-boot 2016为例,一行一行分析armv7架构cpu的uboot启动流程,用到的soc是imx6ull为例。总体流程如下:分为2部分:arch级初始化(架构)和板级初始化: 1 reset 函数 1.1 初始化异常向量表 我们知道启动入口是 arch/arm/lib/vectors.S 阅读全文
posted @ 2024-01-11 11:42 fuzidage 阅读(1165) 评论(0) 推荐(0)
 

2023年12月15日

摘要: 1 u-boot.lds解读(armv8) 文件位于u-boot-2021.10\arch\arm\cpu\armv8\u-boot.lds。分析过程已在lds内部注释了. /* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2013 阅读全文
posted @ 2023-12-15 10:36 fuzidage 阅读(346) 评论(0) 推荐(0)
 

2023年12月14日

摘要: 1 Make过程 1.1 找到$(ALL-y)依赖 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- V=1 没有指定编译目标,使用第一个目标:_all。这 里 不 编 译 模 块 , 所 以 KBUILD_EXTMOD 肯定为空,_all 的依赖就是 阅读全文
posted @ 2023-12-14 14:46 fuzidage 阅读(382) 评论(0) 推荐(0)
 

2023年11月28日

摘要: 1 版本号 Top Makefile的开头会有版本描述,VERSION 是主版本号,PATCHLEVEL 是补丁版本号,SUBLEVEL 是次版本号,这三个一 起构成了 uboot 的版本号,比如当前的 uboot 版本号就是“2016.03”。EXTRAVERSION 是附加 版本信息,NAME 阅读全文
posted @ 2023-11-28 10:48 fuzidage 阅读(1091) 评论(0) 推荐(0)
 

2023年11月14日

摘要: 1.1 help或者? 1.1.1 help+具体命令 ? bootz 或 help bootz 1.2 信息查询 1.2.1 bdinfo 1.2.2 printenv 前确保 uboot 中的环境变量 bootargs 内容如下: console=ttymxc0,115200 root=/dev 阅读全文
posted @ 2023-11-14 19:44 fuzidage 阅读(1923) 评论(0) 推荐(0)
 
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页