免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2123 | 回复: 6

[硬件及驱动] 如何指定一个.o文件的入口函数 [复制链接]

论坛徽章:
0
发表于 2014-06-06 13:30 |显示全部楼层
driver中用到一个test.C文件,定义了三个函数A,B,C:

int B(void);
int C(void);

A(void)
{
    B();
    C();
}


int B(void)
{
    .....
}

int C(void);
{
    .....
}

用armcc编译,通过objdump发现A总是在.text段的最后,如何才能将A放在text段的起始处了?谢谢大虾了。。。

论坛徽章:
0
发表于 2014-06-06 14:17 |显示全部楼层
你关心这个问题干嘛?

论坛徽章:
0
发表于 2014-06-06 14:29 |显示全部楼层
没办法,实际中有此需求啊。

求职 : 系统工程师等
论坛徽章:
5
技术图书徽章
日期:2014-04-19 22:01:05天蝎座
日期:2014-05-09 13:49:28双子座
日期:2014-06-16 15:08:042015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:28
发表于 2014-06-06 16:47 |显示全部楼层
B C A这样试试呢?

论坛徽章:
0
发表于 2014-09-05 14:07 |显示全部楼层
本帖最后由 orien 于 2014-09-05 14:10 编辑

入口地址是什么,是有调用者决定的。比如在Linux为代表的POSIX兼容的操作系统中,程序读入后会从main函数开始执行。如果是VxWorks、UCOS等就可以从任意的用户指定的函数接口执行。希望对你理解入口地址有帮助。
TEXT各个代码段或数据段等的排列,是可以指定专门的map表的,这个在ARM、DSP等编译环境中都是入门知识。请查阅相关资料。
回复 1# coralonland


   

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
发表于 2014-09-05 15:35 |显示全部楼层
本帖最后由 arm-linux-gcc 于 2014-09-06 13:12 编辑

将A单独放在一个段中,__attribute__(section("aaaaaaa"))
然后在连接脚本里面将这个段放在text段前面

论坛徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
发表于 2014-09-06 09:04 |显示全部楼层
.text : { a.o(.text) }
.text : { b.o(.text) }
.text : { c.o(.text) }
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP