搜索
bottom↓
回复: 6

IAR的Main()函数上来就是printf,谁知道初始化在哪完成的

[复制链接]

出0入0汤圆

发表于 2013-8-8 17:37:35 | 显示全部楼层 |阅读模式


看到没,这个是FREESCALE 开发文档自带的程序自动产生的项目,既然main一上来就是printf,那么总要有个地方配置、初始化然后IAR自动调用编译进去吧,谁知道在哪里,是怎么设置的?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-8-8 18:29:45 | 显示全部楼层
stdio这个库

出0入0汤圆

发表于 2013-8-8 18:51:24 | 显示全部楼层
这个你看看是不是semihosting

出0入0汤圆

 楼主| 发表于 2013-8-9 17:35:58 | 显示全部楼层
i55x 发表于 2013-8-8 18:51
这个你看看是不是semihosting

什么意思,这里面好多初始化函数,不清楚是通过什么机制自动调用的

出0入0汤圆

发表于 2013-8-9 17:47:35 | 显示全部楼层
那个芯片?把工程发上来。

Freescale例程的风格是在main函数之前初始化,典型的:上电第一条指令起来是一小段汇编,然后就会调用C语言函数,比如startup,初始化data段、bss段、RAM函数等等,然后接着就调用类似system_init这样的,初始化各种外设,最后跳进main函数。

出0入0汤圆

发表于 2013-8-9 17:50:04 | 显示全部楼层
哦我刚看到主楼还有图,你在common或者cpu那个文件夹里翻翻,找crt0.s,start.c或者startup.c或者common_startup()这样的,估计在这里初始化的。
我们以前K10和Coldfire 52258的例程就是在main函数之前做完初始化的

出0入0汤圆

 楼主| 发表于 2013-8-9 18:02:20 | 显示全部楼层
lileistone 发表于 2013-8-9 17:50
哦我刚看到主楼还有图,你在common或者cpu那个文件夹里翻翻,找crt0.s,start.c或者startup.c或者common_st ...

谢谢!找到了,初始化是在start.c里的start函数,在crt0.s里调用了start。start()函数里跳到了main()函数。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 11:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表