星期三,十一月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开发环境相关推荐

  1. APP定制开发:APP软件开发的语言和开发环境

    APP软件开发是移动互联网开发公司常开发的一种手机应用系统,对于刚刚进入APP软件开发领域的新手来说,选择什么编程语言和需要什么开发环境来开发APP软件是常遇到的问题.下面亿合科技小编来为大家分享下: ...

  2. 使用Clion开发C语言程序,环境安装配置,保姆级教程

    墙裂推荐:C语言学习资源汇总,史上最全面总结,没有之一 C语言开发神器--Clion 首先我们到官网下载安装包 安装包下载后,鼠标双击下载的exe文件,然后点击next 选择安装目录,然后点击next ...

  3. 使用VScode开发C语言程序,环境安装配置,保姆级教程

    墙裂推荐:C语言学习资源汇总,史上最全面总结,没有之一 首先我们要现在vscode和mingw64安装包 由于网络原因,vscode和mingw64的安装包下载比较慢,冲哥这里已经下载好了并上传到了网 ...

  4. GO语言eclipse开发环境搭建

    2019独角兽企业重金招聘Python工程师标准>>> 一.配置GO的环境变量 最新稳定版 1.9.2 安装包 go1.9.2.windows-amd64.msi下载地址 https ...

  5. C语言实验源程序保存,实验一 C语言集成开发环境

    C语言实验 实验一 C语言集成开发环境 实验时间:2010年9月26日 [实验目的] 1.了解Visual C++6.0的开发环境: 2.掌握C语言源程序的建立.编辑.修改.保存.编译.连接和运行的方 ...

  6. linux 搭建go编译环境搭建,linux上搭建完整go语言vim开发环境

    现在docker和kubernetes等容器相关的技术大热,但是却没有一个可以一键式安装的go语言开发环境,我通过几天的摸索,在centos7上搭建了vim开发golang的整套环境,包括nerdtr ...

  7. 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码

    Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...

  8. 游戏程序设计 # ch13 开发工具 # 开发语言、开发环境、腾讯开发组件、网络通信和业务框架介绍

    第十三章 开发工具 1 开发语言 2 开发环境 3 腾讯开发组件介绍 4 网络通信+业务框架介绍 第一节 开发语言 腾讯服务器主要使用的语言是C/C++ 第二节 开发环境 (指:客户端) 第三节 腾讯 ...

  9. 怎么搭建一个C语言的开发环境?

    什么是C语言 C语言是一种通用的.面向过程的编程语言,它具有高效.灵活.可移植等优点.在最近20多年里,它被运用在各种系统软件与应用软件的开发中,是使用最广泛的编程语言之一.本章将针对C语言的发展历史 ...

  10. komodo edit 支持java么_Komodo Edit for Mac(多语言集成开发环境)

    原标题:Komodo Edit for Mac(多语言集成开发环境) Komodo Edit for mac是一个跨平台支持多种程序语言的Integrated Development Environm ...

最新文章

  1. 关于mtl_transactions_interface表序列
  2. Activiti部署报错
  3. datagrip中sqlite3导入csv数据集
  4. java 成员变量的初始化_Java类变量和成员变量初始化过程
  5. core java面试题_CoreJava基础面试题
  6. Java-Concurrent 线程池ThreadPoolExecutor使用
  7. Updates were rejected because the tip of your current branch is behind
  8. diy无感无刷电机霍尔安装_从工作原理来了解意大利Brusatori无刷电机
  9. matlab 工程文件下载,工程文件管理 - MATLAB Simulink - MathWorks 中国
  10. RED HAT 7 性能监控工具
  11. MapReduce运行流程分析
  12. 【传统编码技术对比】汉明码,RS,卷积码三种编码技术的对比
  13. 黑苹果intel网卡驱动
  14. 创建一个urdf机器人_ROS机器人Diego制作16-创建机器人的urdf模型描述文件
  15. ionic3硬件检测、请求权限插件 Diagnostic 的用法
  16. coxphfit+matlab,计算Cox比例风险模型的coxph和cph函数有什么区别?
  17. 生活-啤酒鸡 鸡啤酒 酒啤鸡 啤鸡酒- 做法
  18. 编程是一场漫长的修行
  19. 最全的世界汽车标志欣赏和LOGO释义
  20. LeakCanary 原理分析

热门文章

  1. linux edi esi eax 汇编指令,汇编指令lodsb和stosb、lodsd和stosd
  2. 超级计算机想象作文700字,智能世界想象作文700字
  3. 桥式整流以及电容作用
  4. Robot Framework (一)自动化测试框架搭建
  5. 优化器,sgd,adam等
  6. (HDU)1089 --A+B for Input-Output Practice (I)(输入输出练习(I))
  7. Oracle----oracle小知识总结
  8. 有关windows在调试ODOO8.0有些问题
  9. stl空间配置器alloc
  10. Unity3D研究院之2D游戏开发制作原理(二十一) 【转】