精华内容
下载资源
问答
  • 参考文章 IBM:linux引导内幕 个人Notes: (1)PC机和嵌入式系统的启动方式通常有些不同,PC机在bootloader之前有BIOS,可能是由PC机的复杂功能决定的:A.提供很多灵活性,比如支持多操作系统等


    参考文章

         IBM:linux引导内幕

            个人Notes:

              (1)PC机和嵌入式系统的启动方式通常有些不同,PC机在bootloader之前有BIOS,可能是由PC机的复杂功能决定的:A.提供很多灵活性,比如支持多操作系统等,而不同的操作系统通常需要不同 的bootloader(当然,linux下的GRUB是同时支持WIN和linux的)。  B.PC机上需要初始化的硬件多,为了减小bootloader的大小,将一些硬件的初始化放在BIOS。

              (2)硬盘上的每个系统都在改系统的主分区的前512字节(boot sector)保存着和MBR内容(事实上,MBR的内容是在安装系统时将该系统的boot sector的内容)          

    (2)MBR里只有最多446字节的bootloader代码,且只是bootloader的第一阶段的代码,它的作用是加载bootloader的第二阶段的代码,它会在MBR中接下来的64字节分区表中查找一个活动分区,再将该活动分区里的bootloader的第二阶段代码加载到内核。第二阶段的代码的作用是:A.读取




    http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=257860&start=0

    因为grub可以安装到mbr,不论分区是否活动,grub照常起来,
    grub一起来,管你分区活动不活动

    GRUB的步骤1包含在 MBR中。由于受MBR的大小限制,步骤一所做的几乎只是装载GRUB的下一步骤(存放在硬盘的其它位置)。步骤1既可以直接装载步骤2,也可以装载步骤 1.5:GRUB的步骤1.5包含在MBR后面的30KB中。步骤1.5载入步骤2。当步骤2启动后,它将呈现一个界面来让用户选择启动的操作系统。



    http://forum.ubuntu.org.cn/viewtopic.php?f=120&t=232357   14楼

    1 楼:windows 的 mbr 只做一件事,找到主分区表中标记为“活动”的分区,并跳到那个分区的引导扇区执行。没有备份它的必要。grub 直接用一条语句跳到 windows 分区的引导扇区。

    4 楼:mbr 里并没有 ntldr 代码。ntldr 引导代码在每一个 windows 分区的引导扇区,其功能就是找到该分区下名为 ntldr 的文件并执行。所以 grub4dos 甚至可以不执行引导扇区的 ntldr 引导代码,而直接找 ntldr 文件,就是 chainloder /ntldr 的写法。

    11 楼:第一个分区通常不是紧接在 mbr 后面的。mbr 是0磁道1扇区,而第一个分区一般从 1 磁道开始,中间通常隔着 63 个备用空白扇区,刚好可以放下 stage 1.5。当然,如果第一分区紧接在 mbr 之后,或 mbr 之后的空白扇区已被使用,将不会安装 stage 1.5。强行指定安装 stage 1.5 会报 Error 34 : No spare sectors on the disk 而不能安装。
    没有 stage 1.5 时,stage 1 可以直接指向 stage 2。stage 1.5 的好处是它能够识别文件系统,从 stage 1.5 找 stage2 时,它是找分区上叫 stage2 的 文件。而 stage1 直接找 stage2 则是直接指向 stage2 文件在磁盘上的物理地址,这样如果 stage2 文件被挪动并且原位置被其他数据覆盖,引导就会失败。







    展开全文
  • pc 启动过程

    千次阅读 2005-03-23 16:29:00
    一、引言 最近网上经常看到有朋友问计算机(pc计算机)的启动过程,这个过程确实很神秘但并不复杂。我虽然不是一个系统程序员,但一直比较关心底层的东西,这篇文章就算是自己对这个问题的总结,但愿也能给那些...

    一、引言

     

    最近在网上经常看到有朋友在问计算机(pc计算机)的启动过程,这个过程确实很神秘但并不复杂。我虽然不是一个系统程序员,但一直比较关心底层的东西,这篇文章就算是自己对这个问题的总结,但愿也能给那些希望了解这个神秘过程的朋友一些帮助。

     

    二、PC机的硬件初始化

     

    当我们按下PC机的开关后或者CPURESET管脚有信号时,CPU就进入了硬件初始化阶段。在这个阶段,CPU做大量的工作,检测自己内部的各个组件的状态,初始化各个寄存器,初始化算数协处理器的内部寄存器等等。初始化过程结束后,系统内部的寄存器都有了稳定且固定的值。表一列出了Pentium 4 CPU初始化后的状态,关于其它CPU的状态,朋友们可以参考Intel的相关手册,我这里的数据也来源于Intel的资料。(IA-32 Intel Architecture Software Developer’s Manual Volume 3: System Programming Guide)这个表里只列出了大家关心的一些寄存器的初始值,其它内容可参见Intel的手册。

     

    表一

    寄存器

    初始值

    EFLAGS

    00000002H

    EIP

    0000FFF0H

    CR0

    60000010H

    CS

    Selector = F000H

    Base = FFFF0000H

    Limit = FFFFH

    AR = Present, R/W

    Accessed

    DS ES SS FS GS

    Selector = 0000H

    Base = 00000000H

    Limit = FFFFH

    AR = Present, R/W

    Accessed

     

    根据CR0的初始值,我们可以看出CPU初始化后是运行在实模式不分页的状态。

    这里重点要解释的是CS的初始值,为了说明这个值的特殊,我先偏离一下主题,我先向大家解释一下386系列的段寄存器的一些特殊的地方。在386或者更高的32位处理器中,CS,DS,ES,SS,FS,GS寄存器仍然是16位的,只不过,它们里面放的东西现在有个新的名字“选择子” 除了我们能看到的这个选择子外,这些寄存器里还有一个我们看不到的影子部分,这个部分主要包括Base,limit,access等等。这些东西的作用主要是内存寻址和保护等功能。现在的寻址方式其实是这样:

    Line address = Selector.Base + offset

    这种寻址方式是386系列的唯一寻址方式,不论是在实模式还是保护模式。有些资料上认为,在实模式下,地址的生成是:

    段寄存器值X16 + 偏移

    其实在CPU的地址生成部件中,形成地址的方式是段选择子里面的不可见部分的base+偏移。只是在实模式下当我们装入段选择子的时候,系统自动为我们设置好了段选择子中的不可见部分。让我们来举个例子吧,比如我们现在要把DS中装入1000H

    MOV AX, 1000H

    MOV DS, AX

     

    当我们在实模式下执行这条指令的时候,CPU已经悄悄的为我们设置了DS中的不可见部分,结果如下:

    DS.Base = 10000H

    DS.Limit = FFFFH

    这样当我们执行指令的时候CPU就直接到段寄存器的不可见部分取出Base.

    好了,我们回到主题。当CPU初始化完成后,CS.Base = FFFF0000H EIP = 0000FFF0H, 所以,系统会跳到地址FFFFFFF0H去执行初始化后的第一条指令,由于现在系统并没有启用分页机制,所以现在的这个地址就是物理地址。在PC机的设计上,这个地址是一个ROM地址,里面存放着BIOS

     

    三、BIOS初始化

    BIOS接管了计算机,它做上电自检(POST)、设置中断向量、填写BIOS的数据区、硬件设备初始化等等工作。虽然BIOS代码是在系统最高的64K中执行,但它要把很多数据填写到物理内存的最低 1M 空间中去,这个是完全可以办到的,应为现在的DS.Base = 00000000H,如果把DS(或者ES等)当成段基址的话,BIOS可以很好的将一些变量放置到系统的低 1M 空间中。

    除了这些以外,还有一件很重要的事情就是把自己从系统的高地址区搬移到 1M 空间一下的64K中,为什么要把自己搬移到 1 M 以下呢?由于系统先在工作在实模式下,它还要为实模式下程序提供服务,还要提供一些硬件中断服务。这些就和老旧的8086一样,如果我们不把BIOS搬移下来,那实模式下的硬件中断就没有服务的代码了。但是,把BIOS从高端搬下来如何做呢?听起来很简单,但是别忘记,现在我们还是在实地址模式下,DS或者别的段寄存器只能定位到地址为低 1M 的空间,为了实现这次代码搬移,有不同的办法,但是我见到的一些BIOS代码中是把CPU进入保护模式,这个时候,DSES都可以访问系统中的全部地址空间,于是,就成功地把代码从系统最高的64k搬移到了系统低 1M 的空间中,这个时候,BIOS又把系统切换到了实地址模式并执行一次段间跳转,就跳到了系统的低 1M 空间。BIOS初始化完成后,就要装入操作系统了。

    别急,朋友们想过么?现在的BIOS已经搬到了RAM中,但是我们用DEBUG或者Softice等工具并没有办法修改F0000H FFFFFH的内存,难道这里的存储器真的是ROM么,不可能,如果是ROM的话,我们就不可能把高端64k的东西搬下来。呵呵,首先告诉大家,这里的确是RAM只不过不让我们写,为什么在BIOS初始化的时候可以写,而我们不能写呢?原来这里的内存被系统设置为不能写的Shadow RAM,我们可以通过对主板上的芯片组进行编程来修改某些内存区域的特性,设置需要直接用out指令写入22H23H,由于各个芯片组的指令不同,这个设置我没有亲自做过(毕竟自己的机器,别写坏了J,这样就清楚了,原来BIOS在搬移后,会把目的区的内存属性设置为只读。

     

    四、操作系统的引导

    关于操作系统的引导,我想资料很多,也不复杂,这里就不需要多说了。

     

    五、结语

    以上是我的一点总结,希望能和大家一起交流。

    展开全文
  • PC机和嵌入式设备启动流程

    千次阅读 2016-07-13 18:12:31
    一 PC机 和 嵌入式设备启动流程 1.PC机  (1)BIOS程序   [1]硬件初始化 (内存,其它硬件)  [2]加载引导程序  (2)引导程序   grub,lilo  加载OS到内存 (选需要加载的操作系统) ...
    一 PC机 和 嵌入式设备启动流程

    1.PC机 

    (1)BIOS程序 
       [1]硬件初始化   (内存,其它硬件)
       [2]加载引导程序    

    (2)引导程序    
       grub,lilo
       加载OS到内存 (选在需要加载的操作系统)

    (3)操作系统 (Linux,Windows,...)

    (4)挂载文件系统    

    (5)运行引用程序

    2.嵌入式设备 

    (1)SOC芯片内嵌iROM代码
       [1]识别启动的存储介质(NandFlash/SD/MMC/EMMC/USB)
       [2]初始化SOC芯片控制存储介质的控制器
       [3]将存储介质的最前面一部分代码拷贝到SOC内部的iRAM

    (2)iRAM中的bootloader第一阶段代码
       [1]系统时钟初始化(提高时钟信号)和内存初始化
       [2]将存储介质中bootloader拷贝到内存中

    (3)内存中的bootloader第二阶段代码   
       [1]基本硬件初始化(网卡,其它硬件)
       [2]加载OS到内存 

    (4)操作系统运行

    (5)挂载文件系统 

    (6)运行引用程序 

    二 交叉开发 :在PC机上完成代码的编写与编译,在开发板上完成代码的运行

    交叉开发工具链(编译器,链接器,汇编器,...)
    特点:在PC上运行,编译出的指令是在目标板上运行

    xxx-gcc:编译器 
    xxx-gdb:调试 
    xxx-ld :链接 
    xxx-objdump:反汇编
    xxx-readelf:读取可执行文件的elf头信息
    (1)查看可执行程序运行平台
      [1]file  可执行文件
      [2]readelf -h 可执行文件

    (2)可执行文件依赖的动态库
      [1]ldd  可执行文件 
      [2]readelf -a | grep "Shared"

    xxx-nm :查看符号信息

    nm  动态库的名字  (查看动态库有那些函数)
    [1]T 函数名 ->这个函数是在库中实现
    [2]U 函数名 ->这个函数是在其它库中实现

    xxx-strip:去掉可执行文件或动态库的调试的符号信息(减肥)

    xxx-objcopy:格式转换 (elf格式的文件  ----> xxx.bin)    

    三 在Linux操作系统安装交叉开发工具链 

    (1)在用户主目录下新建目录workdir
    (2)在workdir目录下新建目录
       toolchain , uboot , kernel , fs 

    (3)常用的压缩格式解压
       xxx.tar.gz , xxx.tar.bz2 ,xxx.tar.xz   

       [1]通用 tar -xvf xx.tar.*
       [2]tar -zxvf xxx.tar.gz 
          tar -jxvf xxx.tar.bz2 
          tar -Jxvf xxx.tar.xz 

    ----------------------------------------------------------------
    将交叉开发工具链的路径,添加到环境变量PATH
    目的:因为shell默认的搜索路径,是PATH环境变量的内容,如果想让可执行程序
         在任何路径下都可以执行,在需要添加到PATH环境变量 

    export PATH=$PATH:自己路径 

    永久有效,需要写到配置文件
    /home/用户名/.bashrc  ->只针对当前登录的用户有效
    /etc/bash.bashrc      ->针对所有的用户有效 

    四 sd卡烧写u_boot 

    (1)mkuboot.sh  -> 在烧写一个uboot到sd卡
    (2)通过拨碼开关从sd卡启动
    (2)在sd卡中新建一个sdupdate目录
    (4)将自己编译好的u-boot-fs4412.bin拷贝到了sdupdate目录
    (5)从sd卡启动,在启动的uboot中,
    输入命令:sdfuse flash bootloader u-boot-fs4412.bin(将bootloader写到emmc)
    (6)拨动拨碼开关从emmc启动 

    五 用u_boot引导Linux内核 

    1.配置tftp服务(文件传输)
    (1)安装软件包
    (2)修改默认的配置文件 /etc/default/tftpd-hpa 
    (3)重新启动tftp服务   sudo /etc/init.d/tftpd-hpa restart

    2.配置nfs服务(设置目录为网络上的共享目录)
    (1)安装软件包
    (2)修改默认的配置文件 /etc/exports
    (3)重新启动nfs服务   sudo /etc/init.d/nfs-kernel-server restart

    例如:
    通过nfs访问192.168.1.125主机上/home/linux/fs/rootfs目录

    挂载命令:
    sudo mount 192.168.1.125:/home/linux/fs/rootfs /mnt 

    表示将192.168.1.125主机上/home/linux/fs/rootfs的目录挂载到/mnt目录下 


    六 u_boot常用命令  

    (1)设置开发板ip地址
      setenv ipaddr  ip地址 

    (2)设置tftp服务器端的ip地址
     setenv serverip  服务器端的地址 

    (3)保存设置好的环境变量
     save

    (4)删除环境变量
       setenv  环境变量名

    (5)从主机下载程序到开发板
       tftp  内存地址  要下载的文件名

     eg:
       tftp 40008000  uImage

    (6)引导Linux内核的命令
     bootm 内核所在内存地址  ramdisk所在内存地址  设备树所在内存地址

    注意:
    如果没有ramdisk,第二个参数用"-"代替


    展开全文
  • 1.PC机启动过程 (1)典型的PC机的部署(部署指的是没有上电时候的样子) BIOS程序(按F12可以进入,用来设置启动顺序等等的代码)部署在PC机主板上(随主板出厂时已经预制了),(如果bios损坏 则只能将...

    本文转载自《朱有鹏老师嵌入式linux核心课程》的《第二部分uboot和系统移植》

    1.PC机的启动过程

    (1)典型的PC机的部署(部署指的是没有上电时候的样子)

    • BIOS程序(按F12可以进入,用来设置启动顺序等等的代码)部署在PC机主板上(随主板出厂时已经预制了),(如果bios损坏 则只能将主板拆下来返厂维修了。换句话说如果你买了一个新的电脑 ,这个新的电脑可能没有操作系统,但是一定会带BIOS,如果没有BIOS则根本无法装系统。 我们能够装系统,就是通过BIOS)。
    • 操作系统部署在硬盘上,这个操作系统是自己装的。
    • 内存在掉电时无作用。
    • CPU在掉电时不工作。

    (2)启动过程:

    PC上电后先执行BIOS程序(实际上PC的BIOS就是NorFlash),(PC能够保证PC上电后,BIOS的程序能够送到CPU中去执行,也就是说程序不用先拷贝到内存中,这种执行就叫做代码的原地执行,换句话说就是代码直接在flash中被CPU读取并送到CPU中,norflash这种flash支持原地执行代码。)BIOS程序负责初始化DDR内存,负责初始化硬盘, 然后从硬盘上将OS镜像读取到DDR中,然后跳转到DDR中去执行OS直到启动(OS启动后BIOS就无用了)。(这里面有一个问题,BIOS是怎么知道用户使用的是什么牌子的DDR和硬盘的呢? 可能不同硬盘以及DDR的初始化程序不一样啊?解决方法:因为市场上的DDR和硬盘的启动步骤大都标准化了,另外在BIOS程序中可以将市面上所有硬盘和DDR的启动步骤都兼容。)

    2.典型嵌入式linux系统启动过程

    (1)嵌入式系统的部署和启动都是参考PC机的。只是设备上有一些差别

    (2)典型嵌入式系统的部署:

    • uboot程序部署在Flash上(这里的flash指的是能作为启动设备的Flash,不同的SOC支持的启动设备Flash不同,以S5PV210为例,请看S5PV210_iROM_ApplicationNote_Preliminary_20091126.pdf,里面的第9页就说明了支持哪些类型的flash启动)。
    • OS部署在FLash(嵌入式系统中用Flash代替了硬盘)上,需要说明的是uboot和OS可以部署在同一个flash中,也可以不在同一个flash中,现在为了节省成本,逐渐倾向于将uboot和OS放到同一个flash中。
    • 内存在掉电时无作用。
    • CPU在掉电时不工作。

    (3)启动过程:

    嵌入式系统上电后先加载执行uboot、然后uboot负责初始化DDR,初始化Flash, 然后将OS从Flash中读取到DDR中,然后启动OS(OS启动后uboot就无用了)。

    总结:嵌入式系统和PC机的启动过程几乎没有两样,只是BIOS成了uboot,硬盘成了Flash。


    3.android系统启动过程

    (1)android系统的启动和linux系统(前面讲的典型的嵌入式系统启动)几乎一样。

        几乎一样意思就是前面完全一样,只是在内核启动后加载根文件系统后不同了。

    (2)可以认为启动分为2个阶段:

       第一个阶段是uboot到OS启动;

       第二个阶段是OS启动后到rootfs加载到命令行执行;        

     android的启动和linux的差别在第二阶段。


    总结:uboot到底是干嘛的
    (1)uboot主要作用是用来启动操作系统内核。(操作系统内核无法自己启动自己,需要有人帮忙,这个人就是uboot)。
    (2)uboot还要负责部署整个计算机系统。(通俗的讲就是把uboot、OS和根文件系统放到flash中的什么 位置)。
    (3)uboot中还有操作Flash等板子上硬盘的驱动 (如果没有这些驱动是没法将OS和根文件系统部署到flash中的)。

    (4)uboot还得提供一个命令行界面供人来操作。(其实uboot中没有这个部分也是可以启动内核,但是有了这个部分就能够更好的部署内核,可以更好的设置启动内核的参数)。



    uboot必须解决哪些问题

    (1)自身可开机直接启动:

    • 由于不同硬件的设计不同,因此必须进行硬件相对应的代码级别的更改和移植。才能够保证可以从相应的启动介质启动(不同SOC支持的启动介质是不一样的,这个需要看手册查询)。uboot中第一阶段的start.S文件中具体处理了这一块。

    (2)能够引导操作系统内核启动并给内核传参

    • uboot的终极目标就是启动内核。
    • linux内核在设计的时候,设计为可以被传参。也就是说我们可以在uboot中事先给linux内核准备一些启动参数放在内存中特定位置然后传给内核,内核启动后会到这个特定位置去取uboot传给他的参数,然后在内核中解析这些参数,这些参数将被用来指导linux内核的启动过程(这样linux的启动就是活的了,否则无法设置,linux启动就是死的,如果要想再次设置就要重新编译,增加复杂性)。

    (3)能提供系统部署功能

    • uboot必须能够被人借助而完成整个系统(包括uboot、kernel、rootfs等的镜像)在Flash上的烧录下载工作。

    (4)能进行soc级和板级硬件管理

    uboot中实现了一部分硬件的控制能力(uboot中初始化了一部分硬件),因为uboot为了完成一些任务必须让这些硬件工作。

    • 譬如uboot要实现刷机必须能驱动iNand。
    • 譬如uboot要在刷机时LCD上显示进度条就必须能驱动LCD。
    • 譬如uboot能够通过串口提供操作界面就必须驱动串口。
    • 譬如uboot要实现网络功能就必须驱动网卡芯片。

    (5)uboot的“生命周期”

    • uboot的生命周期就是指:uboot什么时候开始运行,什么时候结束运行。uboot本质上是一个裸机程序(是个while1)(不是操作系统)},一旦uboot开始SoC就会单纯运行uboot(意思就是uboot运行的时候别的程序是不可能同时运行的),一旦uboot结束运行则无法再回到uboot(所以uboot启动了内核后uboot自己本身就死了,要想再次看到uboot界面只能重启系统。重启并不是复活了刚才的uboot,重启只是uboot的另一生)
    • uboot的入口和出口。uboot的入口就是开机自动启动,uboot的唯一出口就是启动内核。uboot还可以执行很多别的任务(譬如烧录系统),但是其他任务执行完后都可以回到uboot的命令行继续执行uboot命令,而启动内核命令一旦执行就回不来了。

    总结:一切都是为了启动内核










    展开全文
  • 固件的初始化,尝试启动CPU 电源刚接通后,处理器处于实模式(real mode)并且禁止了内存分页机制,且只有1MB的可用存储地址空间。 启动时寄存器的初始化,保存着CPU执行指令地址的地址寄存器(EIP)指向的是0xFFFFFFF0...
  • 实体PC机上安装Linux系统

    万次阅读 多人点赞 2018-01-26 01:38:40
    今天无意间看到我那台闲置了好久的笔记本,突然心血来潮想给它装一个Linux系统。我的联想G480,曾经陪我走过整整4年的大学时光,后来因为时常卡顿而被...软件:老毛桃U盘启动盘制作工具,Linux系统发行版的映象文件...
  • PC上电启动过程详解

    千次阅读 2008-07-01 18:59:00
    中断是计算机的核心部分和外围设备通讯的一个重要的接口,“中断”的意思就是无论核心部分做什么,都要停下来处理,就是要执行一段专为这个外围设备编写的程序,执行完以后,才恢复刚才所做的工作。举个例子来说,...
  • PC机安装Ubuntu系统教程

    千次阅读 2018-03-03 15:46:42
    Ubuntu系统版本:ubuntu-17.10-desktop-amd64_3 密码:bvet制作Ubuntu...制作完成之后把U盘插入PC机,按电源键开机启动在启动过程中选择按F10,选择install ubuntu。之后的安装步骤类似ubuntuvmware worksta...
  • 0. 前言 从Android手机打开开关,到我们可以使用其中的app时,这个启动过程到底是怎么样的? 1. 系统上电当给Android系统上电,电源接通的瞬间,CPU内的寄存器和各...这一段代码,放在PC中,叫做BIOS,而Andro
  • 一.硬件环境(两台IBM PC 8434,一台兼容) 1.IBM PC 8434:IBM原装...操作过程: 由于IBM PC没有光驱,因此尝试两种方法为IBM PC安装操作系统。第一种方法,将移动硬盘已经存在的Partition Image直接Ghost到I
  • 因为从100M城中村网线,更换为了电信500Mbps光纤宽带,所以原来的家用路由器,华为B315s-936 ...2. 作为NAS服务器并提供samba服务的PC机的lspci信息. 是华擎的J4205主板,另购一块TP-link的 千兆有线网卡8161 00:0.
  • linux启动过程中dtb的作用

    千次阅读 2015-04-01 10:10:11
    dtb文件作用的描述是,使用dtb可以减少linux... 我的理解是,linux内核启动过程中会解析dtb文件,根据dtb文件中设备列表进行加注各个外设的驱动模块。不知这样理解是否正确? 正确,解析dtb并创建platform device
  • 如何在PC机上安装MacOSX

    千次阅读 2007-10-17 16:21:00
    注意:原文这里首先需要声明的是, PC 上安装 Mac OS X 是非法的,本文所写的内容只是为技术交流而使用。如果您确实喜欢 Mac OS X,请通过以下两种途径获得:1、成为苹果公司的工程师;2、买一台苹果电脑。鉴于...
  • 嵌入式系统启动过程

    千次阅读 2014-09-11 16:23:22
    ++++++++++++++++++++++++++++++++++++++++++ 本文系本站原创,欢迎转载! 转载请注明出处: ... ++++++++++++++++++++++++++++++++++++++++++ ...通常PC开机之后,会进入带有PC机厂商信息的BIOS画面
  • 手持机与PC机数据库通信总结

    千次阅读 2009-07-13 14:49:00
    1. 使用技术: RDA2. 开发环境Windows XP,需安装IISVisual Studio 2008Microsoft SQL Server Management Studio(SQL2005开发版) Sqlce ... 准备工作在PC机上安装IIS(本机使用IIS5.0)在PC机上安装SQL Server Compa
  • 计算机开机启动过程

    千次阅读 2014-02-07 11:31:48
    PC机启动时ROM BIOS(Basic Input Output System)的程序会把默认启动驱动器上的引导扇区代码和数据读入内存,而引导扇区代码则负责把操作系统加载程序和内核执行代码读入内存,然后把控制权价交给操作系统加载...
  • linux 启动过程

    千次阅读 2009-06-02 16:38:00
     Linux 的启动过程包含了 Linux 工作原理的精髓, 而且嵌入式的开发过程也非常需要这方面知识的积累。 用户开机启动 Linux 过程总体上是这样的: 首先当用户打开 PC 的电源时,CPU 将自动进入实模式,并从地址 0xF...
  • 开发板与PC机的数据传输方式总结

    千次阅读 2016-10-29 14:45:00
    开发过程,我们总是先自己的PC机上编写代码,然后交叉编译,完了之后再将我们生成的可执行文件“拷贝”到开发板上去运行,这就涉及到怎样将我们开发的程序传送到开发板上运行的问题。然后上网找了一些资料,补了...
  • PC机安装ArchLinux详细步骤

    千次阅读 2017-02-08 17:41:55
    利用Win32DiskImage工具将ArchLinux的镜像写入U盘,保证安装过程处于联网状态。安装基本系统 打开电脑电源,从U盘启动,根据自己需要选择第一个(x86_64)为64位系统或者第二个(i686)为32位系统 硬盘分
  • bootloader 启动过程

    千次阅读 2016-08-18 17:37:48
    (1)引导加载程序:其中包括内部ROM的固化启动代码和Boot Loader两部分。而这个内部固化ROM是厂家芯片生产时候固化的,作用基本上是引导Boot Loader。有的芯片比较复杂,比如Omap3,他flash没有代码的时候...
  • 模拟器访问PC机WEB服务器方法

    千次阅读 2010-10-16 22:08:00
    模拟器默认访问PC机的IP地址为: http://10.0.2.2/如果要用域名访问,可以用APACHE做代理处理:ProxyPass / http://www.localhost.com/或者修改模拟器的HOST做下域名解析处理,例如HOST加入: 10.0.2.2 ...
  • 高通平台启动过程

    千次阅读 多人点赞 2019-10-24 11:49:29
    开机过程中,会从PBL (AArch32) 切换到 AArch 64 位。这个64位和32位的意思是,CPU的指令集的长度,现在CPU一般都是64位架构的。 同一套代码也可以根据客户的需求,配置为32 位或者 64位,一般来说64位比32位好...
  • CPU启动过程

    千次阅读 2010-11-27 15:59:00
    IBM PC机的约定。开机执行FFFF:0000地址指令,这是一个跳转指令,跳到BIOS程序入口。机器启动时,CPU进行内部寄存器的初始化,将代码寄存器CS置为FFFFH,指令指针IP置为0000H,于是CPU的地址总线输出FFFF0H,...
  • 前阶段项目涉及到了Android系统定制任务,Android系统定制前提要知道Android系统是如何启动的。 本文参考了一些书籍的若干章节,比如《Android进阶解密-第2章-Android系统启动》、《深入理解Android虚拟机-第8/9...
  • VxWorks引导启动过程

    千次阅读 2014-03-05 10:43:49
    一 基本概念及引导概述 1 bootloader/bootrom/bootstrap CPU上电经自复位的过程(由硬件时序逻辑决定的...这个固定地址因体系架构而异:一个基于 ARM7TDMI core 的嵌入式系统,系统在上电或复位时通常都从地
  • 单片机与 PC 串口通信实验

    千次阅读 多人点赞 2019-01-22 17:57:24
    接收过程中,数据从输入一位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位,当 RI=0;且 SM2=0(或接收到的停止位为 1)时,将接收到的 9 位数据的前 8 位数据装入接收 SBUF,第 9 ...
  • ARM 开发板 与 PC机ubuntu系统 nfs 挂载

    千次阅读 2012-03-10 21:49:14
    ARM开发板与PC通过NFS 网络文件系统挂接,很...首先,我们需要主机上安装nfs服务器,安装过的过程中一并把一些需要的组件也给安装了。 1. 安装 NFS 相关组件 sudo apt-get install nfs-kernel-server 安装
  • BootLoader启动过程分析

    千次阅读 2014-03-20 00:35:20
    BootLoader启动过程分析  一、 Boot Loader的概念和功能 1、嵌入式Linux软件结构与分布一般情况下嵌入式Linux系统的软件主要分为以下及部分: (1)引导加载程序:其中包括内部ROM的固化启动代码和Boot ...
  • powerpc nor flash启动

    千次阅读 2014-01-24 22:28:34
    cpu 访问nor flash来进行启动。 假设cpu上电后,从0xffff0000启动。 但是uboot的链接地址为0xefff0000。然后生成uboot.bin文件 这时一定要注意存储地址和运行...这时,我们的运行地址和存储地址不同。 0xffff0000:
  • uboot启动内核过程

    千次阅读 2018-09-20 09:13:28
    我们都知道u-boot被缔造出来的使命是 启动内核。 那么,他是如何完成他的使命的呢! (1)我们先来分析下Linux内核镜像这个概念吧。 我们编译内核完(编译成功)会生成vmlinux,Image,zImage,再通过 uboot...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 99,914
精华内容 39,965
热门标签
关键字:

在启动pc机的过程中