查看: 3908|回复: 7

[已解决] 请教ColdWarrior 启动代码文件在那里?10.5的改了吗?麻烦指点一下,多谢(已解决)

[复制链接]

该用户从未签到

21

主题

71

帖子

0

新手上路

Rank: 1

积分
133
最后登录
1970-1-1
发表于 2014-3-2 20:52:26 | 显示全部楼层 |阅读模式
老版本里CF_startup.c:ColdWarrior 启动代码文件,包含_start()函数,对于cw10.5版本里,这个启动代码文件改到那个文件里了?
我知道答案 目前已有6人回答
回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-3-3 09:49:39 | 显示全部楼层

回复:请教ColdWarrior 启动代码文件在那里?10.5的改了吗?麻烦指点一下,多谢

你好,你指的是这个启动文件吗?
27.jpg
回复 支持 反对

使用道具 举报

该用户从未签到

21

主题

71

帖子

0

新手上路

Rank: 1

积分
133
最后登录
1970-1-1
 楼主| 发表于 2014-3-3 16:12:17 | 显示全部楼层

RE:请教ColdWarrior 启动代码文件在那里?10.5的改了吗?麻烦指点一下,多谢

是这样的,从bootloader启动,是不是从boot.S里开始,然后从下面代码进入__main,请问这个“__main”指的那个文件里的哪个接口?还有这个__thumb_startup在那里,没找到呢
boot.S里的代码:
#if defined(__CODEWARRIOR__)
        ASM_EXTERN(__thumb_startup)
        b ASM_PREFIX(__thumb_startup) // ??
#elif defined(TOOLCHAIN_GCC_CW)
        /* call startup from EWL library */
        ASM_EXTERN(__thumb_startup)
        b ASM_PREFIX(__thumb_startup)
#elif defined(__IAR_SYSTEMS_ICC__)  || defined (__IASMARM__)
        ASM_EXTERN(__iar_program_start)
        b ASM_PREFIX(__iar_program_start)
#elif defined(__CC_ARM)
        ASM_EXTERN(init_hardware)
        ASM_EXTERN(__main)   //????
        bl ASM_PREFIX(init_hardware)
        b ASM_PREFIX(__main)
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

113

帖子

0

中级会员

Rank: 3Rank: 3

积分
326
最后登录
1970-1-1
发表于 2014-3-3 16:45:56 | 显示全部楼层

回复:请教ColdWarrior 启动代码文件在那里?10.5的改了吗?麻烦指点一下,多谢

刚才在老版本的CW中和CW10.5中分别新建了工程,然后比较了一下两个工程自带的startcf.c (没有发现你说的那个cf_start.c文件),两个文件基本一样。
你说的那个main,应该是应用程序的main函数。
感觉你的这个工程应该是一个bootloader,方便的话把你的工程发上来看看
回复 支持 反对

使用道具 举报

该用户从未签到

21

主题

71

帖子

0

新手上路

Rank: 1

积分
133
最后登录
1970-1-1
 楼主| 发表于 2014-3-4 09:08:05 | 显示全部楼层

RE:请教ColdWarrior 启动代码文件在那里?10.5的改了吗?麻烦指点一下,多谢

建立的是mqx4.0的project,编译失败,是按照手册《fsl_mqx_in_cw_10_x》操作的,并且在project_settings里也没有你说的这个startcf.c文件,
1、请问这个是cw自动编译的时候才生成的吗?
2、单板起来后是否就从这个文件开始执行?我的理解应该是从boot.s起来,跳到mqx的main呀
3、麻烦把你的startcf.c文件发一下吧,我这没生成
下面是编译失败的信息,提示"E:\\K60\\CW_for_MCU\\tools\\CW MCU v10.5\\gnu\\bin\\mingw32-make" -j6 all
mingw32-make: *** No rule to make target `E:/K60/code_GA/Freescale_MQX_4_0/lib/twrk60n512.cw10gcc/debug/bsp/intflash.ld', needed by `explicit-dependencies'.  Stop.
回复 支持 反对

使用道具 举报

该用户从未签到

21

主题

71

帖子

0

新手上路

Rank: 1

积分
133
最后登录
1970-1-1
 楼主| 发表于 2014-3-4 09:24:13 | 显示全部楼层

回复:请教ColdWarrior 启动代码文件在那里?10.5的改了吗?麻烦指点一下,多谢

hello的mqx的project
请先修改文件名为my_mqx.7z,再解压缩,多谢

my_mqx.zip

11.51 KB, 下载次数: 1

回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-3-4 10:14:10 | 显示全部楼层

回复:请教ColdWarrior 启动代码文件在那里?10.5的改了吗?麻烦指点一下,多谢

回复第 6 楼 于2014-03-04 09:24:13发表:
hello的mqx的project
请先修改文件名为my_mqx.7z,再解压缩,多谢
 

你好,你这个问题建议还是发送问题的详细描述到support@freescale.com.
那里会有更多的专家会回答你的问题。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

113

帖子

0

中级会员

Rank: 3Rank: 3

积分
326
最后登录
1970-1-1
发表于 2014-3-4 11:36:36 | 显示全部楼层

RE:请教ColdWarrior 启动代码文件在那里?10.5的改了吗?麻烦指点一下,多谢

回复5#问题:
新建的MQX工程是没有那个startcf.c的文件的,只有创建裸板的ColdFire工程的时候才有这个文件,创建别的工程如Kineits的时候开始文件名字是Kinetis_init.c。
这个文件是用来初始化单片机的一些硬件设备的,如memory的默认配置等等。
在MQX工程中,MQX这个系统会完成这个工作(由bsp完成),所以,就不再有start这个文件。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-19 01:24 , Processed in 0.106471 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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