ARM分散加载

[复制链接]
2828|1
 楼主| YuMigWei 发表于 2009-3-25 12:52 | 显示全部楼层 |阅读模式
小弟刚接触ARM,在分散加载(scf)文件中*(+RO)包含我们自己写的代码外还有<br />__main.o(+RO)<br />*(Region$$Table)<br />*(ZISection$$Table)<br />除了上面这几个还有其它的文件吗?
Ice_River 发表于 2009-3-25 16:07 | 显示全部楼层

ARM 体系结构与编程上有很详细的介绍

感觉你写的东西,语法格式都不对。<br />load_region_name&nbsp;&nbsp;start_address&nbsp;|&nbsp;&quot;+&quot;offset&nbsp;&nbsp;[attributes]&nbsp;[max_size]<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;execution_region_name&nbsp;&nbsp;start_address&nbsp;|&nbsp;&quot;+&quot;offset&nbsp;&nbsp;[attributes][max_size]<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;module_select_pattern&nbsp;&nbsp;[&quot;(&quot;(&quot;+&quot;&nbsp;input_section_attr&nbsp;|&nbsp;input_section_pattern)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(][&quot;,&quot;]&nbsp;&quot;+&quot;&nbsp;input_section_attr&nbsp;|&nbsp;&quot;,&quot;&nbsp;input_section_pattern))&nbsp;*&nbsp;&quot;)&quot;]<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />load_region:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;加载区,用来保存永久性数据(程序和只读变量)的区域;<br />execution_region:&nbsp;&nbsp;执行区,程序执行时,从加载区域将数据复制到相应执行区后才能被正确执行;<br />load_region_name:&nbsp;&nbsp;加载区域名,用于“Linker”区别不同的加载区域,最多31个字符;<br />start_address:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;起始地址,指示区域的首地址;<br />+offset:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;前一个加载区域尾地址+offset&nbsp;做为当前的起始地址,且“offset”应为“0”或“4”的倍数;<br />attributes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区域属性,可设置如下属性:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;与地址无关方式存放;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RELOC&nbsp;&nbsp;&nbsp;&nbsp;重新部署,保留定位信息,以便重新定位该段到新的执行区;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OVERLAY&nbsp;&nbsp;覆盖,允许多个可执行区域在同一个地址,ADS不支持;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ABSOLUTE&nbsp;绝对地址(默认);<br />max_size:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该区域的大小;<br />execution_region_name:执行区域名;<br />start_address:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该执行区的首地址,必须字对齐;<br />+offset:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;前一个执行区域尾地址+offset&nbsp;做为当前的起始地址,且“offset”应为“0”或“4”的倍数;attributes:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;区域属性,可设置如下属性:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;与地址无关,该区域的代码可任意移动后执行;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OVERLAY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;覆盖;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ABSOLUTE&nbsp;&nbsp;&nbsp;&nbsp;绝对地址(默认);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIXED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;固定地址;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UNINIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不用初始化该区域的ZI段;<br />module_select_pattern:&nbsp;目标文件滤波器,支持通配符“*”和“?”;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*.o匹配所有目标,*&nbsp;(或“.ANY”)匹配所有目标文件和库。<br />input_section_attr:&nbsp;&nbsp;&nbsp;&nbsp;每个input_section_attr必须跟随在“+”后;且大小写不敏感;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RO-CODE&nbsp;或&nbsp;CODE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RO-DATA&nbsp;或&nbsp;CONST<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RO或TEXT,&nbsp;selects&nbsp;both&nbsp;RO-CODE&nbsp;and&nbsp;RO-DATA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RW-DATA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RW-CODE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RW&nbsp;或&nbsp;DATA,&nbsp;selects&nbsp;both&nbsp;RW-CODE&nbsp;and&nbsp;RW-DATA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ZI&nbsp;或&nbsp;BSS<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENTRY,&nbsp;that&nbsp;is&nbsp;a&nbsp;section&nbsp;containing&nbsp;an&nbsp;ENTRY&nbsp;point.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIRST,用于指定存放在一个执行区域的第一个或最后一个区域;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LAST,同上;<br />input_section_pattern:&nbsp;段名;<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部