系统初始化
来源:互联网 发布:小米盒子直播软件 编辑:程序博客网 时间:2024/05/18 14:14
系统初始化:
C/C++建立运行环境,有引导程序c_int00函数完成的。系统开始运行,跳转到c_int00,或者系统运行时调用c_int00。通常是
硬件的中断服务程序中调用c_int00。必须把c_int00与另一个对象模块链接起来。
链接完成后,连接器在可执行输出模块中将程序入口地点符号设置为c_int00。
c_int00初始化执行以下操作:
定义系统栈.stack并初始化栈指针。
初始化全局变量
调用main()函数运行C程序。
一些全局变量在程序开始运行之前必须初始化。这个初始化的过程叫做——自动初始化。
编译器在.cinit的段中建立了一个全局变量的表。
带构造函数的所有C++全局变量必须在main()之前调用他们的构造函数进行初始化,编译器构造一张全局构造函数的表,放
在.pinit段中。
初始化表:
里面分为好多字段。分别记录了初始化数据的大小,初始化数据复制的目的地址,要复制到.bss段去初始化变量的数
据,每个变量的初始化记录
分为两种方式初始化。
1运行时自动初始化: -c
.cinit段与其他段一并从目标文件加载入存储器,连接器定义了一个名为CINIT的符号,用来标识初始化表的首地址
。程序开始运行时,C启动程序将表中的数据复制给.bss段中特定的变量,这便允许将初始化数据放入ROM中,在每次程序开始
时将他复制到RAM中。
2加载时初始化: -cr
连接器将.cinit段头中的STYP_COPY置位为1,并告知加载器不要把.cinit中的表加载入存储器并将符号cinit赋值-1
,告诉启动器初始化表不在储存器中,因此启动时不执行初始化。而加载器直接把目标文件的.cinit复制到RAM的.bss中。
- 系统初始化
- 初始化系统失败
- xp初始化系统进程
- initgraph:初始化图形系统
- Linux系统安装初始化
- 认识linux 系统初始化
- 配置系统未能初始化
- 理解linux系统初始化
- 初始化系统音量参数
- 中断系统的初始化
- 系统初始化过程
- 系统初始化SHELL脚本
- 系统初始化SHELL脚本
- stm32篇--系统初始化
- ZigBee系统初始化流程
- S3C6410系统时钟初始化
- oracle系统初始化工作
- linux 系统初始化工作
- 锁相环PLL--摘自百度百科
- 数据段的分类
- NOR_FLASH and NAND_FLASH
- 寄存器书记类型长度
- gel文件的作用——摘自百度
- 系统初始化
- MEMORY
- GPIO_OPEN and CLOSE
- 理想滤波
- static--摘自度娘
- 定时器中断模拟pwm输出声音文件
- 收集的重要的T-SQL语句
- static静态变量的理解 百度
- 构造二叉树并输出