六嵌入式系统初始化与操作系统的移植_第1页
六嵌入式系统初始化与操作系统的移植_第2页
六嵌入式系统初始化与操作系统的移植_第3页
六嵌入式系统初始化与操作系统的移植_第4页
六嵌入式系统初始化与操作系统的移植_第5页
已阅读5页,还剩152页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统设计与实例开发——基于32位微处理器与实时操作系统第六讲系统初始化分析与C/OS-Ⅱ移植华北电力大学控制与计算机工程学院李东江副教授本节提要12嵌入式系统的初始化(软件)系统硬件接口与初始化3C/OS-Ⅱ的移植硬件启动流程异常处理读存储器工作模式电源接口设计ARMSOC有多组电源:Corelogic、PLLlogic、I/OPad、Controller每组电源一般是相互独立的电源系统设计外围3.3V:使用LM1085内核1.8V:使用AS1117时钟电路模式一:石英晶体振荡器模式二:外部振荡器时钟电路设计32.768KHz晶体22pF电容,以帮助晶体起震锁相环是指一种电路或者模块,它用于在通信的接收机中,其作用是对接收到的信号进行处理,并从其中提取某个时钟的相位信息。或者说,对于接收到的信号,仿制一个时钟信号,使得这两个信号从某种角度来看是同步的(或者说,相干的)。锁相环的三个组成部分和相应的运作机理是:鉴相器:用于判断锁相器所输出的时钟信号和接收信号中的时钟的相差的幅度;可调相/调频的时钟发生器器:用于根据鉴相器所输出的信号来适当的调节锁相器内部的时钟输出信号的频率或者相位,使得锁相器完成上述的固定相差功能;环路滤波器:用于对鉴相器的输出信号进行滤波和平滑,大多数情形下是一个低通滤波器,用于滤除由于数据的变化和其他不稳定因素对整个模块的影响。

┌─────┐┌─────┐┌───────┐

→─┤鉴相器├─→─┤环路滤波器├─→─┤受控时钟发生器├→┬─→

└──┬──┘└─────┘└───────┘│

↑↓

└──────────────────────────┘关于锁相环(PLL,PhaseLockingLoop)ARM的PLLPLL的功能控制ARMCPU的速度;为SDRAM提供同步电源系统复位说明:nReset为低时,系统开始必要的初始化设置,在低位要保证足够长的时间,否则有些状态没有初始化,系统工作会不正常;nReset为高时,系统开始执行指令。设置存储器工作模式设置存储器总线宽度(MemoryBusWidth):8,16,32设置存储器工作模式(MemoryType):BigEndianLittleEndian存储器类型(异步)Asynchronous:ROM、EPROM、Flashmemory由nCE(ChipEnable)、nOE(Read)、nWE(Write)、Databus和Addressbus组成,寻址空间是由地址总线的宽度决定的。读写总线的时序图稳态ReadWrite稳态读数据的时序图写数右据的醉时序储图存储奏器类缠型(所同步耍)Sy鸡nc简hr音on躺ou稍s:DR忧AM地址唱分为惯行地把址RA零s和列免地址CA蒸S,每隔胞一段虹时间膏需要尿刷新含一次(R玻ef帐re呈sh孙),否沸则内奇部数毙据会妇丢失AR趣MDR梨AMnC做EA0役~A拳nBA喷0、BA槽1D0兵~D元nnR健ASnC磨ASCL临OC样KCK唐EnW济EDQ薄MDR雄AM的控弊制DR扒AM的读出取步技骤:(1)通英过地逢址总匹线将篇行地赔址传固输到樱地址朴脚;(2)nR忘AS使能率,行左地址镇被传管送到持行地贴址选乏通线虾路中倾;此侮时nW息E脚确唐定不降被使重能,屋故DR鸦AM不会放进行扫写入辰操作奴;(3)通筐过地称址总院线将话列地女址传缠输到棒地址杯脚;(4)nC网AS脚被京使能挨,列水地址垫被传界送到晴列地萄址选武通线泄路中茂,nC煎AS脚同腥时有nO遥E的功偶能,密此时D0钢~D号n知道档可以献向外易输出棕数据启;DR馆AM的读絮取步怨骤:(1)通党过地卷址总啊线将冒行地摆址传据输到曲地址营脚;(2)nR光AS使能桐,行象地址丸被传劈燕送到粱行地届址选扛通线啊路中湾;此伍时nW命E脚被晒使能伍为低求电位当,故DR胆AM进入豆写操竭作;(3)通补过地孤址总螺线将酒列地投址传烛输到斗地址招脚;(4)nC壁AS脚被融使能皆,列受地址收被传程送到莲列地累址选品通线更路中请,此醉时D0展~D惊n知道昌可以阻向内要输入而数据份;DR吊AM的控脸制的分问题1.延迟罢问题猾:连续苦的DR昆AM读取均操作样之间失的延唤迟,舍预充竹电延崇迟(Pr萝e-递ch昆ar旧ge比t妖im讯e)nR彩AS转变吵成nC勉AS所需劲要的细延迟2.脆DR嫩AM的刷摧新问穴题DR堂AM只能测在短铲时间立内保炉持内跃容存束储器素的电精荷,问所以见必须犬在内橡部电运荷消读失之庭前进榜行刷喊新;由于蚊每次驾读写墓都能骗刷新DR视AM中的忽内容裕,所样在可惠能采歉用DR暖AM控制棚器控哑制刷戒新;AR龙M的系馅统结亮构系统召总线AR贪M的存防储器睬设置洞示例AR雪M的存学储器宾控制俊表AR供M存储已器接雅口AR输M9连20诉T内核汗结构S3唯C2拆41哪0的内暑部结涂构24吧10的存舞储器玩系统—可通熊过软技件选高择大稠小端—地址苏空间:每个Ba懒nk贱1屠28搬Mb动yt批es伤(总共1G套B)—共8个ba碧nk绢s6个Ba文nk用于谁控制RO质M,默S仆RA游M,疑e观tc密.剩余猪的两怜个Ba刊nk用于虚控制RO暖M,卧S我RA访M,严S截DR洁AM孩,芒et荡c彼.—除ba狱nk赵0邀(1弯6/香32青-b谈it闯)外,检所有杨的Ba劝nk都可上以通汁过编斑程选屿择总老线宽辨度=虏(8筒/1远6/促32渐-b论it轧)—陈7个Ba驰nk固定母起始酸地址区;—最后堂一个Ba哄nk可调繁整起喷始地言址;—最后载两个Ba板nk大小何可编际程—所有Ba宜nk存储摘周期海可编汇程控却制;S3围C2额41它0的存贱储器羊配置实验闷平台哄的体仔系结苦构本节兔提要12嵌入脸式系灯统的拖初始课化(邮软件矛)系统效硬件郑接口此与初招始化3C爪/O移S-列Ⅱ的移卖植初始绳化程效序的炸下载晒执行目标垦机宿主霞机1)通超过编伞程器絮将可富执行森目标迟文件白烧写嘴到Bo除ot纠RO耻M(RO旨M、EP欺RO晕M、FL沟AS坡H)等婶;2)通维过串霜行口坝和网召口下许载执杠行目剂标文播件,霜要求垃宿主修机系区统上宰有数案据传让输工供具程牙序、冰目标衬机装葬载器鲜、嵌鸟入式言监视婶器或纳目标痒机系浴统上着的调匆试代耐理。3)通养过JT盲AG或BD惹M接口外下载私;嵌入艰式系鸡统的刘初始呢化过梁程嵌入眠式系爹统的况初始触化过察程硬件君初始担化阶蜻段1、复堤位向撑量EN僵TR躺Yb皆Re肯se秩tH铸an精dl手er殿;f先or传d讯eb雀ugb磁Ha座nd笋le扭rU画nd扭ef雹;h羞an泻dl泪er瘦Un锅de摆fb缠Ha库nd估le留rS另WI福;S席WI诊i菠nt扯er籍ru权pt博h礼an盖dl袖erb吨Ha位nd产le宰rP还ab柱or鸣t坟;h错an钻dl距er滤PA辫bo炉rtb煌Ha康nd浑le介rD殃ab辨or花t王;h古an称dl练er用DA滩bo输rtb柱.罚;枯ha桨nd耐le靠rR撇es食er勒ve跪db灶Ha腿nd灭le刚rI悠RQb欣Ha撤nd辉le容rF浊IQ嵌入吓式系避统的棋初始颜化过吹程(2)硬件课初始虽化阶换段2、最隶小硬夹件初慕始化1)设望置适稿当的劳寄存趣器,掏使嵌晌入式起处理唐器处矛于一灭个已钥知的舒状态熄:获得CP江U的类迷型;获得恳或设爪置CP渴U的时迎钟频状率。2)禁君止中支断和永高速痰缓存3)初垂始化猪内存及控制扎器、丹内存撑芯片芽和高冷速缓劲存单壮元,盏包括阔:得到查内存悄的开彼始地锯址;得到截内存哑的大补小;如果月有要届求,愉则还古需要汪进行便主存亭测试邪;嵌入寺式系册统的灭初始吩化过贴程(3)硬件浓初始释化阶锻段3、其弊余硬深件初超始化1)引炒导代醋码调拼用合半适的仁函数捆对目吉标机疗系统绵上的嘱全部辆硬件亮部件朋进行担初始湾化,确包括订:建立羽执行峡处理肆程序初始刑化中暑断处脚理程有序初始游化总目线接叮口初始译化板绒级外垦设得导到内琴存的看开始境地址忙;嵌入传式系词统的叛初始壁化过传程(4)RT贿OS初始胁化阶级段4、RT盾OS初始疗化1)RT幻玉OS初始乐化2)RT茶OS对象级和服贫务初族始化任务信号舌量定时蚁器中断内存避管理3)RT恳OS任务苍堆栈疗初始斥化4)RT穿OS扩展萌部件医初始链化5)启捐动RT睛OS嵌入常式系违统的查初始串化过瞒程(5)应用阿程序侄初始茫化阶拔段4、应装用程送序初画始化AR弄M系统眠初始后化的玻一般暂过程启动摸(系堪统上洒电/复位票)从程悼序入创口点初始碧化时鬼钟等磨硬件初相关掩寄存数器1、设士定PL粘L2、关遥中断3、设隙置其元它寄示存器初始再化存征储器大系统Fl敢as持h及SD绝RA河M参数疫设置初始敞化C所需情要的曲存储传器空瞧间调用C入口寨函数堆栈刃初始森化一、阁设置吨程序团入口疾指针上电锯复位堵后直就接到撤程序犁入口顾点执脆行,纲入口炭点一钓般为油一个苍跳转提表,般跳转散到复咽位处维理程行序处描开始俊执行AR岂M系统序的初位始化知;启动脆程序俘首先评必须垒定义首入口昂指针车,而霜且整遵个应俯用程咏序只钓有一缝个入慢口指拆针例:AR首EA像B辩oo次t,少CO洲DE陶,R教EA钻DO卖NL乱YEN旦TR迫Y颤/*设置拣程序狸入口汽指针肌*/二、袭设置冰中断蚁向量AR渐M要求绳中断匙向量武必须赞设置弃在从OX聚00绒00吹00膛00地址净开始辱,连笛续8*办4字节就的地颠址空方间;向量脸表包康含一组系列丧跳转即指令去,跳国转到梳相应榜的中嘴断服谨务程话序;对各渣未用池中断晃,使乡丰其指绪向一室个含仇返回显指令冻的哑夺函数裙,以怜防止协错误斤中断族引起帖系统阁的混堤乱;中断塘向量升表FIQ0x1C外部快速中断IRQ0x18一般外部中断(Reserved)0x14保留DataAbort0x10数据异常FrefetchAbort0x0C预取指异常Softwareint0x08软件中断Undef0x04未定义指令中断Reset0x00复位中断中断幕向量础表的知程序AR芒EA玩B妇oo胁t,敲CO录DE际,R在EA令DO发NL犁YEN微TR脾YB慎R隙es穷et薪_h询an施dl刊erB锈U步nd恰ef五_H压an逮dl畜erB饲S可WI逐_H株an委dl醋erB独P省re装Ab多or塘t_拌Ha换nd辣le尚rB井.矛;悟fo使r饺re技se净rv锣ed鸭i斑nt泳er怨ru翁pt暂,s果to冷p耗he求reB续I货RQ挖_h链an股dl肚erB袋F辅IQ医_h染an桃dl该er三、捡初始身化时业钟和犯设置限相关珍的寄搞存器通过牢设置兰时钟剖控制锅器来穿确定CP延U的工梅作频隔率,摊设置舰中断昼控制笛寄存浴器屏度蔽中冬断四、旁初始碍化存厚储器校系统存储细器类秆型和侨时序括配置(参考递芯片衰手册服,设抽置与扩内存宋映射栗相关糟的寄绢存器)一个卫复杂蔽的系驾统可歇能存倒在多奴种存吨储器兄类型填的接肿口,绢需要潜根据淡实际蛮的系锦统设汪计对都此加兵以正拜确配差置。番对同秒一种清存储毕器类津型来院说,扬也因联为访喷问速绝度的围差异掠,需碎要不锐同的味时序喘设置沈。通常Fl封as善h和SR腾AM同属贞于静载态存纹储器激类型貌,可晃以合苏用同迁一个爽存储闯器端念口;而DR抽AM因为示动态典刷新互和地殖址线烧复用吩等特馒性,抄通常屠配有艰专用贼的存些储器攻端口墓。存储辱器端袍口的债接口于时序仿优化窃是非蜻常重进要的波,影号响到郑整个朽系统信的性召能。块因为搅一般握系统间运行妄的速披度瓶水颈都环存在挤于存酬储器蛛访问杨,所刮以存稼储器糖访问桌时序韵应尽址可能练地快只;但墨同时倾又要婆考虑志由此份带来或的稳必定性确问题扒。只执有根激据具大体选骂定的冻芯片围,进缓行多磨次的牛测试殃之后帮,才盲能确亩定最抖佳的悼时序如配置鼻。存储平器地堆址分蹲布有些涉系统俗具有厌非常倍灵活认的存田储器滤地址鸦分配尺特性氧,进果行存唉储器英初始浙化设织计的掌时候煎一定不要根趣据应劣用程点序的内具体独要求联来完墙成地钟址分皮配。一种方典型花的情牛况是描启动RO外M的地床址重蛇映射皆(re途ma城p)。裳当一笑个系妨统上盘电后腔程序祥将自税动从0地址鼻处开鸽始执炮行,圈因此批在系妄统的厕初始傍状态溜,必纲须保晓证在0地址身处存饼在正晴确的主代码划,即市要求0地址床开始它处的删存储迟器是捆非易恳性的RO坊M或Fl水as除h等。总但是高因为RO丹M或Fl肌as本h的访浩问速伸度相股对较剖慢,萄每次着中断雀发生港后都殖要从建读取RO昂M或Fl消as绵h上面礼的向度量表漠开始战,影材响了五中断走响应布速度篮。因乏此有鱼的系呆统便钟提供柜一种名灵活拿的地领址重慎映射预方法规,可办以把0地址得重新许指向辣到RA得M中去草。在禾这种呜地址蝴映射袍的变律化过嗓程当黑中,贱程序夹员需裳要仔誉细考窜虑的墨是程震序的善执行淡流程挖不能芽被这朴种变培化所产打断父。RO免M地址鹿的重霞映射(remap)0x0200(bootcode)0x0100(Reset_handler)……BReset_Handler0x0000Flash(remap)0x0204(bootcode)0x0200(Reset_handler)BReset_Handler0x0000RAMRO再M地址秤重映倾射的坡实现mo姜v巷r8迈,#芳RA耕M_渐BA犬SE驱_B安OO还T劲//右RA纲M_蚊BA枯SE革_B械OO袜T是重纸映射成前内馆部RA遣M区地虎址ad君d堆r9向,芝pc忌#销Ve差ct努or碧Ta塘le限//糟Ve塘ct桶or之Ta土le是异惨常向怒量表粮入口ld府mi次a夏r9蜜!,脖{义r0如-r旨7}钳/孤/读8个异蒙常向链量st坦mi夹a榨r8面!,去{与r0需-r控7}盯/劈燕/保存8个异享常向碑量到RA棉M区ld格mi挽a邻r9坟!,搂{略r0遮-r粥4}阳/男/读5个异励常处奏理程卷序绝双对地旧址st氏mi决a融r8拔!,绿{渴r0坑-r键4}漏/另/保存5个异澡常处近理程幼序绝座对地芹址到RA侧M区为保孤证重爆映射艰之后洪提供疯正确武的中助断入填口地鞋址,菠在重绑映射半之前堡就必躬须把凶中断涛和异或常向它量表协拷贝燥到内胁部RA含M中。岁其程艺序实敢现如魄下:五、箱初始喜化堆吓栈AR宣M处理奋器有售好几遗种运锡行状少态(妹模式隆),啦各种劳状态翅都需锁要有匙自己硬的堆遮栈,订所以比需要皇分别恢为这常些堆巾栈分泛配空潮间并哪设置义好各撞自的绞堆栈烂指针每一构种状粪态的颈堆栈家指针砖寄存胜器(SP)都迫是独过立的唯(Sy支st标em和Us阶er模式齿使用茎相同标的SP寄存衰器)阴。因膝此对挖程序漆中需暂要用缎到的申每一沟种模壳式都企要给SP寄存星器定门义一距个堆镰栈地盼址。折方法情是改结变状咬态寄侨存器CP命SR内的解状态鉴位,径使处芳理器仰切换烟到不龙同的骗状态吨,然台后给SP赋值烂。(毁注意钢不要院切换渣到Us便er模式监进行Us摧er模式反的堆疗栈设止置,然因为盆进入Us浮er模式篮后就汁不能匹再操笛作CP软SR回到讨别的逼模式矩了。绢可能顾会对惭接下完去的峰程序大执行中造成再影响饭。)一般只堆栈朴的大安小要租根据虎需要圾而定鞠,但核是要粒尽可俭能给旅堆栈替分配蒸快速淡和高凉带宽乏的存搜储器钢。堆仗栈性哨能的分提高仰对系要统整预体性当能的目影响腥是非崖常明已显的消。堆栈蝴初始瘦化代药码示化例MR荐S厌R0生,柿CP己SR眠;隙CP名SR毒-更>蹦R0BI辜C笋R0失,嚼R0妙,倚#M叠OD嫩EM析AS贼K碑;安全剂起见宽,屏译蔽模慢式位县以外劣的其饭它位OR奴R牲R1健,缩慧R0叼,汪#I雷RQ网MO歇DE况;把设舍置模恰式位爹设置座成需敬要的椒模式泄(IR词Q)MS液R助CP弯SR乐_c种xs崇f,测R躬1摄;转到IR团Q模式LD恳R鼓SP位,柿=U文nd梁ef锻St滔ac协k搁;设置SP碌_i恭rqOR吃R蕉R1文,R定0,浙#F医IQ匙MO耍DEMS你R备CP侵SR瞧_c物xs甲f,层R父1垄;耻F蝴IQ地Mo宜deLD谢R观SP虾,码=F切IQ迁St亮ac赤kOR碗R熊R1秆,戚R0松,艘#S瓶VC毕MO音DEMS丈R胆CP蒜SR梁_c拒xs矿f,纺R自1技;屿SV亮CM攻od艰eLD狼R宰SP夹,鲁=S脸VC很St犹ac廊k六、漠初始税化C环境在目梁标文水件中邪,代仍码、言数据凡放在舟不同仇的段番中。断源文钢件编就译链萝接生什成含.d问at哪a、.t兽ex草t段的栏目标停文件更,且成链接码器生炭成的.d绪at哭a段是材以系匠统RA跨M为参灾考地见址故在妻系统娱启动乖时需减要拷衫贝RO脂M或FL伶AS芳H中的.d伏at井a段到RA送M,以路完成赢对RA禁M的初睡始化北。在忘初始府化期蜂间应汗将系弹统需降要读岩写的露数据脸和变支量从RO垒M拷贝底到RA职M里运箩行了解句连接傲器的喉功能将许呜多放盒在不售同文抽件中茄的目弟标码映,连产接成胶一个洁可执盖行文踏件;计算沫及分勇配位歉于不渴同节园区(Se往ss判io雾n)的程古序或差数据哗。一愚个程务序可峡分为买程序赢段(Re弊ad移-O透nl无y,宾RO盾)、数龙据段含(Re炉ad蚂-W则ri汪te废,R请W)、零检初始伶化段情(Ze疮ro坡-I掏ni矛ti添al灭iz务ed旁,Z朱I);编译况器仅耐将程梨序转街成机圾器码惭,不议会处岭理与锣内存型地址活有关咏的部搂分,妖这部心分工励作由食连接抽器完处成;连接膏器可哑以产戒生除屿二进精制外捧的其传它文俘件的刘格式麦。连接梢器主摆要用敏于处拣理内悲存分嫩配问盖题链接嘴器产呜生的旧符号劲表符号竹由链纹接器尖自动紧产生牵,只翠读段萌(re笨ad座-o印nl伯y杏RO)就谎是代芦码段脾,读谎写段脉(re窑ad登-w单ri评te伴R穷W)是种已经阶初始资化的代全局滩变量淘,而束零初绪始化若段(ze梅ro庄-i聚ni违ti脏al劣iz裙ed本s眼ec嘉ti骑on命Z糟I)中睬存放得未初替始化缩慧的全摧局变辫量;初始姨化应游用程虑序执腰行环漂境映像班一开绞始总境是存挪储在RO较M/轨Fl抽as筹h里面乒的,剪其RO部分唤既可献以在RO起M/煮Fl认as筐h里面赏执行春,也锦可以绢转移墓到速错度更挺快的RA固M中去似;而RW和ZI这两经部分望必须役是需减要转滩移到粒可写睬的RA呢M里去寸的。所谓顽应用糊程序赏执行死环境骆的初骑始化拼,就柳是完如成必论要的如从RO宰M到RA愧M的数尖据传么输和导内容鼻清零拆。初始痰化C环境优(2)C环境趴初始胞化,箩就是福利用尤上述敞符号锡初始孩化RW和ZI段,寇以使彻后面秃使用贸的全挂局变尤量的C程序灯正常斥运行新;这里切有两座个循愧环,链第一显个循覆环把通预初票始化肠的数许据段RW(位厕于代宫码段灾的后谱面)盏复制牛到RA阅M中;设另一宝个循蜜环把授未初会始化流的数替据段ZI初始海化为0,也用就是旨实现姐把从RO核M中的.d百at进a段拷止贝到RA踏M,对ZI段内尖的数补据初棕始化提为0,以爷完成令对C环境谨的实老始化派;初始去化C环境剩(3)改变墙处理挺器模隔式除用纹户模植式以兵外,峰其他6种模到式都源是特喉权模腿式。涂因为锯在初红始化阻过程仓中许骂多操扯作需僚要在瞒特权过模式弟下才话能进猫行(根比如CP乓SR的修肃改)本,所禁以要醒特别榴注意而不能粪过早赶地进径入用惹户模魂式。割一般陪地,站在初男始化佳过程嫂中会先经历闹以下贪一些米模式释变化遵:七、虑呼叫C程序对ma再in函数检的调窃用进筹入uc跳/O哄S的入骑口,鼓通过携这个黑入口赌就进轰入uC究/O月S的主梯函数大,启输动对uC电/O咸S的初督始化例IM免PO灾RT尊M岗ai腔nb波Ma顷in伯;摇C叛En因tr珍yAR印M9系统秤初始球化1、关WA碰TC暂H携DO锄G2、禁敬止所仆有中值断3、初舌始化满系统哨时钟4、初危始化辛内存臂控制父寄存炭器5、检焦查是仇否从振掉电面模式刻唤醒6、点绵亮所压有LE金D7、初么始化UA纤RT犬08、将vi宵vi所有伟代码咬从na吗nd顾f扁la供sh复制宋到SD肺RA兔M中9、跳腥到in稻it至/m毙ai探n.宜c中的ma娘in函数uC积/O少S系统捧的初术始化完成评了前邀面的锄硬件肉初始灭化和卡运行钩环境谊的相宾关设门置后腊,进南入Ma慨in脸(),Ma尺in话()是uC包/O缓S的入勉口函着数,凭启动既对uC葱/O鞠S的初蛇始化AR猫M的硬蒙件抽花象层——uH蚕AL炊uC屯/O贡SAR受M公司饭为操惕作系称统的央开发冒提供段了一旧个硬五件抽区象层HA吧L,称迫为uH穴AL;从结鹊构上酸看,uH辣AL是一诞组库恨程序除,需众要说昏明的悉是,uH松AL并不饺是专雨门为uC煌/O暑S准备沾的,胖甚至资也不摇是专息为操猫作系忌统内柄核准槐备的休;uH忆AL只是掩个针涌对AR宾M核的也函数申库;uC船/O闪S是建方立在uH疼AL的基址础之忠上的锣;uC杀/O惩S系统讨的初能始化放(2)AR花MT届ar弄ge颗tI扫ni按t(记)函数盖结构AR奇MT邀ar挎ge俘tI熟ni刘t(薄)调uH闲AL打印世接口耕打印处系统麻信息调用uH坑AL函数晃禁止编所有沃中断调用uH蜻AL函数奔对中勇断初主始化uH理AL函数箭对AR印M计数拿器初疲始化结束uH鼠AL的功雨能uH舒AL的作瘦用之坊一是慢在操目作系丙统本烤身进努入正哄常运糕行之惕前,勤为系考统提瘦供基百本的地输入映输出大手段洒,例辟如uH选AL梳r_郊pr益in技tf戚()等;uH悦AL还要物为操至作系腰统的俭运行豆准备半一个军基本出的运织行环锯境,崖具体可包括莫下列识各种盟初始移化:通过uH劳AL凶_R棵es勒et宾MM迎U(倒),将MM钉U设置皮在一迈个确阵定的特初始舒状态乱;通过AR呼MD型is余ab尽le货()关闭钓中断改;通过uH缩慧AL新_I哄ni玻tI靠nt孤er钞ru弦pt佛s(大)设置陶中断有向量洋处理添程序胡;通过uH司AL白_I道ni侍tT助im乳er隙()对系扬统使齐用的亏计数涛器进帆行初本始化AR借MT患ar畏ge纲tS忆ta斯rt毫()的分冈析创建吗了任横务之曾后,AR机MT睡ar绩ge苍tS鸽ta弹rt撤()调用uH箭AL坝r_夜In无st贴al档lS鸟ys栗te千mT绕im限er庙()创建直一个没系统眨时钟秧,为傅时钟彻中断独做好岭准备稳;μC急/O路S-想II快B叉SP编写BS晃P(板路级支设持包淹)是嚼介于贴底层示硬件娘和操蜻作系峰统之六间的猴软件即层次歇,它朵完成庸系统浩上电脚后最登初的伏硬件稻和软怠件初水始化神,并获对底采层硬安件进烫行封基装,再使得继操作跨系统城不再占面对值具体誉的操祥作。BS臭P的特愤点:硬件领相关牺性:姻因为超嵌入晶式实幕时系袭统的牧硬件最环境猎具有跳应用滥相关芝性,梯所以扑,作歌为高森层软仿件与源硬件允之间颈的接五口,BS宣P必须劳为操夸作系班统提惭供操虑作和索控制馅具体懒硬件械的方湾法。操作猜系统甲相关宰性:耻不同升的操患作系据统具沈有各亩自的玻软件耽层次拢结构桐,因定此,耳不同切的操珍作系要统具销有特指定的谜硬件杂接口甩形式坝。BS甚P的功授能嵌入发式系玩统初朗始化A、片吐级初笛始化B、板菠级初里始化C、系严统级仰初始草化硬件刮相关韵的设沙备驱降动程秃序嵌入己式系锡统始吃化1)片庙级初进始化凤:主月要完弱成微胜处理峡器的队初始驻化,挤包局括设舱置微歌处理袭器的傻核心虽寄存壳器和筒控制督寄存戚器,觉微处示理器沸核心畅工作静模式凶以及崖其局触部总倾线模汽式等口。片羞级初悬始化牢把微箩处理锅器从普上电鸟时的泊缺省殿状态助逐步浪设置骂成为向系统胡所要碑求的羡工作宪状态姑。这搬是一棕个纯呼硬件统的初庙始化秀过程2)板术级初饶始化伙:完爹成微填处理铸器以冤外的听其他音硬件宁设备印的初么始化闹。除托此之姻外,渡还要梅设置哪某些例软件诸的数谦据结咸构和奔参数赖,为秆随后炭的系首统级洲初始培化和豪应用却程序画的运秤行建础立硬言件和营软件皇环境拦。这渐是一而个同虚时包泉含软巨硬件掘两部干分在闸内的芹初始寸化过扬程。3)系终统级忧初始奶化:窑这是停一个接以软悼件初淹始化浩为主犁的过屋程,次主松要进百行操妙作系帜统初念始化变。BS打P将控肃制转辫交给秘操作捎系统真,论由操调作系程统进拖行余犹下的股初始捐化操汽作。疼包括黎加载既和初颤始化库与硬菌件无披关的岸设备逆驱动鸟程序闷,建神立系竹统内诉存区辜,加历载并授初始薄化其胁他系坑统软孔件模萌块,掌比如看网络岁系统勒、文诉件系刺统等墨;最柏后,蹦操作银系统饭创建熟应用方程序头环境仅并将完控制翅转交沟给应晌用程燃序的触入口嵌入痒式系岂统初则始化位过程滔及BS划P功能完成真硬件斯相关傲的设忙备驱配动1)BS虏P另一毛个主伙要功墓能是汗硬件正相关酸的设苍备驱野动。玩与初磁始化光过程放相反惭,硬钩件相膛关的极设备两驱动握程序晋的初究始化旱和使过用通查常是端一个欺从高洗层到热底层使的过例程。浙尽管BS准P中包供含硬眯件相劳关的波设备窑驱动益程序降,但嚷是这尘些设结备驱霜动程改序通资常不辛直接来由BS绞P使用忽,而椒是在雷系统日初始开化过谦程中净由BS眉P把它邪们与能操作狐系统转中通销用的虹设备胞驱动勉程序品关联婆起来丧,并研在随菜后的溉应用贵中由构通用勒的设兽备驱显动程映序调台用,剖实现兔对硬场件设左备的发操作印。2)设西计与谋硬件搅相关旺的驱腿动程续序是BS进P设计劝中另休一个其关键芬环节系统椒调用暖通用顶设备番驱动悄程序管与BS穷P的关姥系设计BS摔P的方镰法一、肚以典浑型的BS挡P做为疮参考二、服参照痰操作撒系统伪或芯栏片厂磁商提查供的BS晴P模板μC画/O孩S-疗IIBS玩Pfo弹r泉AR谣MμC体/O鹅S-望II编写盼一个康简单盏的BS欲P。它孩首先幸设置CP喇U内部雀寄存通器和宪系统普堆栈剧,并堆初始丛化堆棉栈指嚷针,崭建立露程序另的运瓣行和迁调用崭环境灶;然后若可以救方便妥地使霞用C语言所设置AR角M片选鸟地址光(CS应0~CS爹7)、GP庄IO以及SD训RA赔M控制淹器,是初始效化串类口(UA证RT纸0)作座为默方认打赤印口眯,并宅向操隶作系僻统提汇供一伙些硬笨件相辜关例阵程和驻函数雁如dp前ri渣nt根f(纵),以蓄方便音调试扫;在CP英U、板珍级和梅程序所自身烂初始丈化完训成后事,就递可以读把CP少U的控霉制权放交给不操作泊系统架了本节冠提要12嵌入扶式系扭统的弦初始索化(偷软件泼)系统油硬件构接口杂与初掘始化3C邪/O截S-腥Ⅱ的移煌植操作罗系统碧移植注的概忙念所谓压操作赢系统型的移析植,沃是指肌使一非个实竹时操割作系你统能欢够在子某个数微处肉理器授平台寺上运游行。CO吃S-钓II的主迈要代贪码都岁是由裹标准冶的C语言迷写成恢的,幼移植沙方便依。移植沾的主燃要工残作是盈修改哭部分望与处根理器羞硬件誓相关老的代导码。移植诵的层贯次操作塔系统誉的移娱植大扁体可厉以分嘴为两箩个层拢次:跨体献系结落构的倘移植针对耀特定薪处理罚器的关移植移植CO状S-煤II满足伙的条锋件处理敬器的C编译欣器能凯产生莫可重辜入代息码在程素序中趁可以遍打开扛或者窄关闭沈中断处理聋器支勒持中爹断,循并且横能产堂生定腿时中太断(窗通常雪在10—10且0H赤z之间腊)处理岩器支脸持能冻够容忧纳一瞒定量足数据蝇的硬携件堆拘栈处理拾器有盟将堆牺栈指详针和岗其他CP泰U寄存衡器存箭储和倒读出贼到堆抗栈(谣或者静内存季)的惜指令什么签是可坏重入顽代码可重讲入的初代码后指的傲是一纪段代因码(肆比如辽:一转个函神数)教可以镜被多凭个任晒务同元时调众用,水而不京必担俩心会扎破坏延数据并。也就捎是说御,可巾重入听型函画数在衬任何触时候刊都可厨以被照中断所执行涛,过今一段凳时间胡以后沸又可征以继锯续运间行,煮而不评会因糟为在办函数僵中断蜘的时渔候被乱其他亮的任棕务重挎新调哨用,易影响艇函数蒸中的咸数据务。可重斗入代冲码举煤例程序1:可滋重入舞型函酷数vo萄id究s粥wa愁p(鸡in程t蒙*x述,字in连t稳*y仅){in夕t划te杆mp欣;te咳mp虾=*傲x;*x茧=*补y;*y司=t源em专p;}非可要重入致代码纤举例程序2:非鞋可重恨入型止函数in编t伙te朗mp颜;vo烦id痒s洽wa愧p(身in涂t户*x川,嗓in红t肾*y伞){te殃mp非=*贯x;*x稠=*谎y;*y怕=t抗em迁p;}返回不可怪重入暂函数泡被中银断破纸坏如何脑使函姑数具并有可林重入目性使Sw泥ap疼()函数弓具有规可重祥入性杜:把Te名mp定义膨为局旬部变贪量;调用Sw禾ap退()函数吊之前洽关中像断,录调动素后再清开中伐断;用信碰号量螺禁止焰该函艰数在贸使用辱过程碌中被倘再次系调用椅;打开/关闭娘中断在CO派S-错II中,闻可以胀通过传:OS君_E刃NT呈ER感_C氧RI且TI右CA砍L(戚)OS童_E萝XI鱼T_第CR箩IT晃IC番AL牲()宏来弦控制犯系统触关闭彻或者身打开眼中断召。这秩需要控处理县器的搜支持纲。在AR油M7韵TD盗MI的处跪理器跨上,忽可以粮设置拨相应引的寄艰存器岭来关铅闭或掘者打缩慧开系聪统的睁所有辣中断余。处理纺器支卡持中贞断并顶且能津产生砖定时撒中断CO葱S-夸II是通安过处苦理器酬产生票的定私时器料的中估断来蒜实现信多任险务之恭间的林调度蛙的。AR堵M9的处赠理器晚上可坦以产妹生定凝时器盛中断污。处理桌器支奶持硬新件堆兵栈CO领S-臂II进行给任务增调度眨的时售候,责会把叼当前挑任务苗的CP震U寄存芽器存伍放到狠此任尼务的想堆栈叛中,绿然后愿,再鸟从另类一个挤任务兴的堆捡栈中魔恢复恰原来酿的工练作寄岭存器萄,继卷续运忠行另屿一个富任务忧。所分以,卡寄存阀器的钱入栈厕和出扇栈是CO鲜S-宣II多任鬼务调清度的必基础许。AR赠M9处理阅器中谋有专滑门的羞指令狭处理稳堆栈伯,可纸以灵才活的坚使用绝堆栈父。移植核对开祝发工溪具的胡要求移植乘CO考S-宣II需要且一个纳标准建的C交叉期编译夕器;由于役移植把时需念要对CP蝴U的寄途存器趁进行短操作海,所咬以需族要C交叉骑编译管器能断够支新持汇盗编语衔言程厌序;嵌入披式C编译错器一嘉般都哥包括工汇编竞器、蛇链接揭器和僵定位终器。顷链接菜器是时用来浇将不蜡同的尤模块闭(编富译或公汇编稻过的膨文件慨)链强接成宝目标达文件躺;定刷位器虏则允毁许将痛代码跑和数起据放辜置在惊目标托处理币器的聋指定舌内存旁空间削中;移植uC圆OS吧-I隆I要点(1裳)开关鞋中断凤的方桃式。枯推荐盟使用me忽th社od阁3{#i吗f为OS析_C割RI镰TI合CA苍L_润ME尊TH显OD坝=龟=述3OS赢_C波PU傍_S厨R筒c挑pu饼_s纱r;#e壁nd闲if…OS追_E况NT亡ER潮_C旦RI岛TI互CA袭L(察);…OS窜_E票XI欢T_唉CR罩IT区IC族AL匠()缎;}使用me静th部od肆3方式阔的开仁关中无断#d哈ef租in叙e于O绩S_找EN鸽TE符R_抱CR跳IT绸IC韵AL煎(){兼cp剂u_留sr亮=辫I穴NT拘S_票OF挤F(押);诊}#d堆ef匆in顶e纳O蛋S_皆EX摆IT租_C刑RI马TI上CA裤L(归){圣if煤(c误pu越_s温r薄==峡0络)玻IN援TS虽_O屯N(北);坡}AR月M的中谣断模每式设备绝的中诊断在AR宾M中被争映射辩到了衣两个富异常航中——FI你Q和IR跳Q通过领控制CP梯SR中的垫对应诉数据表位,赛可以倡开启近或者晕关闭垒中断为了吃方便浪和统欲一uC佳OS哗-I厘I系统描中断失的处类理,近只使白用了IR峰Q模式受的中严断。移植uC裕OS吉-I壮I要点(2睁)——系统皱中断否的处刘理所有惨中断御的调黑用都体需要杨经过蝴系统璃的接遮管。臣中断五处理光函数撕调用半前后岁需要幸通知旺系统位。例插如:OS束In浅tE公nt膛er探()巴;yo笛ur抖In氏te星rr猾up浩tF构un险()干;OS费In由tE仅xi剥t(须);OS棋In瘦tE犹xi犹t的意饰义AR鼓M的工城作模考式AR眉M处理拦器有7种操暖作模穷式:用户匆模式(u嘴sr怒)-正常粮的程岩序执章行模档式快速工中断竭模式(f乖iq炕)-支持辣高速居数据休传输拔或通仗道处陪理中断已模式(ir困q)-用于钢通用怠中断袭处理管理异员模恒式(s逐vc罩)-操作齐系统泽的保帮护模绒式.中止倚模式(a困bt谱)-支持裕虚拟讨内存托和/或内克存保舟护等输异常系统钩模式(s犬ys伪)-支持此操作缝系统婆的特旅殊用妖户模旋式(运行产操作详系统珠任务俭)未定纠义模钻式(u唉nd菊)-支持嗽硬件传协处绩理器闹的软恩件仿皮真除了苗用户橡模式慕外,绪其他她模式勾均可瘦视为徐特权豪模式AR程M的寄删存器份(1)37个寄中存器31个通洁用32位寄劝存器芬,包苦括程受序计其数器PC6个状伤态寄娱存器15个通滋用寄黎存器(R叛0胖to加R筝14威),以及2个状腹态寄寺存器裤和程鸟序计煌数器著(PC)在司任何兄时候舍都中筐可见叮的可见慢的寄忠存器疫取决洞于处随理器漏的模政式,晒不同梳的模加式映赵射了万不同扑的工追作寄嫌存器AR睡M寄存糟器的言组织注:表明忘用户该或系运统模册式使址用的潜正常扣寄存党器已县经被票异常掀模式捷指定砌的另悬一个适寄存笔器取衫代AR对M的寄汁存器壤(2)R0到R1互5可以税直接故访问R0到R1乘4是通盼用寄玻存器R1欧3:堆栈魂指针(s丽p)寨(通常)每种暑处理槐器模皱式都苹有单喉独的遮堆栈R1炼4:链接荣寄存很器(l姥r)R1虹5:程坐序计阻数器(P若C)CP切SR–当前巴程序甲状态达寄存植器,俩包括羊代码需标志棋状态府和当沙前模得式位5个SP逢SR弦--(程序剩状态改保存混寄存厕器)当异悔常发党生时呼保存CP逼SR状态uC漫OS斥-I喷I在AR谦M上的肿任务高切换任务拌级的中任务前切换中断绕级的悲任务歼切换中断算处理混过程OS以In扁tE炒xi碌t(盈)vo窃id钳O烧SI愉nt赤Ex才it袭(梁vo阅id更){OS酸_E装NT谁ER喊_C症RI率TI辉CA波L(眯);汤(感1)if亦(传(-田-O盒SI泪nt阻Ne喷st慕in宵g扮|诞OS闲Lo窃ck撒Ne第st丽in狼g)磨=椒=对0)厦{胞(2效)OS谅In奖tE猛xi稀tY晋=建OS蛋Un氧Ma球pT览bl逼[O森SR碑dy估Gr也p]绍;红(喘3)OS赛Pr原io晋Hi支gh容Rd颗y佛=蹦(I桶NT辣8U傅)(耕(O床SI舱nt贡Ex佩it绳Y育<<释3厦)网+OS鞭Un丢Ma练pT踪蝶bl班[O验SR码dy那Tb改l[枪OS认In些tE返xi恼tY察]]阔);if欺(邮OS桌Pr岸io良Hi指gh虽Rd作y雅!=墓O租SP滴ri占oC油ur毕)皂{OS欺TC询BH距ig激hR鼠dy恭=脾OS役TC柿BP呀ri辣oT辜bl玩[O筛SP赏ri急oH鼓ig存hR桌dy沸];OS乎Ct持xS跳wC倾tr稍++左;OS钩In句tC紫tx咽Sw羽()趴;状(霞4)}}OS龙_E够XI雕T_役CR究IT踢IC木AL央()步;}OS屡In狮tE谦xi拔t的关哈键——OS精In啊tC戴tx蕉Sw实现参中断丈级的付任务吼切换AR执M在栈岂指针撇调整陵过程谷中的绸优势移植uC段OS穴-I成I要点(3绞)——Th兽um万b带来梳的问坟题很多AR伐M内核消集成券了16位th栽um帆b指令哲集Th拢um旧b可以俘在一后定程牲度上进节省董代码搁空间细,提汁高系姑统效肚率Th智um包b会给招中断吸级的凉任务搂切换编带来蚂麻烦CP婚SR中的T位不洁能直菜接操欧作Th隆um久b状态或将导贷致CP伙SR恢复皮以后作的指门令不鸡能运效行解决泰办法蚂:对Th士um盘b的使答用必毫须保妥证原究子操榨作专门来对任瞧务切善换中Th嫩um态b的情零况作典处理建议厘,小厚心使赠用C编译鼓器。傅尽量门不使惑用Th侨um畏b。移植uC项OS昆-I躲I的要顶点(4扒)——何时敢启动卡系统欧定时魂器如果绘在OS惯St商ar鸦t之前奥启动默定时泡器,膜则系鸡统可裳能无为法正巾确执球行完OS饥St姥ar削tH笑ig写hR核dyOS朴St押ar昨t函数园直接帽调用OS许St上ar毁tH刺ig熊hR济dy去执返行最绵高优份先级晴的任凳务,OS皮St言ar养t不返唇回。系统渗定时邮器应债该在戏系统悠的最围高优研先级尿任务支中启蜘动使用OS首Ru床nn剑in杆g变量万来控学制操骨作系杰统的糖运行在我之们的犁移植震版本浮中,奋使用损了uC舒OS期-I袭I中的协保留造任务1作为债系统叮任务规。负允责启该动定询时器例:干C/休OS险-I描I在AR穗M上的贱移植设置OS锋_C匙PU吵.H中与索处理围器和笨编译拐器相锁关的说代码用C语言海编写幅六个缸操作丢系统沾相关蜻的函棵数(OS行_C飘PU俯_C复.C)用汇确编语闻言编暑写四男个与圣处理蚀器相状关的坦函数退(OS碍_C许PU蝇.A搅SM)设置续与处挑理器谢和编早译器倾相关讲的代鉴码OS矩_C瘦PU氧.H中定艰义了骂与编貌译器悔相关驾的数眯据类秩型。写比如剩:IN昆T8运U、IN筒T8裤S等。与AR谜M处理倍器相傅关的距代码夜,使酱用OS旁_E材NT备ER象_C慢RI挡TI贝CA通L(责)和OS趟_E巨XI订T_朗CR呜IT啊IC需AL裤()宏开所启/熊关闭杠中断设置产堆栈袭的增多长方速向鞭:堆券栈由兆高地缎址向教低地尚址增狼长设置in壤cl侵ud页es梅.hty华pe奸de国f流un跨si休gn子ed贪c妹ha镰r匠B约OO纱LE承AN孙;ty态pe幼de纽奉f棉un兰si泼gn幻玉ed么c撇ha挤r担I吧NT乡丰8U墨;ty赶pe躲de碰f笛si艘gn关ed像c刑ha嗽r遵I松NT效8S西;ty拣pe违de价f遮un跟si悲gn善ed茂i水nt俊I艰NT赴16欲U;ty事pe死de沃f浅si旁gn洽ed欢i双nt术I耕NT霸16义S;ty阳pe悼de患f扭un佛si拆gn超ed温l猫on芽g任I送NT组32年U;ty绕pe北de锅f碑si败gn赏ed探l亩on锯g大I墙NT恰32踢S;ty截pe铁de据f益fl扔oa盖t届F镰P3膛2;ty晶pe议de厉f此do姜ub增le朴F卵P6幕4;ty执pe压de室f挤un艰si改gn受ed般l稠on痰g炸OS电_S棒TK加;ty络pe驾de颜f好un僵si战gn驼ed冠l熔on狼g娘OS污_C蔑PU陷_S赔R;ex饲te开rn带i汪nt杂I阿NT费S_秤OF崇F(拨vo轻id柱);ex洋te碎rn润v处oi精d药IN马TS册_O罚N(惠vo珍id烤);#d息ef刷in跪e智O陷S_炊EN软TE般R_相CR采IT闯IC束AL辜()沙{戴cp形u_打sr臭=片I那NT薪S_润OF衫F(拾);妙}#d柴ef碰in鹿e刺O刃S_途EX酸IT历_C厘RI驴TI刊CA得L(公)贝{识if症(c驶pu豪_s域r观==宇0慌)视IN窑TS敢_O谣N(烟);散}#d吊ef弱in染e反O询S_堡ST村K_克GR埋OW嗓TH包1幻玉/*从高存向低次*/程序扎状态狼寄存愚器条件棚位:N残=邀1-结果吸为负,0葬-结果缠为正假或0Z匙=占1-结果片为0,爹0-结果估不为0C信=1免-进位逝,0-借位V步=1籍-结果箭溢出港,0结果海没溢集出Q位:仅AR魂M道5T手E/状J架构雕支持指示惨增强切型DS尖P指令贯是否决溢出J位仅AR典M曲5T殖E/多J架构承支持J演=锣1:处理闯器处垦于Ja损ze代ll虽e状态中断甜禁止沾位:I起=击1米:禁止IR习Q.F欢=员1:禁止FI安Q.T痰Bi两t仅AR晨M晒x叨T架构洋支持T忽=忽0:处理届器处显于AR窗M状态T远=械1:处理混器处示于Th劈燕um共b状态Mo伐de位(处理忧器模爬式位):0b善10我00静0甜Us紫er0b缺10雾00纲1悄FI守Q0b核10臣01拉0调I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论