bios开发 c语言,BIOS开发环境
星期三,十一月14, 2007
BIOS开发环境
这篇文章主要是概述BIOS开发环境下的一些基础知识,有助于了解如何自己去撰写一个属于你自己的BIOS。
大家都知道Legacy BIOS是使用Assembly所撰写,目前的UEFI则是使用C语言,但是不论是哪一种BIOS,其开发环境下的基础知识都还是相同。
一般BIOS工程师开始学习BIOS Vendor所提供的BIOS Code时,最主要会学习下列几个项目:
1.Build process : BIOS ROM是如何产生,这部份要去了解的是整个流程如何?
例如: ( 一堆Source code) -->经过哪些Build process --> (产生BIOS.ROM)
2.Directory : BIOS Code的目录架构如何?哪些是属于Framework/Kernel/Oem ?
3.Build Config : BIOS相关参数的设定,每家Vendor设定方式都不同!
4.Build Tools : BIOS建立时使用了哪些工具, 一般都是MASM+VisualStudio+DDK+Bios Vendor自己开发的一些Tools。
5.Build your BIOS ROM :如何建立你的第一个BIOS ROM, 一般都是使用nmake/直接在IDE(整合开发环境下)下设定好,就可以直接去Build 一般个完整的BIOS ROM。
有了上述的整理分类,其实不难发现,实际上我们撰写的BIOS code只是一个BIOS Vendor做出来的环境下(或称为框架下)去"填写"一些属于我们的程式[1]码,就像是C语言的开发环境下你只需要知道在main(){.....}的括号内去撰写程式码就好了,后面的事情BIOS Vendor都帮你做好了。
所以OEM/ODM端的BIOS能够处理的东西都是比较偏向客户端的需求而去撰写一些代码,我们称这些代码为"Features"。而这些部份就像你买Asus /Acer/...etc不同家的电脑,里面所能提供的功能会不同。
虽
然好像看起来只是"填入" 一些代码,但是这部分又与整个硬体运作以及BIOS
Vendor所提供的代码的"稳定度"有很大的关系,所以如果只是单纯修改这些代码约1年可以上手,但是如果要能处理bug,那么可能就需要多年的经验累
积了。因此在这种OEM/ODM BIOS与BIOS
Vendor分工合作的情况之下,OEM/ODM端的BIOS有自己负责解决问题的地方,而BIOS
Vendor也有自己负责要处理的地方,大家相互合作。
说了这么多,对于BIOS开发环境应该有所了解,但是最近项目开始在忙了,所以会写Blog时间会比较少了,等过阵子等项目不忙的时候,我再告诉大家如何如果要实做一个类似BIOS vendor开发环境,你需要哪些工具,还有怎样子做。
张贴者: Harrison Hsieh位于4:45下午
标签: BIOS开发
bios开发 c语言,BIOS开发环境相关推荐
- APP定制开发:APP软件开发的语言和开发环境
APP软件开发是移动互联网开发公司常开发的一种手机应用系统,对于刚刚进入APP软件开发领域的新手来说,选择什么编程语言和需要什么开发环境来开发APP软件是常遇到的问题.下面亿合科技小编来为大家分享下: ...
- 使用Clion开发C语言程序,环境安装配置,保姆级教程
墙裂推荐:C语言学习资源汇总,史上最全面总结,没有之一 C语言开发神器--Clion 首先我们到官网下载安装包 安装包下载后,鼠标双击下载的exe文件,然后点击next 选择安装目录,然后点击next ...
- 使用VScode开发C语言程序,环境安装配置,保姆级教程
墙裂推荐:C语言学习资源汇总,史上最全面总结,没有之一 首先我们要现在vscode和mingw64安装包 由于网络原因,vscode和mingw64的安装包下载比较慢,冲哥这里已经下载好了并上传到了网 ...
- GO语言eclipse开发环境搭建
2019独角兽企业重金招聘Python工程师标准>>> 一.配置GO的环境变量 最新稳定版 1.9.2 安装包 go1.9.2.windows-amd64.msi下载地址 https ...
- C语言实验源程序保存,实验一 C语言集成开发环境
C语言实验 实验一 C语言集成开发环境 实验时间:2010年9月26日 [实验目的] 1.了解Visual C++6.0的开发环境: 2.掌握C语言源程序的建立.编辑.修改.保存.编译.连接和运行的方 ...
- linux 搭建go编译环境搭建,linux上搭建完整go语言vim开发环境
现在docker和kubernetes等容器相关的技术大热,但是却没有一个可以一键式安装的go语言开发环境,我通过几天的摸索,在centos7上搭建了vim开发golang的整套环境,包括nerdtr ...
- 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码
Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...
- 游戏程序设计 # ch13 开发工具 # 开发语言、开发环境、腾讯开发组件、网络通信和业务框架介绍
第十三章 开发工具 1 开发语言 2 开发环境 3 腾讯开发组件介绍 4 网络通信+业务框架介绍 第一节 开发语言 腾讯服务器主要使用的语言是C/C++ 第二节 开发环境 (指:客户端) 第三节 腾讯 ...
- 怎么搭建一个C语言的开发环境?
什么是C语言 C语言是一种通用的.面向过程的编程语言,它具有高效.灵活.可移植等优点.在最近20多年里,它被运用在各种系统软件与应用软件的开发中,是使用最广泛的编程语言之一.本章将针对C语言的发展历史 ...
- komodo edit 支持java么_Komodo Edit for Mac(多语言集成开发环境)
原标题:Komodo Edit for Mac(多语言集成开发环境) Komodo Edit for mac是一个跨平台支持多种程序语言的Integrated Development Environm ...
最新文章
- 关于mtl_transactions_interface表序列
- Activiti部署报错
- datagrip中sqlite3导入csv数据集
- java 成员变量的初始化_Java类变量和成员变量初始化过程
- core java面试题_CoreJava基础面试题
- Java-Concurrent 线程池ThreadPoolExecutor使用
- Updates were rejected because the tip of your current branch is behind
- diy无感无刷电机霍尔安装_从工作原理来了解意大利Brusatori无刷电机
- matlab 工程文件下载,工程文件管理
- MATLAB Simulink
- MathWorks 中国
- RED HAT 7 性能监控工具
- MapReduce运行流程分析
- 【传统编码技术对比】汉明码,RS,卷积码三种编码技术的对比
- 黑苹果intel网卡驱动
- 创建一个urdf机器人_ROS机器人Diego制作16-创建机器人的urdf模型描述文件
- ionic3硬件检测、请求权限插件 Diagnostic 的用法
- coxphfit+matlab,计算Cox比例风险模型的coxph和cph函数有什么区别?
- 生活-啤酒鸡 鸡啤酒 酒啤鸡 啤鸡酒- 做法
- 编程是一场漫长的修行
- 最全的世界汽车标志欣赏和LOGO释义
- LeakCanary 原理分析
热门文章
- linux edi esi eax 汇编指令,汇编指令lodsb和stosb、lodsd和stosd
- 超级计算机想象作文700字,智能世界想象作文700字
- 桥式整流以及电容作用
- Robot Framework (一)自动化测试框架搭建
- 优化器,sgd,adam等
- (HDU)1089 --A+B for Input-Output Practice (I)(输入输出练习(I))
- Oracle----oracle小知识总结
- 有关windows在调试ODOO8.0有些问题
- stl空间配置器alloc
- Unity3D研究院之2D游戏开发制作原理(二十一) 【转】