boot loader能全部用C程序编写吗
来源:互联网 发布:域名dns劫持检测 编辑:程序博客网 时间:2024/06/10 17:48
在《什么是boot loader》一文中我抛出了一个问题,这个问题如下:
我们说boot loader通常采用汇编和C语言相结合来编写的,那能不能全部用C语言来进行编写呢?为什么?
对于这一问题的答案是:不能。C程序中所有的代码都是以函数的形式出现的。可能有人要说在C中也可以嵌入汇编代码,能不能用这种方式来实现整个boot loader呢?再看看题目,这里只考虑所有的代码只能是以函数的形式出现。那C程序中函数调用要一个什么样的环境呢?堆栈!我们写C程序时在函数名的后面,就是用花括号将代码括起来的,开始的花括号其实可以理解为有一段汇编代码(具体细节以后会有文章进行解释)对堆栈进行操作。那堆栈从哪来呢?显然,堆栈是一块内存区,也就是说我们用C程序写代码之前,必须保证内存已经初始化好了、可以用了。回忆一下,我们在《什么是boot loader》一文中提到,SDRAM内存芯片的初始化是boot loader中很重要的一步。也就是说,我们必须保证初始化好了SDRAM内存芯片后,才能进行C函数调用。因此,完全用C语言来实现boot loader是不可行的。
转载至:
http://yunli.blog.51cto.com/831344/181630
0 0
- boot loader能全部用C程序编写吗
- 我们说boot loader通常采用汇编和C语言相结合来编写的,那能不能全部用C语言来进行编写呢?为什么
- Boot Loader启动加载程序
- C语言编写能加减乘矩阵的程序
- zstack -Serial Boot Loader(串口下程序)
- boot loader
- Boot Loader
- boot loader
- Boot Loader
- 用c编写cgi程序
- 用c编写cgi程序
- 用c 编写mex 程序
- 用C编写mex程序
- 编写一个程序,实现“全部替换”功能
- 用visual stdio C#编写的程序能移植到wince的系统中吗?
- 【C】用VS编写C程序
- 关于boot loader装载程序的学习纪录
- 汇编代码写软盘boot loader(包括安装程序)
- SpringMVC-轻松上手
- 3-内核对象
- struts2和springmvc比较1
- 第4章 数据访问层
- python之sklearn
- boot loader能全部用C程序编写吗
- 手机建站的几大必备要素
- Java虚拟机(五):虚拟机类加载
- 压缩zip文件和解压zip格式的文件
- 12c trancate table cascade
- PAFA 框架报错java.io.FileNotFoundException: class path resource [log4j.properties] cannot be resolved to
- maven 分模块开发
- 使用shell实现对xml文件的指定字段进行修改,默认替换成当时的时间戳
- netfilter/iptables全攻略