第6章C语言程序设计v2精要.pptVIP

  • 1
  • 0
  • 约9.37千字
  • 约 48页
  • 2017-08-23 发布于湖北
  • 举报
第6章C语言程序设计v2精要.ppt

6.2.5 C语言入口 在MC9S12的C程序中,程序的入口在什么地方?程序是怎样起动的呢? 开机进入0号复位中断 初始化(堆栈、硬件初始化、看门狗等等) 调用main函数 Codewarrior中的Start12.c 程序员可以自己编写启动代码,可以将应用程序中的硬件初始化程序都放在启动代码里面,这样就可以比较专注地在应用程序中做要做的事情。 山东大学控制学院 李振华 C起动代码通常执行下列动作 (1) 关中断; (2) 将初始化数据从ROM复制到RAM; (3) 将未初始化数据区清零; (4) 为堆栈定位空间以及初始化堆栈; (5) 创建并初始化堆; (6) 执行构造函数并初始化所有全局变量(仅C++); (7) 开中断; 山东大学控制学院 李振华 最后,起动代码调用main(),启动应用的剩余部分。当然针对于MC9S12来说,启动代码可以不必这么麻烦。可以只初始化堆,初始化硬件然后直接跳转到main函数,下面是一个启动代码的例子 山东大学控制学院 李振华 void _Startup() { asm { LDS 0x1000 JSR HardInit JSR main } } 程序员可以自己编写启动代码,可以将应用程序中的硬件初始化程序都放在启动代码里面,这样就可以比较专注地在应用程序中做要做的事情。 山东大学控制学院 李

文档评论(0)

1亿VIP精品文档

相关文档