精华内容
下载资源
问答
  • bios开发学习全套资料.zip
  • amd bios 开发

    2013-03-27 22:21:51
    文档可作为amd bios 开发的参考资料
  • DSP/BIOS开发

    2015-02-13 13:42:27
    介绍了DSP/BIOS的开发过程,适合想从事DSP/BIOS开发的技术人员,相对比较简单。
  • 星期三,十一月14, 2007BIOS开发环境这篇文章主要是概述BIOS开发环境下的一些基础知识,有助于了解如何自己去撰写一个属于你自己的BIOS。大家都知道Legacy BIOS是使用Assembly所撰写,目前的UEFI则是使用C语言,但是...

    星期三,十一月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开发学习路线图,谢谢。
  • Beyond BIOS, bios 开发必备的书
  • dos和bios开发讲解.pdf

    2009-01-18 21:51:38
    dos和bios开发的讲解性质资料,老的资料不好找了
  • CCS7.4 SysBIOS开发环境搭建 首先,关于TI-RTOS、SYSBIOS、XDCTools这些概念及相互之间的关系,请参考下面链接文档描述: ...

    CCS7.4 SysBIOS开发环境搭建

    首先,关于TI-RTOS、SYSBIOS、XDCTools这些概念及相互之间的关系,请参考下面链接文档描述:

    https://blog.csdn.net/Xiao_Jie123/article/details/110273646?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161637810716780265459088%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161637810716780265459088&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-110273646.pc_search_result_before_js&utm_term=TI-RTOS+%E4%B8%8Esysbios

    1. CCS7.4集成开发环境安装

      1.1 软件获取:打开链接,https://software-dl.ti.com/ccs/esd/documents/ccs_downloads.html#code-composer-studio-version-7-downloads,下载如下软件版本:

      image-20210322102959887

      1.2 安装到”c:\ti”目录下,在弹出界面中选择编译需要添加的组件及安装过程中遇到选择时,勾选"Select All"选项 ,一路next,直到安装完成。这里不再图片展示。

    2. CCS 程序固化工具更新 (摘录广州创龙的开发搭建文档)

      CCS7.4 需更新 C2000 系列程序固化工具, 将程序固化至 TMS320F2837x 系列芯片的内部 FLASH,否则可能会出现如下报错。

      image-20210322104620344

      2.1 打开 CCS7.4,点击"Help -> Check for Updates"。

      2.2 勾选"Debug Server"、 “DS Flash"和"TI C2000 Device Support”,点击"Next >"。

      2.3 在弹出的“AvailableUpdates”对话框,勾选接收协议选项 ,点击"Next >"。

      2.4 更新完成后,点击 Yes,重启 CCS 等待安装更新内容。

      2.5 点击"Help -> Installation Details", 可查看 CCS 固化工具更新情况。

    3. 软件开发包BIOS

      3.1 获取BIOS开发包

      打开链接地址:http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/index.html

      3.2 选择CCS7.4开发环境版本支持的XDCTools工具及SYS/BIOS开发包,可以选择最新的版本,点击下载。比如SYS/BIOS 6.73.01.01

      image-20210322105930874

      3.3 下载后的安装包,如:bios_6_73_01_01.exe,点击安装到“c:\ti\ccsv7”目录下即可,过程不再展示

    4. 配套XDCTools安装

      4.1 获取XDCTools安装包,打开3.1链接地址

      4.2 选择SYS/BIOS开发包支持的XDCTools工具,可以选择符合的版本,点击下载。比如XDCTools 3.50.08.24

      4.3 下载后的安装包,如:xdctools_3_50_08_24_core_win32.zip,点击安装到“c:\ti”目录下即可,过程不再展示

    5. TI-RTOS开发包安装

      5.1 获取TI-RTOS开发包,打开链接地址:https://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/index.html

      image-20210322112329781

      5.2 根据所使用的芯片类别,选择相应的TI-RTOS,如果使用C2000 Concerto系列,当前最新的版本是TI-RTOS_2.16.01.14,点击下载。

      5.3 下载后的安装包,如:tirtos_c2000_setupwin32_2_16_01_14.exe,点击安装到“c:\ti”目录下即可,过程不再展示

      注:TI针对各种行业应用提供了相应的开发包,可有效降低开发周期,需要的可以根据需要进行下载。

    展开全文
  • DSP/BIOS 开发套件 DDK1.1

    2011-03-08 20:27:33
    里面有非常详细的使用DSP/BIOS开发的例程
  • 调试已通过,100个数据太长了吧,我这就给出30个成绩记录data segmentcredit dw 76,69,84,90,73,88,99,63,100,80,45,64,24,36,51,20,19,86,89,90,76,69,84,90,73,88,99,63,100,80mes1 db '<60:$'mes2 db '60-85:$...

    调试已通过,100个数据太长了吧,我这就给出30个成绩记录

    data segment

    credit dw 76,69,84,90,73,88,99,63,100,80,45,64,24,36,51,20,19,86,89,90,76,69,84,90,73,88,99,63,100,80

    mes1 db '<60:$'

    mes2 db '60-85:$'

    mes3 db '>85:$'

    v1 dw 0

    v2 dw 0

    v3 dw 0

    data ends

    code segment

    assume cs:code,ds:data

    main proc far

    start:

    mov ax,data

    mov ds,ax

    call count ;统计各分段人数的子程序

    mov ah,4ch

    int 21h

    ret

    main endp

    ;------------------------------

    count proc near

    lea si,credit

    mov cx,30

    m1:mov bx,[si]

    add si,2

    cmp bx,60

    jg m2

    inc v1

    jmp m4

    m2:cmp bx,85

    jg m3

    inc v2

    jmp m4

    m3:inc v3

    m4:loop m1

    mov dx,offset mes1

    mov ah,09h

    int 21h

    mov bx,v1

    call bini

    call crlf

    mov dx,offset mes2

    mov ah,09h

    int 21h

    mov bx,v2

    call bini

    call crlf

    mov dx,offset mes3

    mov ah,09h

    int 21h

    mov bx,v3

    call bini

    ret

    count endp

    ;-----------------------------

    bini proc near

    mov cx,10d

    call bin

    mov cx,1d

    call bin

    ret

    bini endp

    bin proc near

    mov ax,bx

    mov dx,0

    div cx

    mov bx,dx

    mov dl,al

    add dl,30h

    mov ah,02h

    int 21h

    ret

    bin endp

    ;-------------------------------

    crlf proc near ;回车换行子程序

    mov dl,0ah

    mov ah,02h

    int 21h

    mov dl,0dh

    mov ah,02h

    int 21h

    ret

    crlf endp

    ;-------------------------------

    code ends

    end start

    取消

    评论

    展开全文
  • BIOS开发圣经之AMD篇,好文! Developer's Guide BKDG For AMD Family 10 Processors31116.pdf
  • amd m690 bios 开发手册

    2009-08-03 19:34:04
    amd m690的bios开发者手册,英文。
  • AMI CORE8 OEM BIOS开发入门

    千次阅读 2011-03-15 00:25:00
    AMI CORE8 OEM BIOS开发入门 收藏 有段时间有写书的想法,可是一直比较懒,到现在也只写了一个提纲。 提纲也好,毕竟是原创,发出来吧。 第一章 SDL System Description Language ...

    AMI CORE8 OEM BIOS开发入门 收藏

    有段时间有写书的想法,可是一直比较懒,到现在也只写了一个提纲。

    提纲也好,毕竟是原创,发出来吧。

    第一章

    SDL

    System Description Language (SDL)

    是AMI CORE8中引入的一种描述语言,SDL简单的说就是把BIOS代码中经常要改动的地方整理出来,单独放在SDL文件里面。这样要修改BIOS的时候,只需要改动SDL文件就可以了,不用去改动什么ASM,EQU,INC之类的文件。

    所以,用SDL的目的是为了易于BIOS工程师更好的维护整个project

    第一节
    TOKEN

    TOKEN在AMI CORE8中是非常重要的,拿到CRB BIOS Source code之后,其实一般改改TOKEN就能制作出一个能点亮主板的BIOS了(如果硬件没什么大问题的话)。

    TOKEN可以OUTPUT到EQU或者MAK

    因为有的情况是,根本没必要把某个文件或者Module编译进BIOS,用OUTPUT到MAK就可以实现这点。

    这里谈点个人经验,AMI做BIOS已经做了很多年了,基本上OEM BIOS需要改什么AMI的工程师都是清楚的,所以很多时候我们OEM BIOS工程师不需要去跑到代码内部去改,改改token就可以了。

    至于改哪个token,改为何值,这个其实可以去请教有经验的工程师。当然,自己也可以去摸索。

    问别人,当然很快。不过,我们也知道有句话:“纸上得来终觉浅,绝知此事要躬行”。自己摸索其实很有趣,在摸索的过程中是可以学到很多知识的,所以建议初学者有空的话还是多多自己摸索。

    很多东西,光是凭别人讲,你是体会不到的。


    第二节
    ELINK

    用CORE8用久了,就会觉得ELINK是个非常好的设计。

    CORE8的精髓就是模块化,面向对象思想的运用,虽然个人评价,这两点做得还不是很彻底,不过和Award比,强太多了。

    Elink可以被override,也可以自己增加,删除。

    假设有这样一种情况:CRB BIOS code中有某段代码我不需要执行,如果是Award代码,我必须到原始asm文件里面去改。但如果是CORE8,借用面向对象的术语,那段代码是可以被OEM Module重载的。

    不过CRB BIOS Source里面也不是所有源文件都可以被重载,有些AMI认为不需要被OEM修改的,还有silicon Vendor的一些code,比如Intel的MRC,AMD的Agesa都不是按照CORE8的架构写的,无法被OEM Module重载。

    注意:这里的重载应该不是严格意义上C++中的重载,实际意义应该类似于Override,只是一时半会我还找不到能用的中文词汇来表达这个意思。

    Elink主函数代码找不到的情况有:
    1.没有给源代码,即没有ASM文件,在OBJ文件
    2.用了SkipElink宏,


    SkipElink MACRO IdProc, Elink, Prolog:=<Skip>, JIdProc:=<jmp_si>, Jxx:=<jz>
     EXTERN Elink&End(DummyExternForOverrides):near
     EXTERN Prolog&Elink&End(DummyExternForOverrides):near
    Prolog&Elink PROC NEAR PUBLIC
     %JIdProc IdProc
     Jxx  Elink&End
     jmp  Prolog&Elink&End
    Prolog&Elink ENDP
    ENDM

    第三节
    PCI DEVICE

    这部分很简单,就是PCI routing的设定,对照硬件设定设好就OK

    还有Option ROM,我就碰到过网卡灯闪烁有问题,后来通过升级Option ROM来解决的情况。

    第四节
    IO DEVICE

    这里是legacy设备的一些设定,以前这些设备是在ISA总线上,现在则是LPC。

    一般这些设备都是集成在Super I/O芯片里面。

    第五节
    其他

    PATH

    MAK的指定

    第二章

    SSP
    ASD

    BIOS SETUP脚本语言

    ASD就是定义字符串用的

    第三章
    post asm
    bb asm
    smi asm


    第四章
    模块化

    第五章
    如何开发OEM BIOS
    1.Disable CRB?
    当然也可以Delete掉CRB


    2.Config your own onboard device
    a. GPIO Config
    GPIO.EQU
    放到Modulepart "OEM Board - BSP Files Modification"改
    b. Super I/O Reg Mod


    3.Microsoft OEM Activation1.0/2.0
    4.OEM LOGO/OSB LOGO
    5.Intel MRC modification
    6.For your custom modify

    ITE8718的PECI功能打开
    TOKEN
     Name  = "SIO_Secondary_Floppy"
     Value  = "0"
     Help  = "On:/EC register Index 0Ah bit 6 must be 0 for secondary floppy/Off:/External Thermal Sensor Host Selection"
     TokenType = Boolean
     TargetEQU = Yes
     TargetMAK = Yes
    End

    TOKEN
     Name  = "SIO_ITE8718_Pin55"
     Value  = "2"
     Help  = "External Thermal Sensor Host Selection:/0:AMDSI/1:SST Slave Device/2:PECI/3:SST Host"
     TokenType = Integer
     TargetEQU = Yes
     TargetMAK = Yes
    End

    ITE8720与此类似。

    Intel Desktop CPU从PECI给出的温度值是一个相对值,是相对于TCC的一个值,如果从PECI读出的值为零,说明CPU温度到达TCC,如果读出的值为1,则当前温度是TCC-1,以此类推……

    在此,顺便提一下Intel Mobile CPU,Mobile CPU的TCC换了一个名字,叫Tjmax,而且Tjmax可以通过读CPU MSR读出来(Desktop CPU的TCC是不能通过读MSR读出的,ATOM,包括专供笔记本的ATOM N270,也是如此),Merom核心的CPU,Tjmax为85或者100,Penryn核心的则为90或者105。

    AMI ITE8718模块的代码是做了直接在BIOS SETUP显示温度值的功能的,但如果是显示从PECI读取的CPU温度值(从PECI读取的温度值只能对应到TMPIN3),会显示负数,比如-50度 之类,这时会产生一个问题,CPU的FAN SPEED CONTROLL(FSC)怎么办?

    AMI也在BIOS SETUP里面做了设置FSC相关参数的功能,但那些选项无法输入负数。这个问题很好解决,我们可以直接在BIOS代码里面设定相关Register,再把BIOS SETUP相关选项隐藏起来。
    按照Intel推荐做法,起转温度=Tcontrol-10,起转PWM为20%,即128*20%=25.6取整为26,至于斜率Slope,按照Intel的要球,要在Tcontrol时风扇转速达到最大,则很容易算出Slope=10PWM/C

    Tcontrol的绝对值(offset)可以直接从CPU MSR读出来,于是,代码就很好写了,只要在AMI的那些设置FSC Register的代码之后,自己重设一下相关Register即可。

    Sample code:
    IF MKF_MRM_FAMILY   
    IF MKF_P4_PERFORM
     mov ecx, 01A2h  ;MSR_IA32_TEMP_TARGET_Offset
     RDMSR    ;TControl Offset (IA32_TEMPERATURE[15:8])
     neg ah   ;Tcontrol = -Tcontrol Offset
     sub ah, 10t  ;Start Temp = Tcontrol - 10
     mov al, 061h  ;for Fan_CTL1 is index 61.
     call SIOHHMWriteIO  ;Set Temp limit of Start register(Tcontrol-10)
    ENDIF
    ENDIF

    展开全文
  • bios开发常识

    千次阅读 2011-05-14 10:57:00
    bIos大概2年, 首先声明, 本人是业余出身, 没人拿到NDA 也没在这个圈里混过   1 首先分析厂家   老大当然是phoenix phoenix 确实是当之无愧的老大。 不管安全性(bios密码AMI 在...
  • 确切地说,google desktop并不是开发工具。但是这个工具可以帮助我们快速索引文件内容,比如源代码,比windows自带的文件内容索引要快很多。它还能记住你访问过的网页。我们平时会经常访问专业网站,学习技术细节。...
  • 新增 Cstyle的UEFI导读:Open source UEFI BIOS开发实战简介,基于Intel 10代酷睿Cometlake-U硬件平台 2020/11/27更新 1.新增 第2.2篇Event and Timer原理 2020/11/26更新 1.新增 第1.1篇PEI Image Service 2020/11/...
  • DSP BIOS开发配置

    2010-12-28 09:57:07
    这是从TI官方网站下载的DSP BIOS开发的 专门书籍 希望大家喜欢 享用
  • BIOS 相关技术文档 AMD family 10h processor,support X86. 作为AMD 平台BIOS 开发手册参考使用有很高的价值,不过该手册也比较久了,2008年release,里面的内容仅供参考学习
  • SYSBIOS系统开发入门-3-SYSBIOS 及其相关组件.mp4 SYSBIOS系统开发入门-3-SYSBIOS 及其相关组件.mp4 SYSBIOS系统开发入门-3-SYSBIOS 及其相关组件.mp4
  • TI dsp_bios用户手册与驱动开发

    热门讨论 2010-12-27 22:08:05
    从TI 公司网站下载的专门介绍 DSP BIOS 开发的 文档 很全面 也很实用 我自己就是靠这个学习DSP bios 的 希望 大家 受用
  • SYSBIOS系统开发入门-5-RTSC SYSBIOS CCS 工程.mp4 SYSBIOS系统开发入门-5-RTSC SYSBIOS CCS 工程.mp4 SYSBIOS系统开发入门-5-RTSC SYSBIOS CCS 工程.mp4
  • 基于DSP/BIOS的程序开发

    千次阅读 2011-03-25 14:32:00
    基于DSP/BIOS的程序开发  <br /> 基于...  <br /> 使用DSP/BIOS开发软件需要注意两点:  <br /> * 所有与硬件相关的操作都需要借助DSP/BIOS本身提供的函数完成,开发者要避免直接控制硬件
  • SYSBIOS系统开发入门-7-1-线程.mp4 SYSBIOS系统开发入门-7-1-线程.mp4 SYSBIOS系统开发入门-7-1-线程.mp4
  • SYSBIOS系统开发入门-2-实时操作系统.mp4 SYSBIOS系统开发入门-2-实时操作系统.mp4 SYSBIOS系统开发入门-2-实时操作系统.mp4
  • SYSBIOS系统开发入门-11-1-日志 上.rar SYSBIOS系统开发入门-11-1-日志 上.rar SYSBIOS系统开发入门-11-1-日志 上.rar
  • SYSBIOS系统开发入门-8-同步-信号量.mp4 SYSBIOS系统开发入门-8-同步-信号量.mp4 SYSBIOS系统开发入门-8-同步-信号量.mp4
  • SYSBIOS系统开发入门-4-RTSC 平台配置组件.mp4 SYSBIOS系统开发入门-4-RTSC 平台配置组件.mp4 SYSBIOS系统开发入门-4-RTSC 平台配置组件.mp4
  • SYSBIOS系统开发入门-9-定时服务 - 时钟 时间戳.rar SYSBIOS系统开发入门-9-定时服务 - 时钟 时间戳.rar SYSBIOS系统开发入门-9-定时服务 - 时钟 时间戳.rar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,266
精华内容 13,306
关键字:

bios开发