这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » entry,point,bin entry_point对生成bin文件有啥用?

共2条 1/1 1 跳转至

entry,point,bin entry_point对生成bin文件有啥用?

院士
2006-09-17 18:14:16     打赏
entry,point,bin entry_point对生成bin文件有啥用?



关键词: entry     point     生成     文件     有啥    

院士
2006-12-22 22:43:00     打赏
2楼
问 在生成bin文件时,我们必须制定一个sactter文件(包括RO、RW段等如何放,放哪里的一个配置文件,当然,为简单起见,我们也可以在ads的连接选项里面,配置-first, -last,-entry_point等。)。
然后Linker会调用这个文件,将各个object的o文件进行连接,生成axf格式的文件,便于axd进行调试。根据资料以及我的实践,我发现sactter文件中entry_point的信息会在该文件的头部留下痕迹!除此之外,没有其他作用!

最后,fromelf把上面的文件生成bin文件时,会把entry_point唯一的痕迹都抹掉。(我采用两个不同的entry_point,生成的bin文件一模一样)。

所以,我就一直都奇怪,既然它对最后的bin文件根本一点影响都没有。 那entry_point是什么用呢? 1: 能回答一下吗?我一直还不是太明白。
谢谢拉。 2: 我也没搞懂这个问题?Entry到底有什么用呢? 在AXD仿真时,它能指示仿真器(我是软仿真)直接跳到Entry处执行代码,但对生成的实际要烧录的BIN档好像没有什么作用啊?请知道的指点一下,谢谢! 3: REAXF文件格式和BIN文件格式是两种完全不同的文件格式.

AXF文件包括了很多的信息:调试信息,ENTRY POINT,源文件路径等.所以,在AXD里面装载AXF文件后,AXD可以从AXF文件里面提取这些信息,根据ENTRY POINT等设置好PC,打开相应的源文件.

而BIN文件,纯粹的二进制文件.AXF文件转换成BIN文件后,BIN文件里只包括AXF文件里的程序指令和一些初始化了的全局数据.其他的调试信息全都丢失了的.

从上面可以看出,一般来说,AXF文件一般是用在调试的时候使用.BIN文件一般是在开发完成后,保存最基本的指令和数据,用来烧写到你的产品的ROM/FLASH里面的.板子上电后,就从地址0X0开始取指令执行.在开发的时候,如果你的程序是要烧写到FLASH/ROM里面,上电就执行的,你必须设置好你的程序的ENTRY POINT,保证ENTRY POINT是在地址0X0.因为实际应用的时候,不象调试,AXD会自动从AXF文件里面提取ENTRY POINT,然后帮你设置好.

希望上面的信息对你有帮助. 4: 谢谢twentyone的指点!因为ARM上电都是执行中断向量的跳转程序,所以是不是应该将ENTRY POINT设在中断向量表的位置?而且在实际的应用中,应该将中断向量表放在FLASH/ROM的0x00位置?
我有个假设:假如一段程序主体是没有问题的,即使ENTRYPOINT设置错了位置,但生成的BIN档烧录到FLASH里后,仍然是可以正常运行的。不知道我的假设对不对?
请大家指点!谢谢!

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]