IS210DTCIH1A(IS200DTCIH1A)
GEIS210DTCIH1A(IS200DTCIH1A)IS210DTCIH1A(IS200DTCIH1A)IS210DTCIH1A(IS200DTCIH1A)针对本文所论及的系统,当系统加电或复位后,首先NandFlash中的前4KB由硬件拷贝到位于040000000处的大小为4KB的内部SRAM中,然后此SRAM被映射到BankO处(Ox00000000)。PC从000000000处取指令执行。当遇到B或BL等跳转指令时,它会跳到当前地址加上一个偏移量的位置,它们属于相对跳转,它们的跳转范围是&plu***n;32MB,这使得B或BL指令不依赖于代码的存储位置,此时这些地址为加载时域的地址。在嵌入式系统中,还有一种实现长跳转的方式,就是使用ldr指令,它町以实现程序的***跳转,跳转范围为4G空间。VIVI中实现程序跳转的代码为:@jumptorain<l>ldrr1.=on_the_ram<2>addpc,r1,#O<3>1:blb@infiniteloop<4>on_the_ram:上文提到了加载时域与运行时域的概念,此时第<1>行获取的on_the_ram的地址就是运行时域的地址,此地址由上述链接脚本文件决定,第<2>行跳转到SDRAM中的on_the_ram处。为了进一步深入说明程序的跳转,可以利用VIVI的反汇编文件来查看上述代码的反汇编情况。现分别给出此段代码***时域和运行时域的存储布局。***时域此段代码在内部SRAM中的存储布局为:<1>000000dc:e59f1278ldrrl,[pc,#278];035c<2>000000eO:e281f000addpc,rl,#0<3>000000e4:eafffffebOxe4<4>000000e8<on_the_ram>:...<5>00000358:000055aaandeqr5,rO,r10,lsr#ll<6>0000035c:33f000e8mvnccsrO.#240运行时域此段代码被拷贝到SDRAM中的存储布局:[1]33fOOOdc:e59f1278ldrr1,[pc,#278][2]133f000eO:e281f000addpc,rl,#0[3]133mooe4:eaffffffebOxe4[4]33fOOOe8<on_the_ram>:...[5]33f00358:000055aaandeqr5,rO,r10,lsr#11[6]33f0035c:33fOOOe8mvnccsrO,#240系统加电或复位从基地址000000000运行到上述代码的第<1>行时,r1获得地址00000035c处的值,从第<6>行知道此地址处的值为33f000e8,运行到第<2>行处,进行跳转,由于此时程序映像已经拷贝到SDRAM中,程序就跳到了运行时域此段代码的第[4]行处断续执行下面的程序,从而实现了程序从SRAM到SDRAM的跳转。4结语BootLoader的设计是嵌入式系统中的重要环节,它为系统的正常启动完成了一系列的初始化工作,设计一个简单***功能强大的BootLoader是嵌入式系统设计中一项重要工作。本文的创新点:<l>深入研究和分析了VIVI如何实现自己拷贝以及拷贝后如何实现程序的跳转,并给出了原理性和实验性的说明;<2>对程序进行了改进,主要体现在拷贝的代码量上及VIVI的链接脚本上,使程序设计更合理。oyopucPC3JG-PBLACKBOXLMC211AE-MM51403422-15051309276-15051304362-15051304754-15080363972-15080363975-10080363969-15051402573-15051403645-10051304511-10051401583-10051403519-160KebaKetopC50D01VxUN0942a-PV3HEIR444632R3HEIR444632R0003UN0942a-PUT4642a***302398R121***302398R0121UT4642a太平洋安防网UT4810a-E***302391R121SCHENCKFLB400GESR469-P5-HI-A20AB1771-IAN/APROSOFTMVI56-GSCSR469-P5-HI-A20ABBMPRC086349-001PRO-FACE3580801XPIQF8-G2B3B6CelerityIFC-125C0190-28862MKS622A01TBEAMAT0010-45649MKSD27D01TCEC0B5MVI69-MNET57***9116413-1-316267-1-2TC-CCR013CP-9200SH/SVACP-9200SH/CPUMicrosetUS809I/OBoard000191952RAA-002H-BB06C-BD3FOXBOROP0926JMKJ2003X1BB1VE3006Allen-Bradley4100-S214-PRALAllenBradley900337-01A01KeyenceUD-300PhilipsPM2525PM2525/223MetermasterMM200HewlettPackard4935AOrtec456HHighHP651BForceSparcCPU-2CECPUAWAF242AServexFE6S20-D31775-S5AstroVG-823AdtechSpirentSX/12690A13TRAKOLLMORGENP70360-SDNABB3HAB8101-8DSQC346GAESekidenkoOR4000TDynaxAT200-LPKukaKPS-600/20-REL1756-L55M22KebaKetopC50D01Vx1784-KTCX15BProSoftMVI56-PDPMV1MDX61B0005-5A3-4-0TTRENTONSBC92-006090-XXXP-HA-RPS-32000000PHARPS322000001734-EPACJZRCR-NPP01-1JANCD-NCP016DD1683-0BE06DD1682-0BF06DD1683-0BB006DD1682-0BB16DD1683-0BB06DD1683-0CD06DD1682-0CD06DD1682-0BE06DD1683-0BE06DD1682-0BB06DD1683-0BB06DD2920-0AB06DD2920-0AD06DD2920-0AC06DD2920-0AB06DD2920-0XD01siemens6EW1890-2ACAB1747-SDN/BKEBACU313AGENERIC26D023003MODICON140NOM21100Schneider140CRA93100Trenton92-006090-XXX5202-MNET-MCM4honeywellTC-OAH0616DR2100-56DR2800-8RFOXBOROP0922YUTachibanaTVME30016DD1681-0EK16DD1607-0AA1E5AK-AA2RMS-TSG-TZ-CRMS-TSIG-TZ-C3HNE00313-1DSQC346G3HAB8101-83HAC023195-001PEACOCKCOM5V23BSE000270R1PM510PM253V013BSE008373R1PM510V083BSE008358R1PM510V166DD1683-0CC0TC-CCN014Edwa***D37420000QCI-34N-1-E-01469-P5-HI-A20AllenBradley56AMXN模拟量板卡395316-01-4BristolBabcock模拟量板卡392547-01-5FBM046DD1641-0AC0PEACOCKCOM5V2DKC01.3-100-7-FWP0914XQFBM214P0916BXFBM21456AMXN/B3BSE003641R1PM150V08HoneywellLCNP4M51403776-100siemens6EW1890-2ACMVI69-ADMLAUERPCS095.P2711-K6C51560-PDP1DAI05P70360-SDNRMS-TSIG-TZ-CPKollmorgenIC22030A1P1TRICONEX3511TRICONEX3625TRICONEX3805ETRICONEX3503ETRICONEX3700ATRICONEX8312TRICONEXTCM4351BTRICONEXMP3008DSSS171DSDI120)
厦门渤格电气技术有限公司
业务 QQ: 1982497648