本文介绍了嵌入式操作系统引导程序-Bootloader 的概念和作用。以加载Linux 操作系统内核为例,重点阐述了Bootloader 运行过程的具体步骤及其实现方法。关键词:Boo
上传时间: 2013-05-26
上传用户:feichengweoayauya
本论文以开发基于ARM核的USB2.0-AHB接口IP此项目为依托,致力于在Windows XP操作系统上使用DDK(Driver Development Kit)设计和开发一个基于WDM的主机端驱动程序。开发该驱动程序的目的是为了对该IP进行FPGA测试以及配合设备端驱动程序的开发,该驱动程序能够完成即插即用功能,块传输,同步传输,控制传输以及对Flash的操作五项主要功能。 论文首先介绍了基于WDM的USB驱动程序设计原理,其中包括了从结构到通信流对USB主机系统的介绍,编写WDM驱动程序的基础理论(主要介绍了数个相关的重要概念、驱动程序的基本组成),以及在开发对Flash操作的例程会使用到的Mass Storage类协议的简要介绍。在介绍设计原理后,论文从总体的系统应用环境和结构蓟数据传输、内部模块以及软硬件体系结构几个方面简要描述了该IP的系统设计。接着论文通过分析主机端驱动程序功能需求,提出了驱动程序的总体构架以及分步式的设计流程,具体步骤是先实现驱动程序的正常加载以及基本PnP功能,然后实现块传输、同步传输以及控制传输,最后完成对Flash操作例程的设计。随后论文详细阐述了对上述五项主要功能模块的设计;其中对Flash操作例程的设计是难点,作者通过分析Bulk-Only协议和UFI命令规范,提出程序的详细设计方案。论文最后简要介绍了调试驱动程序的方法,以及驱动程序的测试内容、部分测试结果以及测试结论。 本论文研究对象为基于ARM核的USB2.0-AHB接口IP主机端驱动程序,因为其研究主体是一个基于WDM的主机端驱动程序,因此有其普遍性;但是它以开发基于ARM核的USB2.0-AHB接口IP这个项目为依托,其目的是为项目服务,因此它有其特殊性。它是一项既有普遍性又有特殊性的研究。
上传时间: 2013-05-19
上传用户:2007yqing
关于PCB封装的资料收集整理. 大的来说,元件有插装和贴装.零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置。是纯粹的空间概念.因此不同的元件可共用同一零件封装,同种元件也可有不同的零件封装。像电阻,有传统的针插式,这种元件体积较大,电路板必须钻孔才能安置元件,完成钻孔后,插入元件,再过锡炉或喷锡(也可手焊),成本较高,较新的设计都是采用体积小的表面贴片式元件(SMD)这种元件不必钻孔,用钢膜将半熔状锡膏倒入电路板,再把SMD 元件放上,即可焊接在电路板上了。晶体管是我们常用的的元件之一,在DEVICE。LIB库中,简简单单的只有NPN与PNP之分,但实际上,如果它是NPN的2N3055那它有可能是铁壳子的TO—3,如果它是NPN的2N3054,则有可能是铁壳的TO-66或TO-5,而学用的CS9013,有TO-92A,TO-92B,还有TO-5,TO-46,TO-52等等,千变万化。还有一个就是电阻,在DEVICE 库中,它也是简单地把它们称为RES1 和RES2,不管它是100Ω 还是470KΩ都一样,对电路板而言,它与欧姆数根本不相关,完全是按该电阻的功率数来决定的我们选用的1/4W 和甚至1/2W 的电阻,都可以用AXIAL0.3 元件封装,而功率数大一点的话,可用AXIAL0.4,AXIAL0.5等等。现将常用的元件封装整理如下:电阻类及无极性双端元件:AXIAL0.3-AXIAL1.0无极性电容:RAD0.1-RAD0.4有极性电容:RB.2/.4-RB.5/1.0二极管:DIODE0.4及DIODE0.7石英晶体振荡器:XTAL1晶体管、FET、UJT:TO-xxx(TO-3,TO-5)可变电阻(POT1、POT2):VR1-VR5这些常用的元件封装,大家最好能把它背下来,这些元件封装,大家可以把它拆分成两部分来记如电阻AXIAL0.3 可拆成AXIAL 和0.3,AXIAL 翻译成中文就是轴状的,0.3 则是该电阻在印刷电路板上的焊盘间的距离也就是300mil(因为在电机领域里,是以英制单位为主的。同样的,对于无极性的电容,RAD0.1-RAD0.4也是一样;对有极性的电容如电解电容,其封装为RB.2/.4,RB.3/.6 等,其中“.2”为焊盘间距,“.4”为电容圆筒的外径。对于晶体管,那就直接看它的外形及功率,大功率的晶体管,就用TO—3,中功率的晶体管,如果是扁平的,就用TO-220,如果是金属壳的,就用TO-66,小功率的晶体管,就用TO-5,TO-46,TO-92A等都可以,反正它的管脚也长,弯一下也可以。对于常用的集成IC电路,有DIPxx,就是双列直插的元件封装,DIP8就是双排,每排有4个引脚,两排间距离是300mil,焊盘间的距离是100mil。SIPxx 就是单排的封装。等等。值得我们注意的是晶体管与可变电阻,它们的包装才是最令人头痛的,同样的包装,其管脚可不一定一样。例如,对于TO-92B之类的包装,通常是1 脚为E(发射极),而2 脚有可能是B 极(基极),也可能是C(集电极);同样的,3脚有可能是C,也有可能是B,具体是那个,只有拿到了元件才能确定。因此,电路软件不敢硬性定义焊盘名称(管脚名称),同样的,场效应管,MOS 管也可以用跟晶体管一样的封装,它可以通用于三个引脚的元件。Q1-B,在PCB 里,加载这种网络表的时候,就会找不到节点(对不上)。在可变电阻
上传时间: 2013-11-03
上传用户:daguogai
引导程序的开发是系统芯片设计的重要组成部分。针对基于8051核的某控制系统芯片的具体要求,提出了一种系统芯片引导程序的设计策略。该策略思路是:当系统上电复位后,开始执行固化在系统芯片中的引导程序,并加载存储于片外串行接口Flash的用户程序到片内SRAM中;加载完成后,程序无条件跳到SRAM中执行用户程序。在分析该系统芯片组成的基础上,重点阐述了引导程序开发面临的问题、解决的思路、引导程序的具体实现及开发编译环境的配置。该方案对其它系统芯片引导程序的设计具有一定的参考价值。
上传时间: 2013-11-23
上传用户:zhtzht
微机原理与汇编语言程序设计课件为PPT文件,内容有:第1章 基础知识 4第2章 微型计算机系统结构 6第3章 程序加载并执行 4第4章 微处理器一般指令 6第5章 汇编语言程序设计基础 4第6章 算术运算与逻辑运算 8第7章 基本输入与输出 4第8章 程序流程控制 10第9章 字符串处理 6第10章 宏 4第11章 过程 4第12章 文件处理 4第13章 模块化程序设计 4
上传时间: 2013-10-28
上传用户:yanming8525826
CH451 使用一个系统时钟信号来同步芯片内部的各个功能部件,例如,当系统时钟信号的频率变高时,显示驱动刷新将变快、按键响应时间将变短、上电复位信号的宽度将变窄、看门狗周期也将变短。一般情况下,CH451 的系统时钟信号是由内置的阻容振荡提供的,这样就不再需要任何外围电路,但内置RC 振荡的频率受电源电压的影响较大,当电源电压降低时,系统时钟信号的频率也随之降低。在某些实际应用中,可能希望CH451 提供更长或者更短的显示刷新周期、按键响应时间等,这时就需要调节系统时钟信号的频率。CH451 提供了CLK 引脚,用于外接阻容振荡。当在CLK 引脚与地GND 之间跨接电容后,系统时钟信号的频率将变低;当在CLK 引脚与正电源VCC 之间跨接电阻后,系统时钟信号的频率将变高。因为CH451 的系统时钟信号被用于芯片内部的所有功能部件,所以其频率不宜进行大幅度的调节,一般情况下,跨接电容的容量在5pF 至100pF 之间,跨接电阻的阻值在20KΩ至500KΩ之间。跨接一个47pF 的电容则频率降低为一半,跨接一个47KΩ的电阻则频率升高为两倍。另外,CH451 的CLK 引脚可以直接输入外部的系统时钟信号,但外部电路的驱动能力不能小于±2mA。CH451 在CLKO 引脚提供了系统时钟信号的二分频输出,对于一些不要求精确定时的实际应用,可以由CLKO 引脚向单片机提供时钟信号,简化外围电路。 单片机接口程序下面提供了U1(MCS-51 单片机)与U2(CH451)的接口程序,供参考。;**********************;需要主程序定义的参数CH451_DCLK BIT P1.7 ;串行数据时钟,上升沿激活CH451_DIN BIT P1.6 ;串行数据输出,接CH451 的数据输入CH451_LOAD BIT P1.5 ;串行命令加载,上升沿激活CH451_DOUT BIT P3.2 ;INT0,键盘中断和键值数据输入,接CH451 的数据输出CH451_KEY DATA 7FH ;存放键盘中断中读取的键值
上传时间: 2013-11-22
上传用户:671145514
PE可执行文件的镶入式程序的编写方法及示例(镶入式后门程序&原程序) 由于Microsoft公司的Windows系统是当前大部分个人电脑所使用的操作系统 主要包括win95,98,me,nt4,2000,xp等,而这些系统所使用的可执行文件的格式基 本上是PE结构的。这里的可执行文件的镶入式程序就是针对PE结构的可执行文件。 这里先简单说一下PE文件框架结构: DOS MZ header DOS stub//在不支持 PE文件格式的操作系统中它将简单显示一个错误提示 PE header//含了许多PE装载器用到的重要信息 Section table//每个Section的信息 Section 1 Section 2 Section 3.... 由于SectionAlignment 块对齐的原因每个Section之间都会产生很多空间, 镶入式程序的代码可以放在Section之间的空位上,比较方便的方法是把代码放在 最后一个Section的末尾,然后更改Misc.VirtualSize和SizeOfRawData这两个位 于Section table的IMAGE_SECTION_HEADER结构数组的成员。如果代码十分的长, 有时候会造成镶入的代码无法被完全加载而产生错误,这时需要更改SizeOfImage 在IMAGE_NT_HEADERS 结构中。 在不同的WINDOWS版本中api调用地址也有不同,为了解决这个问题可以更改引 入表让加载器
上传时间: 2015-01-13
上传用户:luopoguixiong
基于TI DSP TMS320C67XX实现的嵌入式系统FLASH引导的实现。程序控制一片FLASH 芯片,将程序固化到FLASH中,完成DSP芯片的程序上电加载。
上传时间: 2015-04-18
上传用户:baiom
这是一个Keil MCB2148开发板上针对LPC2148的HID项目程序,它示范了如果实现USB HID: - 8个LED - INT1按钮 该设备将被Windows识别并加载为普通的HID 设备。LED和按钮将和PC端HID用户软件进行交互。
上传时间: 2013-12-27
上传用户:cazjing
这是一个在VC下开发WDM驱动程序的小工具,可以实现动态加载和卸载驱动程序而不用编写INF文件,很适合初学者。
上传时间: 2014-01-13
上传用户:CHINA526