摘要:
简介: 本章基于linux主要讲解l编辑好的hello.c文件如何从一个存储介质上的文件编译为可执行程序,以及加载到内存执行的过程。 第一节讲述文本方式的代码及在介质上的存储方式(ELF文件),以及关于文本如何编译成可执行文件的简单介绍。 第二节讲述可执行文件如何加载到内存中,涉及虚拟内存和文件如何 阅读全文
摘要:
简介: 由上一节存储器类型中层次结构图可知,目前计算机系统的存储体系的大致构成。越靠近下层制作成本越低,销售的容量越大。但是同样的,越靠近下层数据的访问速度也就越慢。为了兼顾效率和成本,目前的方案是使用上层的快速设备缓存下层慢速设备中的部分数据,在实际应用中被证明是可行的。因为短时间内cpu访问的数 阅读全文
摘要:
简介:描述基本的存储器知识,介绍基本的存储器类型和差异。摘自《深入理解计算机系统》CSAPP 一:存储技术概述 存储器系统(memory system)是一个具有不同容量、成本和访问时间的存储设备的层次结构。 CPU寄存器:保存这最常用的数据。 高速缓存存储器(cache memory):靠近CPU 阅读全文
摘要:
目录: 搭建linux调试环境 (一)-- qemu环境搭建vexpress开发平台 搭建linux调试环境 (二)-- 基于u-boot搭建qemu的vexpress环境 搭建linux调试环境 (三)-- vexpress添加系统调用 上一篇文章搭建了基于zImage的qemu环境,基本的环境配 阅读全文
摘要:
参考: https://biscuitos.github.io/blog/ARM-BOOT/ zImage 重定位之后实践 zImage 重定位之后,ARM 将 pc 指针指向了重定位 zImage restart 处继续执行,执行 代码如下: restart: adr r0, LC0 ldmia 阅读全文
摘要:
一: arm linux 内核生成过程 1. 依据arch/arm/kernel/vmlinux.lds 生成linux内核源码根目录下的vmlinux,这个vmlinux属于未压缩,带调试信息、符号表的最初的内核,大小约23MB; 命令:arm-linux-gnu-ld -o vmlinux -T 阅读全文
摘要:
UBOOT官网下载地址:http://ftp.denx.de/pub/u-boot/ 很详细的UBOOT解释: https://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analy 阅读全文
摘要:
1. 获取yaffs2源码 在linux工作目录下进行clone操作: git clone git://www.aleph1.co.uk/yaffs2 完成后会在当前目录下产生yaffs2的源码目录: yaffs2 2. 为内核打上yaffs2的补丁 3. 在内核配置项上支持yaffys2,以编译支 阅读全文
摘要:
一. 修改内核大小 1. 在你的配置文件下uboot/include/config/xxx.h 里面有一个宏定义 #define MTDPARTS_DEFAULT "mtdparts=jz2440-0:256k(u-boot)," \ "128k(params)," \ "4m(kernel)," 阅读全文
摘要:
1. 内核下载地址 linux内核网站,可以拿到最新的和最近的稳定版本内核: https://www.kernel.org/ 通过网站下载压缩包后解压或者使用git下载到本地: git clone https://git.kernel.org/ 2. 准备编译 配置工具链: 下载后的压缩包放到lin 阅读全文