mini2440之U-boot移植详细手册-20110908.pdf
mini2440之U-boot移植详细手册-20110908.pdf上海嵌入式家园-开发板商城贺工www.embedclub.com第6章 U-BOOT在MN440上的移植.…556.1建立开发板文件,测试编泽环境55611修改顶层 Makefile561.2在/b0ad中建smd2440日录和文件5661.3 include/ngs/中建立发板配量之件,.:·61.4测试编译环境566,2第一阶段:探索启动代码6.2.1关闭为A79200写的ED必转576.2.2修改CPU额率初始化设置586.2.3修改0weve/nit.S文件,…59624修改代码重定向部分606.2.5增加ED的点亮架作…6963第二阶段:修改初始化代码7063修改加am/b0ard,C文件…706.3.2修改bord/ embedclub/smdk2440/5mdk2440.c文件64第三阶段:完善目标板夕设驱动…76641 Nand flash相关代码的修改..7664.2添加s(2)像烧写功能…7964.3修改 Nor flash写入功能的代644修改网络相关代码9364.5添加口 Xmodem传物协议(可不修改)93646添加CD显小功能96647添加D卡MMC)读取功能10165第四阶段:修正配置文件11865.1添加 CONFIG S3C2440条件定义11865.2修改量之 include/ configs/smdk2440a,h66重新编译并测试第7章UBO0T下添加自定义的命令13471MAN_LooP()与 ABORTBOOT(两数分析1347.11 main loop()的数分析:1357.1.2 abortboot/两数分析tinnddnd4灬13572U-BoOT卜添加主菜单界面命令MENU137第8章 U-BOOT下通过DNW实现 USB SLAVE下载功能4.81添加 USB SLAVE下载功能.…14382使用 WINDOWS下DNW测试 USB SLAVE下载功能14983在LNx下安装DNW实现 USB SLAVE下载功能151831 Linux下DNW源码下我1518.32编详DNW驱动和程序15183.3挂教 secbulk ko内孩模块.1518.34使iux下DNW完成下我…151第9章UBoD0T下载的源代码链接…上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com第章的概念与功能嵌入式 Linux软件结构与分布一般情况下嵌入式系统中的软件主要分为以下几部分:引导加载程序:其中包括内部中的固化启动代码和两部分。内部固化是厂家在芯片生产时候固化的,作用基本上是引导有的芯片比较复杂,比如在屮没有代码的时候有许多启动方式或以太网等等。而则很简单,只有和和文件系统。包括根文件系统和建立于内存设备之上的文件系统(等等)。它是提供管理系统的各种配置文件以及系统执行川户应用程序的良好运行环境及载体。应用程序。用户自定义的应用程序,存放于文件系统之中。在存储器中,他们的分布一般如:根文件系统其他文件系统参数区被挂载到根文件系统或者作为但是以上只是大部分情况下的分布,也有一些可能根文件系统是,被一起压缩到了内核映像甲,或老没有参数区,等等在嵌入式 Linux中 Bootloader的必要性内核的启动除了内核怏像必须在主存的适当位置,还必须具备一定的条件:R0=01.CPU寄存器的设置:R1= Machine id(即 Machine type number,定义在inux/arch/ arm/tools/ mach typesR2=内核启动参数在RM中起始基地址;2.CPU模式:必须禁止中断(IRQs和FIQs);CPU必须SVC模式M必须关闭3. Cache和MMU的设置:指令 Cache可以打开也可以关闭:数据 Cache必须关闭;上海嵌入式家园一开牧椒商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com但是在刚上电启动的时候,一般连内存掉制器都没有初始化过,根本无法在主存中运行程序,更不可能处在内核启动环境中。为了初始化及其他外设,使得内核可以在系统主存中运行,并让系统符合内核启动的必备条件,必须要一个先于内核运行的程序,他就是所谓的引导加载程序(而并不是才需要,而是几乎所有运行操作系统的设备都需要。我们的的就是的一部分(只是前期引导,后面一般还有外中的各种),对于来说,的功能和选择综上:所述是在操作系统内核启动之前运行的一段小程序。通过这段程序我们可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好止确的环境,最后从别处(、以太网、)载入内核映像到主存并跳到入口地址。由于需要直接操作硬件,所以它严重依赖于硬件,而且依据所引导的操作系统的不同,也有不同的选择。对于嵌入式世界中更是如此。就而言,如果是引导般选用韩国的公司设计的或者软件工程中心的,如果是引导,就选用。如果是开发构架下的,就可选用由和发布的。如果是要引导系统,可以选用同是公司开发的所以在嵌入式世界中建立一个通用的几乎是不可能的,而可能的是让一个代码支持多种不同的构架和操作系统,并让她有很好的可移植性。就是攴持多平台多操作系统的一个杰出代表。这也是的优势所在,因为如果在开发时熟悉了,再转到别的平台的时候,就可以很快地完成这个平台下的移植。而且的代码结构越来越合理,对于新功能的添加也十分容易次推荐阅读:嵌入式系统技术内幕上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com第章简介U-boot的起源是的简称,其含义是,是遵循条款的开放源码项目。最早德国软件工程中心的基于和的源码创建了工程项目,此后不断添加处理器的支持。而后,移植到平台上,创建了工程项日。最终,以工程和工程为基础,创建了工程年月日第一个版木发布,同时和停止维护而今作为一个主流、通用的,成功地被移植到包括等主流休系结构上的百种开发板,成为功能最多、灵活性最强,并且开发最积极的廾涼日前仍然由维护U-boot的开发情况和资源最早的版本号是由来表示的,从直发展到。之后便开始使用年份加月份的表示方法,从到现在的平均每个多月出一个新版本。每次代码的结构和定义都会有一些修和改进,其代码越来越规整,功能越来越强,但是移植的难度反而越来越小,需要修改的地方越来越少不仅有主线版本,在的代码仓库中还有各个构架的分支版本些分支会在一定的时候将修改汇入主线。下面总结一下关丁源代码的网络资源官方链接德国软件工程屮心主页官方主页注意其中的邮件列表链接官方源码下载官方代码仓库针对的修改于机的源码上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com的源码(针对源码(针对上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com第章开发环境搭建交叉编译工具链的安装编译公A的时候,必须使用交叉编译工具链。你可以使用友善之臂提供的交叉编译工具(版本),也可以使用或自己编译一个。至于如何用工具自己编译交叉编译工具链,请看的博客的相关文章:用建立—交叉编译环境建立交叉编译环境(以()为例)在编译好交叉编译工具链后,要在环境变量的中添加编译工具的路径(也就是所在的路径),这样在编译时系统才找得到编译器的命令。在下的修改方法如下:在最后加上:交叉编译工具的路径网路服务的设置在使用的时候常常会用到宿主机的和这两种网络服务,所以最好在开发前设置好。下面以下使用安装为例,简单介绍一下安装配置过程:安装配置服务安装酣置服务的大致步骤如下:()安装和程序()修改配置文件()根据配置文件的跻径,建立日录,并修改日录权限;()重启服务()本地传输测试。以下是一个安装和配置主要步骤的脚本,大家参考:你想要的目录路径上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com你想要的日录路径建立目录,并修改目录权限:重启安装配置服务安装配置服务的大致步骤如下:()安装内核服务;()重新配置服务,修改和配置文件,重启服务()修改服务的配置文件添加服务∏录和配置,重新导入配置()重启服务,并检查可挂载的日录()在本地挂载测试以下是一个安装和配置主要步骤的脚本,大家参考:上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/上海嵌入式家园-开发板商城贺工www.embedclub.com对选特别要注意上面的的形式,以前是形如,现在是掩码为数的形式。用旧的格式可能会出问题具体的说明建议看册:串口终端程序的安装配置在使用的时候,必然会用到串口与开发板进行通信,所以串口终端程序必不可少。下面简单介绍下常用的牛凵终端:和的安装配置(以下使川安装为例)。的安装配置(推荐安装)在下是通过串口传输文件到开发板,就属比较好用上海嵌入式宗回-歇板商城嵌入式家园阙扯:ww.embedclub.com淘宝城网址http://embedclub,taobaocom/
- 2020-12-08下载
- 积分:1
《Zemax激光光学设计实例应用——自学案例汇编》之<Zemax光纤输出光斑整形光源的选择问题(非序列模式)>
简介:这份材料是作者自学Zemax光学设计及在实践中应用的案例汇编,提供初学者使用软件作光学系统设计练习,整个过程需要Zemax光学系统设计软件。使用的软件版本为比较常见的2005或2009。因两个版本在某些菜单列表和窗口形式上的些许差异,读者需自行对比测试。最开始的一些例子是基于目前比较常见的教材和习作而进行的细化论述,以丰富本文内容同时对初学者入门更有帮助。作者才疏学浅,不保证该文本的科学性和有效性,其主要作用在于帮助自己对知识进行积累、回顾和追溯。文中会对各个实例的关键位置进行尽量详细的叙述,以达到尽可能全面地掌握知识的目的。本文基于理论与实践的结合,不仅描述如何设计一套光学系统,并且讨Zemax激光光学设计实例应用—自学案例汇编FN∏A TWUZ图18-43D光路结构图(混合序列模式)为了减少麻烦,用不着重新在非序列模式中编辑所有组件;我们可以将上述例子直接转换到非序列模式下。步骤为,主菜单 Tools→ MIsce1 aneous→ Convert to NsC Group,在弹出的对话框中,选择要转换的序列范围,比如,这里是从 Surface2到 Surface13,同时注意勾选 Convert file to non- sequenti al mode,确定后即可转换为非序列模式,透镜元件都在。不过,你会发现,原来已有的非序列组件不能转换过来,自动消失了。不过没关系,重新编辑缺失的组件即可。如图18-5所示,添加一个圆柱体(光纤)组件,再添加若干个探测器(方便自己观察的位置即可)BI Non-Sequential Component EditorEdit Solves Errors Detectors Database Tools ViEW Helpobject Typecomment2P351t1hMaterial Front FZ LengthBack rinder volume.050standard I erF1510.70N-5F64R.00冂.000.250standard LerF1511.820N一LAKs.50n6250Toroid a Lers surfaces00Q2.530standard Lerssurfaces45,440D.00Qtandard Lers surfaces4,3200。000standard Lers surfaces47.3z0BA/.0005,350Detector民ect116.000Detector Fect5.200200图18-5非序列光学组件列表接下米,我们米重点说一说光源的选择问题。因为光源的选择会明显影响仿真的实际效果。这里,我们需要个发散型的光源,发散角基本要和光纤的数值孔径相同,光源放在光纤前端——入射端。非序列光源组件有多种类型叫选,包括椭圆形光源 Source e1 lipse半导体光源 Source diode等等。这些可改置发散角的光源是否都满足要求呢,我们要看《 Matlab辅助激光光学分析与应用》作者出品Zemax激光光学设计实例应用—自学案例汇编看这些光源通过光纤组件之后输出一段距离光线的分布情况和聚焦的情况。我们首先选择椭圆形光源 Source e11ipse作为输入光源,放在光纤输入端。表面上看,椭圆形光源 Source e11ipse是一个面光源,可以分别设置两个半轴长度,但实际也是无穷远点光源。要设置光源的发散角,则需要改变发光源的位置,从无穷远改为有限距离。obiectcomment z Position Material*LayoutSourcepie50.020500000Power (wat.. wavenumber color# x Half wi.. Y Half wi.source Di..1.0000.0200.0200.100图18-6椭圆光源参数设置如图18-6所示设置光源参数,类型 object Type选择 Source e11ipse,位置zPoSItion设为-50.02,绘图光线数目 Layout rays设为50,分析光线数目 AnalysisRayS改为500000,半轴长度(相当于光阑) X Half width、 Y Half width均设为0.02(小于光纤半径),光源距离 Source distance设为0.1,其他参数默认即可。如此设置,光源距离和光阑尺寸的配合,恰好获得数值孔径NA为0.2的光源。然后在光纤输岀端、距离光纤端面0.5mm的位置放置一个探测器,检测输出光线分布情况,探测器像素500,尺寸要比预测光斑尺寸略大一些(一般2倍即可)设置完华,打开3D光路结构图,如图18-7所示。可见与图18-4所示的混合序列模式没有明显区别,除了绘图光线均匀性的区别,非序列模式中绘图光线为随机分布方式,而序列模式中绘图光线为均匀分布方式将图像局部放大,观察光纤输入端和输出端,注意光线是否有溢出或者发散角与设想的是否一致等等,分别如图18-8和18-9所示。因为,笔者实测发现一个问题,减小光纤直径,到一定程度之后,就会影响输出端的光线数值孔径,似乎一部分发散角大的光线被消去,输出的光线数值孔径变小了。但是,这时如果将光纤长度缩短到一定程度后,输出光线的数值孔径又能恢复正常。这个问题具体是由什么原理、原因造成的,口前还不知道。也就是说,用这个圆柱体cy1 inder yo lume来模拟光纤,需要注意育径-长度比例,否则丢失信息,读者注意。《 Matlab辅助激光光学分析与应用》作者出品Zemax激光光学设计实例应用—自学案例汇编图18-73D光路结构图(非序列模式图18-83D光路结构图-光纤前端(非序列模式)《 Matlab辅助激光光学分析与应用》作者出品Zemax激光光学设计实例应用—自学案例汇编图18-93D光路结构图-光纤出端(非序列模式)接着,打开探测器观察窗口,再打开光线追迹控制器,追迹所有探测器光线。这里,我们放置了两个探测器,分别在光线输出端口和光线聚焦位置。先看光纤输出端的光线分布,如图18-10所示为相干模式下,光纤输出端附近的光斑形状及光线密度分布情况,从图上看,分布不是很均匀,但大体还是可以看出光斑整体轮廓效果:;再切换到非相干模式下,如图18-11所示,我们看到这时光线分布严重不均匀,甚至光斑轮廓都看不到了,这显然已经和实际经验相去甚远了。133,S1l5宁,四了了4:1F315宁,H4,529,总92H,3屮DETEC T0R工MRGE: COHEEENT工RRFD工FNCED: YHG旺 AM BELTVERT SIST日正,屮日國翼的,题 H NILLLHETERXELS 500WX 591 H. TOTAL HITS =499993FHc:1,用92《 Matlab辅助激光光学分析与应用》作者出品Zemax激光光学设计实例应用—自学案例汇编图18-10探测器光线分析-光线输出端(相干模式)291625222三51292H1DETECTOR工HGE: INCOHERENT RR工HNE正囚,"HM工ET防.PIEs5EW5〗H.卫THT=曾們EF工RRR工RNCE40TE+004 HATTSCH 2TOTHL POWERi 9 9998E-00L HTT5图18-11探测器光线分析-光线输出端(非相干模式)121,5L,2272,55四DETE匚TDR工NRGE: COHERENT工 =EDLNCEND: HG BERM ELTWERY STSTEMTUE MAY正 ETECTOR 9. NSCG SLRFRCE正EW2@H山工TE,FE§5W5H,TfHT=2PEF TRRAOTFNCE i 12785E+00L ATTSCH"?OTAL POWER2.5占5E-2 MATTS图18-12探测器光线分析-聚焦光斑(相干模式)《 Matlab辅助激光光学分析与应用》作者出品Zemax激光光学设计实例应用—自学案例汇编r94:15屮714,72535,32555,123827E58 8317ETEGTUE工MRGE: INCOHEENT RRH工RNCELD: YAG BERM DELIVERY SYSTE1RCE 1SLZE 4I LX 21DE5 H MILLLHE TER PLNELS 59 5X 505 H. OTAL HTs =197978CE::60:m2TOTHL FILER图18-13探测器光线分析-聚焦光斑(非相干模式)再看另外一个探测器,光线经过透镜光学系统整形聚焦后的光斑形状和光线分布情况,相干模式和非相干模式分别如图18-12和18-13所示。同样,相干模式虽然分布也不均匀但基本还能看出光斑轮廓为以椭圆光斑;而非相干模式下,光线分别很不均匀,看上去光斑形状也不是椭圆形,而是一个变形了的菱形。于是,笔者怀疑光源的选择和设置可能不人合理。可能是由于光源本质还是一个点光源,即使通过光纤(圆柱体)后光线也没能有效匀化所致。那么,换一个光源类型,比如半导体光源 Source diode会不会更好一些。如图18-14所示,光源类型选择 Source diode,位置 z Postion设为-50.02,绘图光线数目Layout rays设为50,分析光线数目 Analysis Rays设为500000,发散角X- Di vergence、Y- DI vergence均设为12(匹配光纤数值孔径),其他参数默认即可。如此设置,获得的数值孔径NA差不多也为0.2的光源ε然后同样在光纤输出端、距离光纤端面0.5mm的位置放置一个探测器,检测输岀光线分布情况,探测器像素500,尺寸要比预测光斑尺寸略大一些(一般2倍即可)。更新3D光路结构图,放大观察光纤入射端和输出端的光线情况,分别如图18-15和18-16所示,可见都还比较正常,没有溢出光线,输出发散角也比较合理。《 Matlab辅助激光光学分析与应用》作者出品Zemax激光光学设计实例应用—自学案例汇编object TypeComment Position Material+ I ayout.*Analysi.Source diode0,U∠0object Type Astigmatismx-Diver ge.X-superGa.Y-Diverge.Y-superGasource D1 odel0.0D012.000.0112.0000.01图18-14导体光源参数设置图18-153D光路结构图-光纤前端图18-163D光路结构图-光纤输出端《 Matlab辅助激光光学分析与应用》作者出品Zemax激光光学设计实例应用—自学案例汇编311,忌HL428,总5732屮9,"F31之18,28187,1H6」5s.92712,3白占2,3日318H1JE TEG TOR工MRGE:Cu仨RENT工 CERO LHNGELD: YAG BERM DELIVERY SYSTE1灯T职R1, NSCE RFACE L江正区W翼四,HM工能防,PXL5E的日H.ILHT=8工RRRL工FNCE:3,1L8HE+2H^2TOTHL PERB,5551E-图18-17探测器光线分析-光线输出端(相干模式)H⑦13屮131忌3L7s叫sDETECTOR工MRGE:工 COHEZET工RRR囗工FCEHG BERM DELIVERY SYSTE正 TECTOR10. NSCG EURFACE LX,啦H工能TE,PX555H而HT=第83工 H:z:22SrCH+图18-18探测器光线分析-光线输出端(非相干模式)《 Matlab辅助激光光学分析与应用》作者出品
- 2020-12-06下载
- 积分:1