操作系统
jeremy505
Talk less,think more!
展开
-
FreeNOS中的boot.S中全局描述表GDT、中断描述符表IDT以及分页机制的分析(五)
先了解一下概念性的东西(来源于百度百科),后面结合源码分析。一、CPU工作方式,实时模式与保护模式在80286以前,CPU只有实时模式,地址总线有20位,而内存地址是16位,也就是最多能够访问 2^20 =1M 的内存空间。在80286及以后,内存地址改为16位或32位,至少可以访问到 2^32=4G 的内存空间。但为了保证后续的CPU能够运行旧的CPU,只能保持向下兼容。因此,80286及...原创 2019-03-13 22:48:43 · 939 阅读 · 0 评论 -
uboot编译 uboot-spl 过程(五)
最开始编译uboot时,使用如下命令:make O=am3517_evm CROSS_COMPILE=arm-arago-linux-gnueabi- am3517_evm此时生成的文件被称为uboot第二阶段的代码,本节讲解如何编译uboot第一阶段(SPL)。先来理解SOC的启动流程,针对嵌入式设备,一般上电时刻启动分为三个阶段:BootROM中的固化程序–>> uboot...原创 2019-04-02 00:15:51 · 2164 阅读 · 0 评论 -
uboot源码分析--_start以及C语言函数入口(三)
一个可执行代码的入口可以通过链接文件(后缀.lds),获知可执行代码的入口就可以找到整个程序的起始代码。uboot中的make会按相应的硬件平台配置调用u-boot.lds(由于有很多u-boot.lds,至于调用的是哪一个可以直接看编译过程的输出信息,还有就是直接在生成所有目标文件目的录下去寻找[make O=目标目录路径]),现截取部分内容如下:整个程序的入口取决于连接脚本中ENTRY声...原创 2019-03-24 11:34:22 · 3156 阅读 · 0 评论 -
uboot源码中ELF文件u-boot的生成细节(二)
上节从整体上了解了uboot的编译过程,接下来关注ELF文件u-boot的生成细节部分。原创 2019-03-23 14:21:34 · 3255 阅读 · 0 评论 -
uboot源码编译过程分析(一)
uboot(全称 Universal Boot Loader),一般用来引导启动linux内核。uboot是一个开源项目,其源码目录、编译形式与Linux内核很相似。这里简略分析一下uboot的编译过程。先下载源码:http://ftp.denx.de/pub/u-boot/小编下载 u-boot-2011.09.tar.bz2是因为曾经使用过相关的定制版本(针对具体的开发板),并且研究过...原创 2019-03-22 21:11:58 · 3542 阅读 · 0 评论 -
uboot自有命令功能函数实现细节(四)
uboot启动之后可以响应键盘输入,执行自带命令,完成各种功能,文本主要围绕uboot自有命令实现细节。原创 2019-03-25 13:16:57 · 610 阅读 · 0 评论 -
FreeNOS中物理内存与虚拟内存的初始化过程(七)
在跳转到kmain函数之前已经开启了分页机制,一个操作系统需要建立堆栈以及对内存进行管理,以下部分分析相关函数。原创 2019-03-21 18:49:48 · 887 阅读 · 0 评论 -
FreeNOS自动化构建工具Scons生成ISO过程(二)
FreeNOS使用自动化构建工具Scons来编译源码以及制作生成启动镜像,Scons的作用与make类似。原创 2019-03-08 13:00:17 · 1260 阅读 · 0 评论 -
在ubuntu上编译运行FreeNOS(一)
网上关于FreeNOS编译运行讲解资料不全,而且大多或多或少存在错误,此处给出实际编译运行步骤以及避免错误操作,为学习FreeNOS搭建一个良好的学习平台。原创 2019-03-08 10:44:44 · 2173 阅读 · 1 评论 -
FreeNOS中C++源码部分相关类构造函数以及方法函数的初始化过程(六)
上节分析到从汇编代码正式跳转到C++代码,即kerne/Main.cpp中的kmain函数,接下来分析相关类构造函数以及方法函数的初始化过程。原创 2019-03-16 11:47:46 · 878 阅读 · 0 评论 -
FreeNOS-kernel目录下boot.S、链接脚本kernel.ld文件分析(四)
上节提到过引导程序在将控制权交给内核时,相关寄存器状态已确定,并且程序入口地址为boot.S文件中的_start,下个面就来看看boot.S文件。原创 2019-03-11 10:59:11 · 1189 阅读 · 0 评论 -
关于FreeNOS使用grub引导启动遵守Multiboot规范的内核过程分析(三)
FreeNOS使用grub引导启动内核镜像,并且遵守Grub Multiboot规范,此文具体结合FreeNOS分析grub启动过程以及简要介绍Grub Multiboot规范。原创 2019-03-09 13:03:12 · 972 阅读 · 0 评论 -
uboot设置nfs参数——linux kernel使用nfs方式加载根文件系统rootfs(六)
最近一段时间研究了关于linux kernel使用nfs方式加载根文件系统rootfs,这种方式的可以在进行调试阶段不至于每次进行擦除、烧录步骤,在根文件系统比较大的情况可以节约时间。当然,研究这个最主要的原因还是想了解nfs功能的具体应用。首先简要描述一下kernel使用nfs方式加载根文件系统rootfs前提条件:(1)在宿主机(PC)上配置nfs服务器关于在linux环境下配置自己的n...原创 2019-04-12 20:54:33 · 6485 阅读 · 0 评论