
DSQC 361
价格:999.00
诚信经营,质量为首,诚信至上,真诚为您服务--------------------------------------------------允许我给您介绍下这个产品和我们的服务:现货全新原装***15天质量问题无条件包退换一年质保完善的***服务雄厚的技术人才后盾真正的为客户排忧解难客户的满意是对我们的肯定更是我们的动力单子,得之,我幸。不得,我力争到底全心服务--------------------------------------------------ABB3HAC0373-1DSQC361优质的产品★优质的价格★优质的***★优质的服务,是您***佳的选择!ARM处理器支持位置无关的程序设计,这种程序加载到存储器的任意地址空间都可以正常运行,其设计方法在嵌入式应用系统开发中具有重要的作用。尤其在裸机状态下开发Bootloader程序及进行内核初始化设计;利用位置无关的程序设计方法还可以在具体应用中用于构建***率动态链接库,因而了解位置无关的程序设计方法,有助于开发人员设计出结构简单、清晰的应用程序。应用程序必须经过编译、汇编和链接后才变成可执行文件,在链接时,要对所有目标文件进行重***(relocatiON),建立符号引用规则,同时为变量、函数等分配运行地址。当程序执行时,系统必须把代码加载到链接时所指定的地址空间,以保证程序在执行过程中对变量、函数等符号的正确引用,使程序正常运行。在具有操作系统的系统中,重***过程由操作系统自动完成。在设计Bootloader程序时,必须在裸机环境中进行,这时Bootloader映像文件的运行地址必须由程序员设定。通常情况下,将Bootloader程序***到ROM的0x0地址进行启动,而在大多数应用系统中,为了快速启动,首先将Bootloader程序拷贝到SDRAM中再运行。一般情况下,这两者的地址并不相同,程序在SDRAM中的地址重***过程必须由程序员完成。实际上,由于Bootloader是系统上电后要执行的***段程序,Bootloader程序的拷贝和在这之前的所有工作都必须由其自身来完成,而这些指令都是在ROM中执行的。也就是说,这些代码即使不在链接时所指定的运行时地址空间,也可以正确执行。这就是位置无关代码,它是一段加载到任意地址空间都能正常执行的特殊代码。位置无关代码常用于以下场合:程序在运行期间动态加载到内存;程序在不同场合与不同程序组合后加载到内存(如共享的动态链接库);在运行期间不同地址相互之间的映射(如Bootloader程序)。虽然在用GCC编译时,使用-fPIC选项可为C语言产生位置无关代码,但这并不能修正程序设计中固有的位置相关性缺陷。特别是汇编语言代码,必须由程序员遵循一定的程序设计准则,才能保证程序的位置无关性。ARM程序的位置无关可执行文件PIE(PositionIndependentExecutable)包括位置无关代码PIC和位置无关数据PID(PositionIndependentData)两部分。PID主要针对可读写数据段(.data段),其中保存已赋初值的全局变量。为实现其位置无关性,通常使用寄存器R9作为静态基址寄存器,使其指向该可读写段的首地址,并使用相对于基址寄存器的偏移量来对该段的变量进行寻址。这种方法常用于为可重入程序的多个实例产生多个***的数据段。在程序设计中,一般不必考虑可读写段的位置无关性,这主要是因为可读写数据主要分配在SDRAM中。PIC包括程序中的代码和只读数据(.text段),为保证程序能在ROM和SDRAM空间都能正确运行(如裸机状态下的Bootloader程序),必须采用位置无关代码程序设计。PIC遵循只读段位置无关ROPI(ReadOnlyPositionIndependence)的ATPCS(ARMThumbProcedureCallSTandard)的程序设计规范:(1)程序设计规范1引用同一ROPI段或相对位置固定的另一ROPI段中的符号时,必须是基于PC的符号引用,即使用相对于当前PC的偏移量来实现跳转或进行常量访问。①位置无关的程序跳转。在ARM汇编程序中,使用相对跳转指令B/BL实现程序跳转。指令中所跳转的目标地址用基于当前PC的偏移量来表示,与链接时分配给地址标号的***地址值无关,因而代码可以在任何位置进行跳转,实现位置无关性。另外,还可使用ADR或ADRL伪指令将地址标号值读取到PC中实现程序跳转。这是因为ADR或ADRL等伪指令会被编译器替换为对基于PC的地址值进行操作,但这种方式所能读取的地址范围较小,并且会因地址值是否为字对齐而异。但在ARM程序中,使用LDR等指令直接将地址标号值读取到PC中实现程序跳转不是位置无关的。例如:LDRPC,=main上面的伪指令编译后的结果为:LDRPC,[PC,OFFSET_TO_LPOOL]3HAB6320-13HAB6501-13HAC7019-13HAC7020-13HAC7021-13HAC1738-13HAC7019-23HAC7020-23HAC7021-263990019-42213874-122213874-93HAA3001-213HNP01209-13HNP01822-13HNP02191-13046806912070013I00393622130181022130195941858588122130047-42213253-102213253-122213253-52213253-82213253-922136950-2062213851-22213851-33HXG1000-13822136950-2022213844-12213875-11907252053HAA2325-133HAA2325-113HAA2325-1263550006-11821850445-12185579-G3HXB1000-1163550006-11763550006-253304351350142743HAC021601-0013HAC15477-13HNM03656-168960011-BN50126702185576-42185577-44396448803HA***837-23HNM04698-13HXG1000-2093HNA000705-0013HNA015923-0013HNA009325-0013HAC022171-0013I0029863R0434483HAC022673-0013HAC12147-13HAC7457-13HAC7457-23HAC7457-33HAC8705-23HAC9589-23HNM03522-13HAB6637-13HAC0055-33HAC020122-0013HAC020745-0013HAC025432-0013HAC025699-0013HAC028064-0013HAC0982-13HA***562-199647673HAC020113-0013HAC020909-0013HAC6018-33HEA802338-00191116133912048693HAC6018-113HAC6018-143HAC6018-83HAC6018-93HXB0100-132998061763550006-2663HXB1000-1923HXD1000-643HXB0100-93HAC029855-0013HAC8972-3912084215548800011SBN010010R10011SBN010010R10101SBN010040R11313HAB5196-23HEA800447-0031938251021SBN010040R12403HAB5196-13HAC17015-23HAC027349-0013HAC028051-0013HAC028051-0043HAC5275-13HAC5276-13HAC5281-11SDA051368R15055008805581188923HEA802685-001554934001E5549340013HAC17371-33HAC025176-0013HAB3726-113HAC030791-0013HAC3676-13HAC13657-13HNP01790-13HNP01793-13HNP02872-13HNP00081-13HNP00106-13HNP00107-16480208-A2213862-23HAB3724-113HNP01501-13HAC15897-92213862-122213862-142213862-152213862-192213862-83HAB3645-13HXD1000-5663550006-2523HXD1638-2403HAC7149-33HNA008028-0013HNA008124-0013HAC025576-0013HAC025576-0023HAC13063-33HAC10746-73HAC10746-63HAC13063-63HAA2231-23HAB4236-13HAB6861-13HAC036207-0013HAC8497-23HAC8497-33HAC027325-0013HAC021243-0023HAC3938-13HA***399-13HAB8979-13HAC12707-33HAC15988-13HAC15988-23HAC028490-0016369901-4486369901-4746369901-4736369901-4753HAC024594-0013HAC025151-0013HXD1602-503HXD1635-240YB560103-AS3HNA006233-0013HAC024382-0013HAC023997-0013HAC021911-0013HAC6546-13HAA1001-883HXH1000-51699826583045866304697591108470500165880)