查看: 5242|回复: 8

[CodeWarrior] codewarrior代码的启动问题(已解决)

[复制链接]

该用户从未签到

6

主题

34

帖子

0

注册会员

Rank: 2

积分
67
最后登录
1970-1-1
发表于 2014-7-17 10:19:50 | 显示全部楼层 |阅读模式
 kl05官方示例代码中,代码是从crt0.s开始执行的,之后跳转到start函数,但是codewarrior自己生成的代码却是从__arm_start.c文件中的__thumb_startup()
开始执行,codewarrior是如何控制代码执行的起始位置呢?
我知道答案 目前已有7人回答
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-7-17 11:11:09 | 显示全部楼层

RE:codewarrior代码的启动问题

你好,楼主!
代码的起始存放地址在CW的linkfile中就已经定义好啊。__thumb_startup()与crt0.s文件没什么区别,也是实现一些初始化工作,然后跳转到main函数。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

34

帖子

0

注册会员

Rank: 2

积分
67
最后登录
1970-1-1
 楼主| 发表于 2014-7-17 11:24:56 | 显示全部楼层

回复:codewarrior代码的启动问题

原来是在linkfile中定义的,明白了,谢谢,我还有个疑问,codewarrior加载官方示例代码的时候,Startup_Code文件夹里面的这些文件会出现
如下图这样的斜杠,然后这些代码就不能使用了,这是如何做到的呢?
UCRC899$D]0{F1B7ME]04B7.jpg
 
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-7-17 11:36:29 | 显示全部楼层

回复:codewarrior代码的启动问题

 你好,
我用CW10.4打开的FRDMKL05例程包中的LED_Blink例程,好像跟你的现象不一样啊,你是不是有修改过代码啊?
1.jpg
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

34

帖子

0

注册会员

Rank: 2

积分
67
最后登录
1970-1-1
 楼主| 发表于 2014-7-17 11:49:15 | 显示全部楼层

回复:codewarrior代码的启动问题

回复第 4 楼 于2014-07-17 11:36:29发表: 
不好意思,是我说错了,官网上面kl05的例程包打开之后和你的是一样的,不会出现斜杠,而且kl05是从Startup_Code开始执行,而kl26的例程包打开之后会出现那种斜杠,而且kl26代码就是从crt0.s开始运行的,它们之间是否有什么关系或者影响。
 
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

23

帖子

0

注册会员

Rank: 2

积分
69
最后登录
1970-1-1
发表于 2014-7-17 12:19:59 | 显示全部楼层

回复:codewarrior代码的启动问题

回复第 5 楼 于2014-07-17 11:49:15发表:
回复第 4 楼 于2014-07-17 11:36:29发表: 
不好意思,是我说错了,官网上面kl05的例程包打开之后和你的是一样的,不会出现斜杠,而且kl05是从Startup_Code开始执行,而kl26的例程包打开之后会出现那种斜杠,而且kl26代码就是从crt0.s开始运行的,它们之间是否有什么关系或者影响。
 上电的时候芯片会查询一个特定的地址,这个地址就是程序开始执行函数的地址。

 
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-7-17 14:03:43 | 显示全部楼层

回复:codewarrior代码的启动问题

回复第 5 楼 于2014-07-17 11:49:15发表:
回复第 4 楼 于2014-07-17 11:36:29发表: 
不好意思,是我说错了,官网上面kl05的例程包打开之后和你的是一样的,不会出现斜杠,而且kl05是从Startup_Code开始执行,而kl26的例程包打开之后会出现那种斜杠,而且kl26代码就是从crt0.s开始运行的,它们之间是否有什么关系或者影响。
 
两种启动方式而已,原理都是一样,只是因为工程中宏定义的不同而选择不同的启动方式。
 

 
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

34

帖子

0

注册会员

Rank: 2

积分
67
最后登录
1970-1-1
 楼主| 发表于 2014-7-17 14:24:49 | 显示全部楼层

回复:codewarrior代码的启动问题

回复第 7 楼 于2014-07-17 14:03:43发表: 
 好吧,反正影响不大,只是在添加中断历程时有些区别而已,就先这样用吧,谢谢你耐心的回答。

 
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-7-17 16:08:31 | 显示全部楼层

回复:codewarrior代码的启动问题(已解决)

回复第 8 楼 于2014-07-17 14:24:49发表:
回复第 7 楼 于2014-07-17 14:03:43发表: 
 好吧,反正影响不大,只是在添加中断历程时有些区别而已,就先这样用吧,谢谢你耐心的回答。
 
 

 
 
 
不客气,以后有问题再交流!

 
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-26 12:26 , Processed in 0.098718 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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