1-硬件启动的引导程序

常见软件故障及处理方法

常见软件故障及处理方法(转载) 软件故障的原因 软件发生故障的原因有几个,丢失文件、文件版本不匹配、内存冲突、内存耗尽,具体的情况不同,也许只因为运行了一个特定的软件,也许很严重,类似于一个的系统级故障。 为了避免这种错误的出现,我们可以仔细研究一下每种情况发生的原因,看看怎样检测和避免。 丢失文件: 你每次启动计算机和运行程序的时候,都会牵扯到上百个文件,绝大多数文件是一些虚拟驱动程序vir tual device drivers (VxD),和应用程序非常依赖的动态链接库dynamic link library (DLL)。VXD允许多个应用程序同时访问同一个硬件并保证不会引起冲突,DLL则是一些独立于程序、单独以文件形式保存的可执行子程序,它们只有在需要的时候才会调入内存,可以更有效地使用内存。当这两类文件被删除或者损坏了,依赖于它们的设备和文件就不能正常工作。 要检测一个丢失的启动文件,可以在启动PC的时候观察屏幕,丢失的文件会显示一个“不能找到某个设备文件”的信息和该文件的文件名、位置,你会被要求按键继续启动进程。 造成类似这种启动错误信息的绝大多数原因是没有正确使用卸载软件。如果你有一个在WINDOWS启动后自动运行的程序如Norton Utilities、 Nuts and Bolts等,你希望卸载它们,应该使用程序自带的“卸载”选项,一般在“开始”菜单的“程序”文件夹中该文件的选项里会有,或者使用“控制面板”的“添加/卸载”选项。如果你直接删除了这个文件夹,在下次启动后就可能会出现上面的错误提示。其原因是W INDOWS找不到相应的文件来匹配启动命令,而这个命令实际上是在软件第一次安装时就已经置入到注册表中了。你可能需要重新安装这个软件,也许丢失的文件没有备份,但是至少你知道了是什么文件受到影响和它们来自哪里。 对文件夹和文件重新命名也会出现问题,在软件安装前就应该决定好这个新文件所在文件夹的名字。 如果你删除或者重命名了一个在“开始”菜单中运行的文件夹或者文件,你会得到另外一个错误信息,在屏幕上会出现一个对话框,提示“无效的启动程序”并显示文件名,但是没有文件的位置。如果桌面或者“开始”菜单中的快捷键指向了一个被删除的文件和文件夹,你会得到一个类似的“丢失快捷键”的提示。 丢失的文件可能被保存在一个单独的文件中,或是在被几个出品厂家相同的应用程序共享的文件夹中,例如文件夹\SYMANTEC就被Norton Utilities、Norton Antivirus和其他一些 Symantec 出品的软件共享,而对于\WINDOWS\SYSTEM来说,其中的文件被所有的程序共享。你最好搜索原来的光盘和软盘,重新安装被损坏的程序。 文件版本不匹配: 绝大多数的WIN 9X用户都会不时地向系统中安装各种不同的软件,包括WINDOWS的各种补丁例如Y2K,或者将WIN 95 升级到WIN 98,这其中的每一步操作都需要向系统拷贝新文件或者更换现存的文件。每当这个时候,就可能出现新软件不能与现存软件兼容的问题。 因为在安装新软件和WINDOWS升级的时候,拷贝到系统中的大多是DLL文件,而DLL不能与现存软件“合作”是产生大多数非法操作的主要原因,即使会快速关闭被影响的程序,你也没有额外的时间来保存尚未完成的工作。 WINDOWS的基本设计使得上述DLL错误频频发生。和其他版本不同,WIN 95允许多个文件共享\WINDO WS\SYSTEM文件夹的所有文件,例如可以有多个文件使用同一个Whatnot.dll,而不幸的是,同一个DLL文件的不同版本可能分别支持不同的软件,很多软件都坚持安装适合它自己的Whatnot.dll版本来代替以前的,但是新版本一定可以和其他软件“合作愉快”吗?如果你运行了一个需要原来版本的DLL的程序,就会出现“非法操作”的提示。 在安装新软件之前,先备份\WINDOWS\SYSTEM 文件夹的内容,可以将DLL错误出现的几率降低,既然

F BOOTROM引导模式和程序

28335使用串口烧写程序 串口烧写是一种相对较方便的烧写方式,相对于仿真器或是CAN烧写,相对于仿真器或是USB转CAN的设备,串口是一种非常廉价的烧写方式,而且也不需要安装专业的集成开发环境CCS等,但是不能实现在线调试,因此也只适用于程序基本不用再调整或大批量的场合。 F28335的存储器映射图如下:

BOOTROM 是一块8K X 16的只读存储器,位于地址空间0x3FE000~0x3FFFFF,片内BOOTROM在出厂时固化了引导加载程序以及定点和浮点数据表,片上BOOTROM的存储映射如下图所示: 1.内BOOT ROM数学表: 在BOOT ROM中保留了4K X 16位空间,用以存放浮点和IQ数据公式表,这些数据 公式表有助于改善性能和节省SARAM空间。 向量表: CPU向量表位于ROM存储器0x3FE000~0x3FFFFF段内,如下图所示。复位后,当VMAP=1,ENPIE=0(PIE向量表禁止)时,该向量表激活。

在内部BOOT ROM引导区中能够调用的唯一向量就是位于0x3FFFC0的复位向量。复位向量在出厂时被烧录为直接指向存储在BOOT ROM空间中的InitBoot函数,该函数用于开启引导过程。然后通过通用I/O引脚上的检验判断,决定具体引导模式。引导模式与控制引脚之间的关系如下图所示: Bootloader特性: Bootloader是位于片上引导ROM中的在复位后执行的程序,用于在上电复位后,将程序代码从外部源转移到内部存储器。这允许代码暂时存储在掉电不丢失数据的外部存储器内,然后被转移到高速存储器中执行。 引导ROM中的复位向量将程序执行重定向至InitBoot函数。执行器件初始化之后,bootloader将检查GPIO引脚的状态以确定您需要执行哪种引导模式。这些选项包括:跳转至闪存、跳转至SARAM、跳转至OTP或调用其中一个片上引导加载例程。

UBOOT命令详解

常用U-boot命令详解(z) 2010-09-30 15:05:52| 分类:学习心得体会|字号订阅 U-boot发展到现在,他的命令行模式已经非常接近Linux下的shell了,在我编译的 U-boot-2009.11中的命令行模式模式下支持“Tab”键的命令补全和命令的历史记录功能。而且如果你输入的命令的前几个字符和别的命令不重复,那么你就只需要打这几个字符即可,比如我想看这个U-boot的版本号,命令就是“ version”,但是在所有的命令中没有其他任何一个的命令是由“v”开头的,所以只需要输入“v”即可。 [u-boot@MINI2440]# version U-Boot 2009.11 ( 4月04 2010 - 12:09:25) [u-boot@MINI2440]# v U-Boot 2009.11 ( 4月04 2010 - 12:09:25) [u-boot@MINI2440]# base Base Address: 0x00000000 [u-boot@MINI2440]# ba Base Address: 0x00000000 由于U-boot支持的命令实在太多,一个一个细讲不现实,也没有必要。所以下面我挑一些烧写和引导常用命令介绍一下,其他的命令大家就举一反三,或者“help”吧! (1)获取帮助 命令:help 或? 功能:查看当前U-boot版本中支持的所有命令。 [u-boot@MINI2440]#help ?- alias for'help' askenv - get environment variables from stdin base - print or set address offset bdinfo - print Board Info structure bmp - manipulate BMP image data boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootelf - Boot from an ELF image in memory bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol

第2章 Win7安装

第2章Windows 7安装 2.1系统安装要求 下面是安装Windows 7 时推荐的最低硬件配置: 如果不能满足这些最低配置,将无法安装Windows 7: 2.2安装途径 可以使用下列方法之一安装Windows 7。

2.3全新安装 2.3.1全新安装的变化 在执行Windows 7 的全新安装时,与Windows Vista 相比有两个明显变化:创建单独的系统分区,以及选择加入无线网络。 在从DVD 启动来执行Windows 7 的全新安装时,如果符合以下的三个条件:?计算机上没有现有的系统分区 ?系统没有3 个现有分区 ?磁盘上具有用于额外分区的未分配空间 安装程序在安装之后创建100 MB的系统分区,将会在“磁盘管理”中发现以下两个分区: 注意,“磁盘管理”中对分区使用的术语容易发生混淆。如上所述,“启动文件”位于“系统”分区上,而Windows 系统文件位于“启动”分区上。 创建此分区有以下几个主要原因: ?Bitlocker 要求分隔启动文件与Windows 文件。这是Windows Vista 需要Bitlocker 驱动器准备工具的原因 ?防止被删除(如在双启动方案中)。在此新配置中,可以格式化Windows 分区而不会影响系统启动。该驱动器没有驱动器号可以进一步防止意外删除启动文件如果不能满足之前的三个条件,Windows 7 安装程序将使用与Windows Vista 安装程序相同的方法继续执行。 如果有活动无线网络适配器,并且范围内有网络,“欢迎使用Windows”将提供一个新步骤来连接到网络。 2.3.2全新安装步骤

Windows 7 的全新安装与升级类似,采用的步骤和结构与在Windows Vista 安装程序中使用的相同。全新安装的阶段如下: 2.3.3从光盘启动安装 2.3.3.1WinPE阶段 从DVD 启动安装的第一步是“按任意键从CD 或DVD 启动”。 WinPE 开始加载,并显示“Windows 正在加载文件”进度指示器,如下图所示。 接下来是“正在启动Windows”图像,这是Windows 7 启动的新“初始屏幕”。

计算机启动过程

从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 零、boot 的含义 先问一个问题,"启动"用英语怎么说? 回答是boot。可是,boot 原来的意思是靴子,"启动"与靴子有什么关系呢?原来,这里的boot 是bootstrap(鞋带)的缩写,它来自一句谚语: "pull oneself up by one's bootstraps" 字面意思是"拽着鞋带把自己拉起来",这当然是不可能的事情。最早的时候,工程师们用它来比喻,计算机启动是一个很矛盾的过程:必须先运行程序,然后计算机才能启动,但是计算机不启动就无法运行程序! 早期真的是这样,必须想尽各种办法,把一小段程序装进内存,然后计算机才能正常运行。所以,工程师们把这个过程叫做"拉鞋带",久而久之就简称为boot 了。 计算机的整个启动过程分成四个阶段。 一、第一阶段:BIOS 上个世纪70 年代初,"只读内存"(read-only memory,缩写为ROM)发明,开机程序被刷入ROM 芯片,计算机通电后,第一件事就是读取它。 这块芯片里的程序叫做"基本輸出輸入系統"(Basic 无效/Output System),简称为BIOS。1. 1 硬件自检 BIOS 程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST。 如果硬件出现问题,主板会发出不同含义的蜂鸣,启动中止。如果没有问题,屏幕就会显示出CPU、内存、硬盘等信息。 1. 2 启动顺序 硬件自检完成后,BIOS 把控制权转交给下一阶段的启动程序。 这时,BIOS 需要知道,"下一阶段的启动程序"具体存放在哪一个设备。也就是说,BIOS 需要有一个外部储存设备的排序,排在前面的设备就是优先转交控制权的设备。这种排序叫做"启动顺序"(Boot Sequence)。 打开BIOS 的操作界面,里面有一项就是"设定启动顺序"。 二、第二阶段:主引导记录 BIOS 按照"启动顺序",把控制权转交给排在第一位的储存设备。 这时,计算机读取该设备的第一个扇区,也就是读取最前面的512 个字节。如果这512 个字节的最后两个字节是0x55 和0xAA,表明这个设备可以用于启动;如果不是,表明设备不能用于启动,控制权于是被转交给"启动顺序"中的下一个设备。 这最前面的512 个字节,就叫做"主引导记录"(Master boot record,缩写为MBR)。 2. 1 主引导记录的结构 "主引导记录"只有512 个字节,放不了太多东西。它的主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统。 主引导记录由三个部分组成: (1)第1-446 字节:调用操作系统的机器码。 (2)第447-510 字节:分区表(Partition table)。 (3)第511-512 字节:主引导记录签名(0x55 和0xAA)。 其中,第二部分"分区表"的作用,是将硬盘分成若干个区。 2. 2 分区表 硬盘分区有很多好处。考虑到每个区可以安装不同的操作系统,"主引导记录"因此必须知道将控制权转交给哪个区。

UBoot移植详解

u-boot 移植步骤详解 1 U-Boot简介 U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式Linux 系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,U-Boot对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。其它系列的处理器和操作系统基本是在2002年11 月PPCBOOT 改名为U-Boot后逐步扩充的。从PPCBOOT向U-Boot的顺利过渡,很大程度上归功于U-Boot的维护人德国DENX软件工程中心Wolfgang Denk[以下简称W.D]本人精湛专业水平和持着不懈的努力。当前,U-Boot项目正在他的领军之下,众多有志于开放源码BOOT LOADER移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。 选择U-Boot的理由: ①开放源码; ②支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS; ③支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale; ④较高的可靠性和稳定性; ④较高的可靠性和稳定性; ⑤高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等; ⑥丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等; ⑦较为丰富的开发调试文档与强大的网络技术支持; 2 U-Boot主要目录结构 - board 目标板相关文件,主要包含SDRAM、FLASH驱动; - common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测;

WIN7安装问题解决

解决win7安装过程问题 随着电脑知识的普遍化,越来越多的用户会自己重新安装WIN7系统,在重装系统过程当中用户们常常会遇到一些故障,今天小编就列举了安装WIN7系统过程中常见的故障以及解决方案,希望可以帮助到大家。 序号:1 原文:Please wait... 翻译:请稍候... 解决办法:这是安装开始时安装程序加载时的提示语。如果卡在这个地方,请检查硬件是否正常,如果正常请检查MD5是否一致。如果配置低,可能要多等一下,请耐心等待。在PE2.0以下在这一步会提示无法安装,原因是PE版本太低。请使用高于或等于2.0版的PE,论坛有提供 序号:2 原文:Setup is copying temporary files... 翻译:程序正在复制临时文件... 解决办法:同1 序号:3 原文:Setup is starting... 翻译:安装正在启动 解决办法:同1 序号:4 原文:Windows installation cannot be started from the current operating system. To install Windows, boot from the installation media, or upgrade to Windows XP or later and restart the installation. 翻译:无法从当前操作系统启动Windows安装。若要安装Windows,请从安装介质启动,或升级到Windows XP或更高版本,然后重新启动安装。 解决办法:已经说得很清楚了,如果你是从2000系统安装,那是不行的。请在XP或者2003、Vista升级或安装。 序号:5 原文:Install Windows 翻译:安装Windows 解决办法:同1 序号:6 原文:Windows could not load required file. The file may be corrupt. To install Windows, restart the installation. Error code: 0x%2!X! 翻译:Windows无法加载所需的文件。该文件可能已损坏。若要安装Windows,请重新启动安装。错误代码: 0x%2!X! 解决办法:典型的ISO文件损坏情况,请检查ISO的MD5是否一致,ISO损坏的原因很可能是下载时造成的。请使用其他下载工具下载。比如我上次用迅雷下载后发现MD5不一样。只得重新下载,第二次下载后一致了。如果是刻碟安装,很可能是光盘损坏或有些文件刻录时错误。请重新刻录。 序号:7 原文:Y ou must be an administrator to install Windows.

BootLoader引导程序

BootLoader引导程序 一、实验目的 1.学会配置linux下的minicom和windows下的超级终端 2.了解bootloader的基本概念和框架结构 3.了解bootloader引导操作系统的过程 4.掌握bootloader程序的编译方法 5.掌握bootloader程序的使用方法 二、实验内容 1. 学习x-loader 作用和编译过程 2.学习uboot作用和编译过程 3.学习bootloader的操作 三、实验设备 PentiumII以上的PC机, LINUX操作系统 四、BOOTLOADER程序说明 完整的系统由x-loader、u-boot、kernel(内核)、rootfs(根文件系统)组成,x-loader 是一级引导程序,其作用是初始化CPU,拷贝u-boot到内存,然后把控制权交给u-boot。当OMAP3530上电时,memory controller(内存控制器)还未初始化,这个任务便由完成的x-loader。初始化外部RAM控制器,把u-boot读到外部RAM,之后把控制入口交给。u-boot 是二级引导程序,其作用主要是引导内核,提供映像更新,同用户进行交互。系统结构图如 下: 1. BootLoader的作用 在嵌入式系统中,BootLoader的作用与PC机上的BIOS类似,其主要作用:(1)初始化硬件设备;(2)建立内存空间的映射图;(3)完成内核的加载,为内核设置启动参数。通过BootLoader可以完成对系统板上的主要部件如CPU、SDRAM、Flash、串行口等进行初始化,也可以下载文件到系统板上,对Flash进行擦除与编程。当运行操作系统时,它会在操作系统内核运行之前运行,通过它,可以分配内存空间的映射,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统准备好正确的环境。 通常,BootLoader 是依赖于硬件而实现的,特别是在嵌入式系统中。因此,在嵌入式系统里建立一个通用的 BootLoader 几乎是不可能的,不同的处理器架构都有不同的

电脑主板开机电路检测流程1

开机电路检测流程 测量ATX电源接口的红5V,黄12V是否严重对地短路。 1:南桥附近是否有2.5V,3.3V,1.8V的待机电压(南桥不同,待机电压也不同) 2:实时晶振是否起振(两脚是否有0.4V左右电压) 3:CMOS跳线中间引脚是否为高电平。(CMOS是否设置正确) 4:测量POW开关处是否有2.5V以上高电平。 5:短接POW开关测量是否有低电平触发南桥成功(W83627HF除外) 6:查绿线到南桥成I/O之间的线路是否正常。 注:开机电路中易损元件: (1):与开机电路相关的门电路,三极管。 (2):给南桥提供待机电压的正电压稳压器或其它供电元件。 (3):与I/O或南桥。 维修实例 1.GPS-810C(E)J:测试点正常不工作,刷BIOS(用联冠810T)无效,后查北桥供电的3055场效应管损坏,板上标识为Q4,更换后OK。 2.-P4主板:型号为Titan667。 测试卡从C1到B0,测试卡过C1,表明CPU已经工作,检测内存不过,查内存的供电,发现它的负载电压只有0.85V。正常应为1.25V,查其与Q96,Q97两个场管相连,摘下后测得Q96为软击穿,更换后故障排除。 3.-810主板不能点亮 测试卡从D3到00,DE-00循环跳变,这种故障表明检测内存不过,经查内存的供电,时钟,复位,片选,行,列,选信号均正常,于是目测主板,将CPU与风扇除去,发现风扇卡与主板之间有划痕,且已划段3根线,经补线后,加电测量,一切正常。4.-精英K7VMA主板;主板上有两个CPU风扇接口,插其中一个自动断电,查不正常的风扇接口,发现其5V由D4二极管供给,二极管正向端连南桥,由此怀疑南桥中的温控电路出毛病,将其二极管摘除,将风扇5V端与D5的负端相连后,故障排除。5.精英P6-IEAT或P6-IPAT,815EP主板开机不显,各项电压正常的情况下多为南桥坏。(通病) 6.磐正AMD主板进入系统后自动关机,更换CPU风扇后,故障解决。 7.-华拓主板开机自动进入CMOS设置,插dassic跳线跳错。 8.P4VSD主板上AGP显卡不亮,插PCI显卡可正常工作,不加显卡时测VDDQ电压为 3.3V,加上4×AGP显卡再测为2.26V,正常时应为1.5V,故判断VDDQ供电管有问 题,更换后,故障解决。 9.K7TPRO主板;检测显卡时,代码过26不亮,查其VDDQ电压不正常,更换供电管后故障依旧,此时,想到它的控制电压输出部分,顺线路,找到其中431控制,更换431后故障排除。 10.GA-8LD533;故障现象,开机各测试点均正常,CPU不工作,用P4测试座测量,大面积信号线不亮,按压CPU座,信号线部分正常,故判断CPU座虚焊,加焊后故障排除。 11.MS-6153主板;开机后CPU不工作,测CPU工作电压无,Q1的控制极电压为0.45,Q2的控制极电压为1V,更换电压IC后,故障排除。 12.GA-8IE2004;故障为显示到检测硬盘处死机,有时能正常通过,但会死机,目测内

u-boot启动分析

背景: Board →ar7240(ap93) Cpu →mips 1、首先弄清楚什么是u-boot Uboot是德国DENX小组的开发,它用于多种嵌入式CPU的bootloader程序, uboot不仅支持嵌入式linux系统的引导,当前,它还支持其他的很多嵌入式操作系统。 除了PowerPC系列,还支持MIPS,x86,ARM,NIOS,XScale。 2、下载完uboot后解压,在根目录下,有如下重要的信息(目录或者文件): 以下为为每个目录的说明: Board:和一些已有开发板有关的文件。每一个开发板都以一个子目录出现在当前目录中,子目录存放和开发板相关的配置文件。它的每个子文件夹里都有如下文件(以ar7240/ap93为例): Makefile Config.mk Ap93.c 和板子相关的代码 Flash.c Flash操作代码 u-boot.lds 对应的链接文件 common:实现uboot命令行下支持的命令,每一条命令都对应一个文件。例如bootm命令对应就是cmd_bootm.c cpu:与特定CPU架构相关目录,每一款Uboot下支持的CPU在该目录下对应一个子目录,比如有子目录mips等。它的每个子文件夹里都有入下文件: Makefile Config.mk Cpu.c 和处理器相关的代码s Interrupts.c 中断处理代码 Serial.c 串口初始化代码 Start.s 全局开始启动代码 Disk:对磁盘的支持

Doc:文档目录。Uboot有非常完善的文档。 Drivers:Uboot支持的设备驱动程序都放在该目录,比如网卡,支持CFI的Flash,串口和USB等。 Fs:支持的文件系统,Uboot现在支持cramfs、fat、fdos、jffs2和registerfs。 Include:Uboot使用的头文件,还有对各种硬件平台支持的汇编文件,系统的配置文件和对文件系统支持的文件。该目下configs目录有与开发板相关的配置文件,如 ar7240_soc.h。该目录下的asm目录有与CPU体系结构相关的头文件,比如说mips 对应的有asm-mips。 Lib_xxx:与体系结构相关的库文件。如与ARM相关的库放在lib_arm中。 Net:与网络协议栈相关的代码,BOOTP协议、TFTP协议、RARP协议和NFS文件系统的实现。 Tools:生成Uboot的工具,如:mkimage等等。 3、mips架构u-boot启动流程 u-boot的启动过程大致做如下工作: 1、cpu初始化 2、时钟、串口、内存(ddr ram)初始化 3、内存划分、分配栈、数据、配置参数、以及u-boot代码在内存中的位置。 4、对u-boot代码作relocate 5、初始化malloc、flash、pci以及外设(比如,网口) 6、进入命令行或者直接启动Linux kernel 刚一开始由于参考网上代码,我一个劲的对基于smdk2410的板子,arm926ejs的cpu看了N 久,启动过程和这个大致相同。 整个启动中要涉及到四个文件: Start.S →cpu/mips/start.S Cache.S →cpu/mips/cache.S Lowlevel_init.S →board/ar7240/common/lowlevel_init.S Board.c →lib_mips/board.c 整个启动过程分为两个阶段来看: Stage1:系统上电后通过汇编执行代码 Stage2:通过一些列设置搭建了C环境,通过汇编指令跳转到C语言执行. Stage1: 程序从Start.S的_start开始执行.(至于为什么,参考u-boot.lds分析.doc) 先查看start.S文件吧!~ 从_start标记开始会看到一长串莫名奇妙的代码:

软件安装故障排除文档

软件安装故障排除文档 1、安装时提示: 抽取:无法写入文件 C:\DOCUME~1\Administrator\LOCALS~1\Temp\nsd26.tmp\System.dll 解答:C盘空间不足,安装傲友软件最少需要240MB存储空间。推荐整理C 盘文件(包括桌面文件)。 2、启动傲友软件系统,欢迎界面一闪而过,无法进入登录界面。 解答:没有配置服务器,或服务器配置失败,需要重新配置服务器。在windows操作系统下: 开始→程序→傲友软件→工具→服务器配置向导。启动服务器配置向导后,点击下一步,稍等片刻,提示配置完成则服务器配置完成,可从新启动傲友软件。 傲友软件安装路径中包含空格或中文字符。在安装傲友软件时,请避免安装路径中包含空格、中文等特殊字符。 3、登录傲友软件时,提示:更新数据失败

解答:多次安装卸载傲友软件,可能造成mida.dll文件丢失。检查midas.dll,在windows系统下:开始→运行,输入“regsvr32 midas.dll”如果提示:midas.dll 中的 DllRegisterServer 失败,请复制 midas.dll文件到“c:\windows\system32\”,再运行“regsvr32 midas.dll”。 4、配置服务器失败:提示 MYSQL数据库系统服务已停止。 解答:傲友软件专业版使用的是MYSQL数据库,请检查服务器端电脑是否安装MYSQL,并启动MYSQL服务(在windows操作系统下:j进入控制面板→管理工具→服务→选择 MYSQL服务,启动MYSQL服务)。重新运行服务器配置向导(在windows操作系统下:开始→程序→傲友软件→工具→服务器配置向导。启动服务器配置向导后,点击下一步,稍等片刻,提示配置完成则服务器配置完成,可从新启动傲友软件。)

电脑开机自检顺序

电脑开机自检顺序[zhuan] {开机键→主板控制芯片向→CPU发出RESET信号→CPU初始化} 当电源供电稳定后,芯片组便撤去RESET信号,CPU马上就从FFFFOH处开始执行指令。 (注:这个地址在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。系统BIOS的启动代码首先要做的事情就是进行POST(加电自检)。 POST的主要任务是检测系统中的一些关键设备是否存在和能否正常工作,如内存和显卡等。如果这个时候系统的喇叭发出的不是一声清脆的“嘀”声,那就有可能是内存条或是显示卡等出故障了) {计算机加电后,主机电源立即产生“Power Good”低电位信号→通过时钟产生(驱动)器输出有效的RESET信号→使CPU进入复位状态→并强制系统进入ROM-BIOS程序区。} (注:系统BIOS区的第一条指令是“jump star”,即跳转到硬件自检程序start。 为了方便地实现BIOS的功能,BIOS运行时要用到一些RAM) {因此大多数BIOS要做的第一件事就是→检测系统中的低端RAM.} (注:如果检测失败,那么大多数BIOS将无法调入RAM中,开机后无任何反应,微机黑屏。) 自检程序允许必要的附加卡上的BIOS程序首先进入它们自己的系统并初始化,但在此之前,主板上的BIOS→找到附加卡上的BIOS程序,才能在主板BIOS和操作系统之前运行。 如显示卡本身就带有启动程序的BIOS芯片,该芯片内的程序负责启动显示卡,为显示其它信息作准备,并在屏幕上显示显示卡的版本及版权信息。 如果上面的过程完成了,电脑开始显示ROM-BIOS的版本、版权信息以及检测出的CPU型号、主频和内存容量。在这个过程中,自检程序还要测试→DAM(内存)→控制器及ROM-BIOS 芯片的字节数。

UBoot源码分析1

?UBoot源码解析(一)

主要内容 ?分析UBoot是如何引导Linux内核 ?UBoot源码的一阶段解析

BootLoader概念?Boot Loader 就是在操作系统内核运行之前运行 的一段小程序。通过这段小程序,我们可以初始 化硬件设备、建立内存空间的映射图,从而将系 统的软硬件环境带到一个合适的状态,以便为最 终调用操作系统内核准备好正确的环境 ?通常,Boot Loader 是严重地依赖于硬件而实现 的,特别是在嵌入式世界。因此,在嵌入式世界 里建立一个通用的Boot Loader 几乎是不可能的。 尽管如此,我们仍然可以对Boot Loader 归纳出 一些通用的概念来,以指导用户特定的Boot Loader 设计与实现。

UBoot来源?U-Boot 是 Das U-Boot 的简称,其含义是 Universal Boot Loader,是遵循 GPL 条款的开放源码项目。最早德国 DENX 软件工程中心的 Wolfgang Denk 基于 8xxROM 和 FADSROM 的源码创建了 PPCBoot 工程项目,此后不断 添加处理器的支持。而后,Sysgo Gmbh 把 PPCBoot 移 植到 ARM 平台上,创建了 ARMBoot 工程项目。最终, 以 PPCBoot 工程和 ARMBoot 工程为基础,创建了 U- Boot 工程。 ?而今,U-Boot 作为一个主流、通用的 BootLoader,成功地被移植到包括 PowerPC、ARM、X86 、MIPS、NIOS、XScale 等主流体系结构上的百种开发板,成为功能最多、 灵活性最强,并且开发最积极的开源 BootLoader。目前。 U-Boot 仍然由 DENX 的 Wolfgang Denk 维护

第3章的附录 系统引导程序的代码

第3章的附录系统引导程序的代码 下面是一个基于S3C2410芯片的嵌入式系统引导(启动)程序Startup.s文件中的汇编源程序。通过对这段程序的分析,巩固所学的汇编指令知识,并学习嵌入式系统引导程序的编写方法。程序中各条指令及指示符的具体含义请参照3.1节和3.3.1小节中的说明。 ;Startup Code for S3C2410 : Startup.s ;下面指令包含2410addr.s文件,该文件中定义了S3C2410内部寄存器地址对应的变量。 GET 2410addr.s ; 某些ARM920T CPSR寄存器位的定义,定义了部分常量。 USERMODE EQU 0x10 FIQMODE EQU 0x11 IRQMODE EQU 0x12 SVCMODE EQU 0x13 ABORTMODE EQU 0x17 UNDEFMODE EQU 0x1b MODEMASK E QU 0x1f NOINT EQU 0xc0 I_Bit * 0x80 F_Bit * 0x40 ; MMU寄存器定义。 CtrlMMU * 1 CtrlAlign * 2 CtrlCache * 4 CtrlWBuff * 8 CtrlBigEnd * 128 CtrlSystem * 256 CtrlROM * 512 TLB_L0_INIT * 0x0C02 ;AREA指示汇编器汇编一段新的代码,为保证下面的代码为起始代码,应在ARM连接器的layout选项中指明Startup.o(Init) (如图1-33所示),或用scatter格式的描述性文件说明。 AREA Init,CODE,READONLY ;IMPORT提供汇编器在当前汇编中未曾定义的符号名。 IMPORT __use_no_semihosting_swi IMPORT Enter_UNDEF IMPORT Enter_SWI IMPORT Enter_PABORT

多系统引导程序示例

多系统引导程序XORLDR应用示例 无忧论坛的Pauly大侠出品的多系统引导程序Xorldr,功能强大,可以使用多种启动方式,最多可管理8个启动项。Pauly本人也写了一个用户手册,详细介绍Xorldr程序的功能及用法,但限于篇幅没有具体讲解启动实例。本人在实际应用该程序的过程中积攒了一些心得经验,不敢独享,写下来供大家参考,以起到抛砖引玉的效果。 1.工具准备 在进行安装XORLDR之前,我们需要准备好以下工具软件: ●XORLDR多系统管理程序,Pauly大侠作品,目前最新版本是0.3.5 ● BOOTICE引导程序安装工具,亦为Pauly作品,最新版本是0.76 ● WinHex,强大的16进制文件编辑与磁盘编辑软件。 ● grub4dos、syslinux最新版,以及其它可能用到的工具,如本文中使用的9IN1_PXE_SRS合盘,我们要多次利用其中的工具。 2.磁盘分区及结构介绍 首先,我们使用Winhex来看一下磁盘上的分区及结构。 打开Winhex,按F9打开磁盘,如图1所示: (图1) 选择物理磁盘HD0,点击OK后可观察到磁盘(hd0)的分区情况,如图2所示。

(图2) 由图2可以看出我们这块磁盘的一些情况:容量为73.9G,分为四个分区,启始扇区(Start sectors)占用第0~62扇区;第一主分区占用第63~20996954扇区,10G空间;第二主分区占用第20996955~31503464扇区,共5G空间;第三主分区占用第31503465~94446134扇区,共30G空间;存在一个分区间隙占用第94446135~94446197扇区,共31.5KB空间;第四分区(逻辑分区)占用第94446198~154577429扇区,共28.7G空间;最后是一个分区剩余空间,占用第154577430~154587127扇区,共4.7MB空间。 实际分区根据自己的需要进行,不必局限于单主分区或者四主分区。一个比较理想的情况是三主分区加扩展分区,再设置若干逻辑分区,这样对于现在海量容量的硬盘来讲是比较合适的。 3.XORLDR菜单编辑示例 我们假定您已经做好了分区。以我这台老机器上分区为例:四个分区,第一、二主分区各安装一个winXP,并实现系统之间相互隐藏;第三主分区放置游戏及其它私密数据;第四分区(逻辑分区)放置我的9IN1_PXE_SRS维护工具合盘及系统备份等。根据实际需要,设计菜单项如图3所示。

Windows开机自动启动程序在哪里

Windows开机自动启动程序在哪里? 作者:魏永超整理文章来源:本站原创点击数:16759 更新时间:2005-6-30 上午11:48:13 Windows开机自动启动程序在哪里? 自动启动程序在哪里? 一、当前用户专有的启动文件夹 这是许多应用软件自动启动的常用位置,Windows自动启动放入该文件夹的所有快捷方式。用户启动文件夹一般在:Documents and Settings<用户名字>「开始」菜单程序启动,其中“<用户名字>”是当前登录的用户帐户名称。 二、对所有用户有效的启动文件夹 这是寻找自动启动程序的第二个重要位置,不管用户用什么身份登录系统,放入该文件夹的快捷方式总是自动启动——这是它与用户专有的启动文件夹的区别所在。该文件夹一般在:Documents and SettingsAll Users「开始」菜单程序启动。 三、从自动批处理文件中寻找 在Win 98中,Autoexec.bat和Winstart.bat文件中的程序在开机时自动执行;而在Win Me/2000/XP/2003中,这两个批处理文件默认不被执行。 四、从系统配置文件中寻找 在有些系统配置文件中也可以找到自启动程序的踪迹,如Config.sys、Win.ini、System.ini、Wininit.ini和Msdos.sys等。 五、通过“系统配置实用程序”寻找 在“开始→运行”中键入“msconfig.exe”启动“系统配置实用程序”,进入“启动”选项卡,即可查看随系统启动的程序名称和位置。

注意:Win 2000本身没有Msconfig程序,可以从Win XP/2003中提取。 六、从计划任务中寻找 在“控制面板”中双击“任务计划”就可以查看是否有计划任务随系统一起启动。 七、使用“系统信息”寻找 进入“系统信息”主界面,依次展开分支“软件环境→启动程序”,就可以在右窗格中查看自启动程序名称和位置。 八、使用“组策略”寻找 在Win 2000/XP/2003中,在“开始→运行”中键入“gpedit.msc”,打开“组策略”,依次展开“用户配置→管理模板→系统→登录/注销”,双击“在用户登录时运行这些程序”,单击“显示”按钮,即可查看自启动程序。 九、通过注册表寻找 在注册表中,可以从下列键值中查找自启动程序的名称和位置。 1、Load注册键 介绍该注册键的资料不多,实际上它也能够自动启动程序。位置: HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load值。 2、Userinit注册键 位置: HKEY_LOCAL_MACHINE\SOFTWARE\Microsof\tWindowsNT\CurrentVersion\Winlogon\Userinit。这里也能够使系统启动时自动初始化程序。通常该注册键下面有一个userinit.exe,如图,但这个键允许指定用逗号分隔的多个程序,例如“userinit.exe,OSA.exe”(不含引号)。 3、ExplorerRun注册键 和load、Userinit不同,ExplorerRun键在HKEY_CURRENT_USER和 HKEY_LOCAL_MACHINE下都有,具体位置是:

PC机启动引导过程程序设计概要

PC机启动引导过程程序设计 一、引论 PC机开机后,CPU被设定为执行FFFF:0单元处的指令,此处有一条跳转指令。CPU执行该指令后,转去执行BIOS中的硬件系统测试和初始化程序。 初始化程序将建立BIOS所支持的中断向量,即将BIOS提供的中断例程的入口地址登记在中断向量表中。 硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。 如果设为从软盘启动操作系统,则int 19h将主要完成以下工作: (1 控制0号软驱,读取软盘0道0面1扇区的内容到0:7C00 (2 将CS:IP指向0:7C00 软盘的0道0面1扇区中装有操作系统引导程序。int 19h将其装入到内存0:7C00处后,设置CPU从0:7C00开始执行此处的引导程序,操作系统被激活,控制计算机。 如果在0号软驱中没有软盘,或发生软盘I/O错误,则int 19h将主要完成以下工作: (1 读取硬盘C的0道0面1扇区的内容到0:7C00 (2 将CS:IP指向0:7C00 由以上描述可知,若我们想要控制引导过程,只需: (1 编写程序 (2 将该程序代码写入软盘或硬盘C的0道0面1扇区。

因为以上工作会破坏软盘或硬盘原有数据,因此本次实验,我们选择软盘存放我们自己的启动程序。 二、实验任务 本次实验的任务是编写一个可以自行启动计算机,不需要在现有操作系统环境中运行的程序。 该程序功能如下: (1 列出功能选项,让用户通过键盘进行选择,界面如下: 1、Reset PC ;重新启动计算机 2、Start System ;启动现有的操作系统 3、Clock ;进入时钟程序 4、Set Clock ;设置时间 (2 用户输入“1”后重新启动计算机。(提示:考虑FFFF:0单元 (3 用户输入“2”后引导现有的操作系统。(提示:考虑硬盘C的0道0面1扇区

相关文档
最新文档