3558|5

31

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

启动代码__program_start之前的这段代码 [复制链接]

自己写了个小程序,

仿真时将IAR里RUN TO  main  点掉,将执行真实的执行过程,打开disassembly窗口就可看到

 

程序将从启动代码__program_start处执行,因为0xfffe复位向量就是指向这个地址,但不是程序存储器ROM起始地址0X1100(我用的是F149,代码存储器起始地址为0x1100)

 

在_program_start之前还有一点小的代码如下

 

001100      0001    mova  @PC,SP

001102      88        DC8              ADC12MCTL8

001103      13        DC8              19

 

有那位前辈指导这段代码的意思,请不吝赐教,万分感谢

[ 本帖最后由 xinbako 于 2012-3-19 11:15 编辑 ]

最新回复

系统自带的这段__program_start代码在哪个文件里可能找着?  详情 回复 发表于 2013-10-9 16:28
 
点赞 关注

回复
举报

188

帖子

0

TA的资源

纯净的硅(中级)

沙发
 

回复 楼主 xinbako 的帖子

堆栈,变量(全局,静态)初始化,所有完成之后再进入main函数。你这段代码对应你自己程序里所使用的
 
 

回复

31

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 peter_zheng 的帖子

堆栈,变量(全局,静态)初始化应该是__program_start完成的吧

__program_start之前的这段代码是什么意思呢,仿真的时候好像没有执行,直接跳到__program_start的起始地址
 
 
 

回复

188

帖子

0

TA的资源

纯净的硅(初级)

4
 
每种MCU都有自己的一段BOOTLOAD程序,__program_start之前的这段代码就是MCU在执行用户程序之前运行的程序
 
 
 

回复

31

帖子

0

TA的资源

一粒金砂(中级)

5
 
我大概明白了,任何MCU都是从中断向量表开始执行的
430里中断向量表的第一句 既是转向__program_start的地址,至于这个地址在哪是汇编器决定的,
而且在__program_start之后还有很多调用函数,如对内存初始化的子函数,这些函数的存地址放都是编译器决定的,上面那段代码可能是执行某一功能了,只是汇编器把它放在了最前边
 
 
 

回复

231

帖子

0

TA的资源

一粒金砂(中级)

6
 
系统自带的这段__program_start代码在哪个文件里可能找着?
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
报名赢【小米双肩包、contigo水杯】 | TI MSPM0 系列 MCU 再添新成员
了解TI 前沿新品——高性能与高性价比的优秀组合 MSPM0G351x / MSPM0L111x,4月24日(周四)上午10:00直播~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 7

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表