首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux学习笔记之Linux启动引导过程

当系统首次引导时,或系统被重置时,处理器会执行一个位于已知位置处的代码。在个人计算机(PC)中,这个位置在基本输入/输出系统(BIOS)中,它保存在主板上的闪存中。...嵌入式系统中的中央处理单元(CPU)会调用这个重置向量来启动一个位于闪存/ROM 中的已知地址处的程序。在这两种情况下,结果都是相同的。...这些程序位于目标硬件上的闪存中的某一段特殊区域,它们提供了将 Linux 内核映像下载到闪存并继续执行的方法。...在内核引导过程中,初始 RAM 磁盘(initrd)是由阶段 2 引导加载程序加载到内存中的,它会被复制到 RAM 中并挂载到系统上。...这个 initrd 会作为 RAM 中的临时根文件系统使用,并允许内核在没有挂载任何物理磁盘的情况下完整地实现引导。

10.5K41

FPGA Xilinx Zynq 系列(三十七)Linux 启动

LILO 需要内核文件保存在原始磁盘扇区中,而 GRUB 能从 ext2 或 ext3文件系统中装载内核 [1]。...一旦解压完成,内核映像会被放到内存的高段 ——不受内核页表直接映射的那部分物理内存。如果存在 RAM 盘映像,这个映像也会被搬移到内存中并标记好,以备后用 [1]。...Linux 要运行的硬件的数据保存在设备树 blob(devicetree.dtd)文件中。...JTAG 第 1 到 4 种引导源用于主引导模式中,这种模式中,外部的引导映像由 CPU 从非易失性存储器装载到 PS 中。而 JTAG 则只能用于从引导模式,而且不支持安全引导。...输出的结果是一个文件,可以直接烧录到 Zynq 系统的引导闪存中 [6]。

3.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    干货:Linux 文件系统与持久性内存介绍

    机械硬盘可以直接写入数据:NAND 闪存在写入数据之前需要擦除一个擦除块。 机械硬盘的使用寿命比 NAND 闪存长:机械硬盘的扇区的写入次数没有限制:NAND 闪存的擦除块的擦除次数有限。...通过使用一个小的后备电源,为在掉电时数据从 DRAM 拷贝到闪存中提供足够的电能;当电力恢复时再重新加载到 DRAM 中。...而且由于内存访问是通过64 字节的 cache line,CPU 只需要访问它需要的数据,而不是像普通块设备那样每次要按块访问。...将 PMEM 与 BTT 搭配使用 与在传统的磁盘驱动器中一样,将按扇区访问配置为以 BTT 模式运行的 PMEM 名称空间,而不是像在 RAM 中一样采用按字节寻址的模式。...如果在此过程中的任意时间点发生电源故障,则写入内容将会完全丢失,在这种情况下,应用程序可以访问其旧数据,而这些数据仍旧保持不变。这可以防止出现所谓"扇区撕裂"的情况。

    2.7K10

    存储器基础扫盲

    c、数据读取: 读出操作时,控制栅极上施加的电压很小,不会改变浮栅中的电荷量,即读出操作不会改变FLASH中原有的数据,也即浮栅有电荷时,D和S间存在导电沟道,从D极读到‘0’;当浮栅中没有电荷时,D和...d、数据擦除: 由于空穴的有效质量和氧化层界面势垒均比电子要大,所以CHE 方式不能用于 FG 中电子的擦除。因此NAND和NOR Flash中都采用F-N隧道效应将浮栅中的电荷挪走。...图11 3D NAND结构示意图 03 半导体存储器--RAM RAM(Random Access Memory,随机存取存储器),是与CPU直接交换数据的内部存储器。...MRAM STT 的访问时间在 纳秒级别且写入功耗极低(只有7.5uA),速度表现远超过闪存甚至接近 DRAM。...MRAM最大的缺点是存储单元之间存在干扰,当对目标位进行编程时,非目标位中的自由层很容易被误编程,尤其是在高密度情况下,相邻单元间的磁场的交叠会愈加严重。

    1.7K20

    Linux MTD子系统(一)

    因为这些设备不是原始闪存,但它们内部具有Flash Translation(FTL)层,这使它们看起来像块设备, 这些设备属于Linux块设备而不是MTD。...这些字符设备提供对原始闪存的I/O访问。 它们支持许多ioctl调用,用于擦除擦除块,将其标记为不良或检查擦除块是否不良,获取有关MTD设备的信息等。...sysfs接口,它提供有关系统中每个MTD设备的完整信息。 此接口易于扩展,并且鼓励开发人员尽可能使用sysfs接口,而不是较旧的ioctl或/proc/mtd接口。...此文件中的方法和数据结构被更高层的内核代码(例如Flash文件系统)用来访问和控制mtd设备,还被设备驱动程序作者用于将其设备注册到mtd子系统。...它甚至没有不良的擦除块处理,因此它实际上不适用于NAND闪存。 它的工作方式是将整个闪存擦除块缓存在RAM中,根据请求对其进行修改,然后擦除整个块并写回修改后的内容。

    9410

    iOS 内存管理相关面试题

    OC中内存管理的基本思想: 保证任何时候指向对象的指针个数和对象的引用计数相同,多一个指针指向这个对象这个对象的引用计数就加1,少一个指针指向这个对象这个对象的引用计数就减1。...是直接从内存中取数值,因为它是从内存中取得数据,它并没有一个加锁的保护来用于cpu中的寄存器计算Value,它只是单纯的从内存地址中,当前的内存存储的数据结果来进行使用。...内存分析 静态分析(Analyze) 不运行程序, 直接检测代码中是否有潜在的内存问题(不一定百分百准确, 仅仅是提供建议) 结合实际情况来分析, 是否真的有内存问题 动态分析(Profile == Instruments...存放局部变量、函数参数 6.2 手机的存储空间分为内存(RAM)和闪存(Flash)两种 内存一般较小:1G、2G、3G、4G。...从逻辑结构来看 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。

    1.6K30

    了解的CAP和BASE等理论

    CAP,BASE和最终一致性是NoSQL数据库存在的三大基石。而五分钟法则是内存数据存储的理论依据。这个是一切的源头。 几个名词解释: 网络分区:俗称“脑裂”。...即允许系统在不同节点间副本同步的时候存在延时。 3、最终一致性: 系统中的所有数据副本经过一定时间后,最终能够达到一致的状态,不需要实时保证系统数据的强一致性。最终一致性是弱一致性的一种特殊情况。...问题在于: 删除一行或一个实体几乎总不是简单的事件。它不仅影响模型中的数据,还会影响模型的外观。所以我们才要有外键去确保不会出现“订单行”没有对应的父“订单”的情况。而这个例子只能算是最简单的情况。...IMDG相比直接RDBMS访问的优势列举如下: 位于内存中,速度和并发能力都比文件系统优越得多 数据可通过引用访问 直接对内存中的对象执行数据操作 减少数据的争用 并行的聚合查询 进程内(In-process...这里没有考虑引进分布式带来的开销,比如网络和加锁。成本还是要仔细核算的,不是越分布越好。 控制算法的复杂性在常数范围之内。

    62530

    ram和rom的区别_RAM和ROM各有什么特点

    ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。   ...举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的...许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。   ...NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash...在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。 5、易于使用:   可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。

    2.2K20

    Flash中XIP模式

    XIP:eXecute In Place,即芯片内执行,指应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。...所谓片内执行并不是说程序在存储器内执行,CPU的基本功能是取指、译码、执行,存储器访问,写回。...NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。...发送命令,注意是命令,不是地址,Nand Flash根据命令进行相应的操作,如果是读命令,则返回对应地址的数据到RAM中,如果是写命令,则进行写操作。...(2)按需分页:只复制部分代码到RAM中,这种方法对RAM中的页进行导入/导出管理,如果访问位于虚存中但不在物理RAM中会产生页错位,这时才将代码和数据映射到RAM中。

    4.7K20

    ROM与RAM的区别

    ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM RAM 有两大类。...(现在用的最多,小型存储器) Flsah FLASH 存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM 的优势...NAND Flash和 NOR Flash的比较 存储少量的代码,NOR闪存更适合一些。而NAND则一般用来存储数据。 * NOR的读速度比NAND稍快一些。 * NAND的写入速度比NOR快很多。...接口差别: NOR Flash与主控芯片的连接线分为数据线和地址线,所以可以随时访问任意地址。 ?...NOR Flash与NAND Flash名称由来 在闪存(Flash)中,将晶体管导通视为“1”,晶体管截止视为“0”。

    2.4K30

    计算机硬件知识

    只有有一个执行单元空闲,就检查保持缓冲区是否还有可处理的指令 这种设计存在一种缺陷,即程序的指令经常不按照顺序执行,在多数情况下,硬件负责保证这种运算结果与顺序执行的指令时的结果相同。...不过重写时花费的时间比写入RAM要多。在便携式电子设备中中,闪存通常作为存储媒介。闪存是数码相机中的胶卷, 是便携式音译播放器的磁盘,还应用于固态硬盘。...闪存在速度上介于RAM和磁盘之间,但与磁盘不同的是,闪存擦除的次数过多,就被磨损了。 还有一类存储器就是CMOS,它是易失性的,许多计算机利用CMOS存储器来保持当前时间和日期。...(常见于大型数据库系统中) 4.5 I/O设备 cpu和存储器并不是操作系统唯一需要管理的资源,I/O设备也是非常重要的一环。 见四中的图,I/O设备一般包括两个部分:设备控制器和设备本身。...内存(RAM):又称为随机访问存储,即主存。易失性,断电情况下就会丢失。为存储系统主力,在高速缓存找不到的文件在内存中均能被找到。 与之相应的是ROM,非易失性,断电情况下数据也不会丢失。

    60920

    各种根文件系统

    Jffs2: 日志闪存文件系统版本2 (Journalling Flash FileSystem v2)主要用于NOR型闪存,基于MTD驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统...yaffs/yaffs2自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。...在cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而降低系统成本   ...RAM中。   ...在嵌入式Linux系统的开发调试阶段,可以利用该技术在主机上建立基于NFS的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容。

    2.7K80

    固态硬盘掉电怎么恢复数据

    异常掉电可能会导致数据的丢失,比如缓存在主机中的数据来不及写到闪存,掉电导致这部分数据丢失;还有,根据闪存特性,如果掉电发生在写MLC的Upper page,会导致其对应的Lower Page数据遭到破坏...闪存的作用是存储数据,而RAM主要是SSD工作时用以缓存用户数据和存放映射表 (Map Table,逻辑地址映射闪存物理地址)。所以一旦掉电,RAM的数据就会丢失。...3D XPoint兼有闪存掉电数据不丢失性和内存快速访问的特点。...RAM中缓存的用户数据,主机自认为把它们写到SSD了(非FUA命令,数据写到缓存,SSD就返回状态给主机),但SSD只是把它们缓存在RAM中,并没有写到闪存。...映射表数据很重要,对一个逻辑地址,如果SSD查找不到对应的物理地址,它就无法从闪存上读取数据返回给主机;如果映射表中的数据不是最新的,旧的物理地址对应着老的数据,SSD就会错误的把老数据返回给主机。

    2.7K30

    学习计算机基础的知识汇总

    下面解释为什么需要把文件加载到内存里面才能操作而不是在硬盘里面直接进行操作的原因。...闪存也是非易失性的,信息保存为电路里的电荷,每一个电路元件上的电荷不需要加电就可以保持其状态。 闪存既可以通过读取电荷来访问信息,也可以擦去和重新写入新的值。...外围设备直接和主内存进行数据传送,也叫直接存储访问 磁盘等都用到了这个DMA机制。...,当设置busrq让cpu从电路中隔离,设置busak让硬盘接入电路,这样硬盘的数据就可以直接传入到内存中,这种直接存储访问叫做dma,不经过cou直接访问内存 IO控制器总结:I/O端口号、IRQ、DMA...在运行时需要的时候会找到这个位置的目标文件并加载到内存中;如果其他程序也需要 就可以直接用这个加载好的而不用像静态链接库一样把本地的 库目标文件再次加载到内存里面。

    16410

    操作系统是什么都没整明白,写什么代码?

    缓存在计算机很多领域都扮演了非常重要的角色,不仅仅是 RAM 缓存行。 随机存储器(RAM): 内存中最重要的一种,表示既可以从中读取数据,也可以写入数据。当机器关闭时,内存中的信息会 丢失。...L1 cache 和 L2 cache 最大的不同在于是否存在延迟。访问 L1 cache 没有任何的延迟,然而访问 L2 cache 会有 1 - 2 个时钟周期的延后。 什么是时钟周期?...闪存是数码相机中的胶卷,是便携式音乐播放器的磁盘。闪存的速度介于 RAM 和磁盘之间。另外,与磁盘存储器不同的是,如果闪存擦除的次数太多,会出现磨损。 还有一类是 CMOS,它是易失性的。...需要注意,固态硬盘(Solid State Disk, SSD)不是磁盘,固态硬盘并没有可以移动的部分,外形也不像唱片,并且数据是存储在存储器(闪存)中,与磁盘唯一的相似之处就是它也存储了大量即使在电源关闭也不会丢失的数据...它能够接收操作系统的指令,例如,从设备中读取数据并完成数据的处理。 在许多情况下,实际控制设备的过程是非常复杂而且存在诸多细节。因此控制器的工作就是为操作系统提供一个更简单(但仍然非常复杂)的接口。

    1.4K50

    什么叫操作系统啊 | 战术后仰

    缓存在计算机很多领域都扮演了非常重要的角色,不仅仅是 RAM 缓存行。 “随机存储器(RAM):内存中最重要的一种,表示既可以从中读取数据,也可以写入数据。当机器关闭时,内存中的信息会 丢失。...L1 cache 和 L2 cache 最大的不同在于是否存在延迟。访问 L1 cache 没有任何的延迟,然而访问 L2 cache 会有 1 - 2 个时钟周期的延后。 “什么是时钟周期?...闪存是数码相机中的胶卷,是便携式音乐播放器的磁盘。闪存的速度介于 RAM 和磁盘之间。另外,与磁盘存储器不同的是,如果闪存擦除的次数太多,会出现磨损。 还有一类是 CMOS,它是易失性的。...“需要注意,固态硬盘(Solid State Disk, SSD)不是磁盘,固态硬盘并没有可以移动的部分,外形也不像唱片,并且数据是存储在存储器(闪存)中,与磁盘唯一的相似之处就是它也存储了大量即使在电源关闭也不会丢失的数据...它能够接收操作系统的指令,例如,从设备中读取数据并完成数据的处理。 在许多情况下,实际控制设备的过程是非常复杂而且存在诸多细节。因此控制器的工作就是为操作系统提供一个更简单(但仍然非常复杂)的接口。

    56010

    Tello talent无人机扩展模块库分析(default.ino)

    与其他环境中的那一页RAM“仅存在”在固定地址空间位置的环境不同,在ESP32上,我们具有MMU(内存映射单元),可以使64K页的真实RAM映射到不同的地址位置。...在编译期间,已编译的C的不同“部分”将放置在目标文件的不同“部分”中。例如,代码进入“ .text”部分,而初始化数据进入“ .data”部分。...如果您要运行的代码不在RAM中,那么它还能在哪里?答案是“闪存”……如果它在闪存中,则当接收到执行该代码的请求时,必须从那里执行该代码。...ESP32上的Flash比RAM访问慢得多...因此有一个内存缓存可用于解决其中的某些问题...但是我们无法确定当我们跳转到一段代码时它会存在于缓存中,因此可能需要从闪存缓慢加载。...通过将某个功能标记为存在于RAM中,我们就可以有效地牺牲宝贵的RAM,因为它知道对它的访问将是最佳的并且是恒定的。 ? 分析的已经很明白了,还有一小点。我们分析完这个函数就到此为止。 ?

    1.3K20

    计算机存储器分类与选择

    按存取方式分类存储器的存取方式决定了数据的访问速度和操作方式。随机存储器(RAM):可读/写,存取时间与存储单元位置无关,分为静态RAM和动态RAM。...只读存储器(ROM):只能读取,不能写入,常用于存放固定程序、常数等。串行访问存储器:需按顺序访问,如磁带存储器。直接存取存储器:部分串行访问,如磁盘,可快速定位到特定区域,然后顺序访问。3....按在计算机中的作用分类存储器在计算机系统中的作用不同,可分为主存储器、辅助存储器、缓冲存储器。主存储器:与CPU直接交换信息,速度快但容量小,如RAM。...存储器选择:使用RAM作为高速缓存,以提高数据访问速度。同时,使用硬盘或固态硬盘(SSD)作为辅助存储器,以存储大量数据。案例2:大数据分析应用需求:需要处理和存储大量数据,同时保证数据的长期保存。...存储器选择:使用低功耗的闪存存储器(如NAND Flash),以满足设备的低功耗要求。同时,使用RAM作为辅助存储器,以提高数据读写速度

    33600

    嵌入式:ARM最小系统设计详解

    NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。...NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明 NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash...系统上电后,引导代码直接在Nor Flash中执行,把Nand Flash中的操作系统和应用代码加载到速度更高的SDRAM中执行。...也可以在Nor Flash中执行引导代码和操作系统,而只将Nand Flash中的应用代码加载到SDRAM中执行。该架构是当前嵌入式系统中运用最广泛的启动架构之一。...需要注意的是:你需要编写一个长度小于4K的引导程序,作用是将启动代码剩余部分拷贝到SDRAM中运行(NF地址不是线性的,程序不能直接运行,必须拷贝到线性RAM中) ,同时完成完成S3C2410的核心配置

    2.2K70

    几个嵌入式项目中的技巧!

    有趣的是,在许多这些案例中,只有在将程序代码加载到设备时,才会用到校验和。...更有可能的是,系统中的一个缺陷可能导致某一扇区发生闪存写入或闪存擦除,从而破坏应用程序的完整性。技巧3---在启动时执行RAM检查为了建立一个更加可靠和扎实的系统,确保系统硬件正常工作非常重要。...有许多不同的方法可用于执行RAM检查,但常用的方法是写入一个已知的模式,然后等上一小段时间再回读。结果应该是所读就是所写。真相是,在大多数情况下 RAM检查是通过的,这也是我们想要的结果。...这种机制导致堆栈在其分配的内存中不断增长。然而,这种增长有时会超出编译时确定的容量极限,导致堆栈破坏相邻内存区域的数据。...例如,只要在 程序中简单地建立一个大小为256字节长的缓冲区,而不是经由malloc请求这样大小的内存缓冲区。此一分配的内存可在整个应用程序的生命周期期 间保持,且不会有堆或内存碎片问题方面的顾虑。

    20520
    领券