关于BIOS效验和

AMD Radeon RX 460和RX 470显卡BIOS分享 AMD Radeon RX 460和RX 470显卡自2016年推出以来,就以其卓越的性能与功耗比获得了市场的认可。RX 460专为入门级和中端市场设计,而RX 470则针对更高端的游戏体验。两款显卡均基于Polaris架构,配备了新的GCN 4.0核心,提供了良好的图形性能,同时保证了较高的能效比。BIOS(Basic Input/Output System)是计算机最基本且重要的固件系统之一,位于主板上的一块可擦写ROM芯片中。 阅读详情


/*
开始在看AwdbEdit是发现InternalBIOS CheckSum和其后的一个字节是两个关联的数值

即其后的字节(也就是DecompressBlock_Align_4KB的最后一个字节)是
InternalBIOS CheckSum的值加上一个固定值
(InternalBIOS CheckSum,AwdbEdit就是这样计算的,在Award BIOS 6.00PG中才会检验/*AwdbEdit*/???
但是在2Mb Award BIOS Src中并没有找到相关的代码,可能是我没找到,但是Award BIOS Reverse Engine中对BIOS的反汇编
代码中的确证明有这样的代码...confusing)

但是用AwdbEdit修改的BIOS不能正常运行
刷新后机器在启动时显示BIOS 效验和错误
将其与cbrom215修改的BIOS镜像作2进制比较时发现DecompressBlock_Align_4KB的最后一个字节不一致

估计就是这里计算有问题
既然awdbedit不能正常操作
那么假设最后一个字节(暂时称为加压缩模块效验和DecompressCRC,见后面。。。)与前一个字节有数值上的关联
及它们的差值固定
在修改时先记录DecompressCRC与BIOS_CRC的差值
计算BIOS_CRC后,DecompressCRC直接用BIOS_CRC加上前面计算的差值
但是这样有时候正确,有时候却与cbrom215不一致...
看来这样还是有问题

看了2Mb_AwardBIOS Src后,发现BIOS在INIT过程中会计算DecompressBlock的效验和
于是猜测计算时先计算BIOS_CRC,然后单独计算DecompressBlock的效验和写入最后一个字节
但是IDA反汇编的cbrom215好像不是这样
见下面的代码,
(dos格式的文件反汇编时,字符串与代码的对应不是很准确,猜测0xFFE然后找到如下代码
估计就是cbrom计算效验和的最后部分,但是从中间开始看,没看明白DecompressCRC与BIOS_CRC之间的关系,
待高手来解惑ing...)

/*Cbrom215.exe,IDA 5.xx Compiler:BC31,_main()代码超长...!???*/

loc_17874:                              ; CODE XREF: _main+5860j
seg000:7874 18E                 push    ds
seg000:7875 190                 mov     ax, ')+'
seg000:7878 190                 push    ax              ; mode
seg000:7879 192                 push    ss
seg000:787A 194                 lea     ax, [bp+path]
seg000:787E 194                 push    ax              ; path
seg000:787F 196                 call    _fopen
seg000:787F
seg000:7884 196                 add     sp, 8
seg000:7887 18E                 mov     word ptr [bp+stream+2], dx
seg000:788B 18E                 mov     word ptr [bp+stream], ax
seg000:788F 18E                 xor     ax, ax
seg000:7891 18E                 push    ax              ; whence
seg000:7892 190                 push    word ptr [bp+buf+2]
seg000:7895 192                 push    word ptr [bp+buf] ; offset
seg000:7898 194                 push    dx
seg000:7899 196                 push    word ptr [bp+stream] ; stream
seg000:789D 198                 call    _fseek
seg000:789D
seg000:78A2 198                 add     sp, 0Ah
seg000:78A5 18E                 mov     [bp+BIOS_CRC], 0
seg000:78A9 18E                 cmp     [bp+var_17], 0
seg000:78AD 18E                 jz      short loc_178C9
seg000:78AD
seg000:78AF 18E                 mov     dx, word ptr [bp+DecompressOffset+2]
seg000:78B2 18E                 mov     ax, word ptr [bp+DecompressOffset]
seg000:78B5 18E                 and     ax, 0FFFh
seg000:78B8 18E                 and     dx, 0FFFFh      ; 0xFFFF 0FFF?????????
seg000:78BC 18E                 or      ax, 0F000h
seg000:78BF 18E                 or      dx, 0           ; 0xFFFF 0FFF | 0x0000 F000????
seg000:78C3 18E                 mov     word ptr [bp+DecompressOffset+2], dx
seg000:78C6 18E                 mov     word ptr [bp+DecompressOffset], ax
seg000:78C6
seg000:78C9
seg000:78C9     loc_178C9:                              ; CODE XREF: _main+589Ej
seg000:78C9 18E                 mov     word ptr [bp+offset+2], 0
seg000:78CF 18E                 mov     word ptr [bp+offset], 0
seg000:78D5 18E                 jmp     short loc_17910
seg000:78D5
seg000:78D7     ; ---------------------------------------------------------------------------
seg000:78D7
seg000:78D7     loc_178D7:                              ; CODE XREF: _main+5917j
seg000:78D7                                             ; _main+591Fj
seg000:78D7 18E                 les     bx, [bp+stream]
seg000:78DB 18E                 dec     word ptr es:[bx]
seg000:78DE 18E                 jl      short loc_178EE
seg000:78DE
seg000:78E0 18E                 inc     word ptr es:[bx+0Ch]
seg000:78E4 18E                 les     bx, es:[bx+0Ch]
seg000:78E8 18E                 dec     bx
seg000:78E9 18E                 mov     al, es:[bx]
seg000:78EC 18E                 jmp     short loc_178FD
seg000:78EC
seg000:78EE     ; ---------------------------------------------------------------------------
seg000:78EE
seg000:78EE     loc_178EE:                              ; CODE XREF: _main+58CFj
seg000:78EE 18E                 push    word ptr [bp+stream+2]
seg000:78F2 190                 push    word ptr [bp+stream] ; stream
seg000:78F6 192                 call    sub_1C64E
seg000:78F6
seg000:78FB 192                 pop     cx
seg000:78FC 190                 pop     cx
seg000:78FC
seg000:78FD
seg000:78FD     loc_178FD:                              ; CODE XREF: _main+58DDj
seg000:78FD 18E                 mov     [bp+Decompress_CRC], al
seg000:7900 18E                 mov     al, [bp+Decompress_CRC]
seg000:7903 18E                 add     [bp+BIOS_CRC], al
seg000:7906 18E                 add     word ptr [bp+offset], 1
seg000:790B 18E                 adc     word ptr [bp+offset+2], 0
seg000:790B
seg000:7910
seg000:7910     loc_17910:                              ; CODE XREF: _main+58C6j
seg000:7910 18E                 mov     dx, word ptr [bp+DecompressOffset+2]
seg000:7913 18E                 mov     ax, word ptr [bp+DecompressOffset]
seg000:7916 18E                 sub     ax, word ptr [bp+buf]
seg000:7919 18E                 sbb     dx, word ptr [bp+buf+2] ; (DWORD)Decompress-(DWORD)buf
seg000:791C 18E                 add     ax, 0FFEh ; <suspicious> ; (DWORD)Decompress-(DWORD)buf +0xFFE
seg000:791C       ; <suspicious>                        ; BIOS效验和de偏移位置
seg000:791F 18E                 adc     dx, 0
seg000:7922 18E                 cmp     dx, word ptr [bp+offset+2]
seg000:7926 18E                 ja      short loc_178D7 ; above
seg000:7926
seg000:7928 18E                 jnz     short loc_17930
seg000:7928
seg000:792A 18E                 cmp     ax, word ptr [bp+offset]
seg000:792E 18E                 ja      short loc_178D7
seg000:792E
seg000:7930
seg000:7930     loc_17930:                              ; CODE XREF: _main+5919j
seg000:7930 18E                 les     bx, [bp+stream]
seg000:7934 18E                 dec     word ptr es:[bx]
seg000:7937 18E                 jl      short loc_17947
seg000:7937
seg000:7939 18E                 inc     word ptr es:[bx+0Ch]
seg000:793D 18E                 les     bx, es:[bx+0Ch]
seg000:7941 18E                 dec     bx
seg000:7942 18E                 mov     al, es:[bx]
seg000:7945 18E                 jmp     short loc_17956
seg000:7945
seg000:7947     ; ---------------------------------------------------------------------------
seg000:7947
seg000:7947     loc_17947:                              ; CODE XREF: _main+5928j
seg000:7947 18E                 push    word ptr [bp+stream+2]
seg000:794B 190                 push    word ptr [bp+stream] ; stream
seg000:794F 192                 call    sub_1C64E
seg000:794F
seg000:7954 192                 pop     cx
seg000:7955 190                 pop     cx
seg000:7955
seg000:7956
seg000:7956     loc_17956:                              ; CODE XREF: _main+5936j
seg000:7956 18E                 mov     [bp+Decompress_CRC], al
seg000:7959 18E                 xor     ax, ax
seg000:795B 18E                 push    ax              ; whence
seg000:795C 190                 mov     dx, word ptr [bp+DecompressOffset+2]
seg000:795F 190                 mov     ax, word ptr [bp+DecompressOffset]
seg000:7962 190                 add     ax, 0FFEh ; <suspicious> ; 现在ax=Decompress_Start+0xFFE    ;BIOS效验和的位置
seg000:7965 190                 adc     dx, 0
seg000:7968 190                 push    dx
seg000:7969 192                 push    ax              ; offset
seg000:796A 194                 push    word ptr [bp+stream+2]
seg000:796E 196                 push    word ptr [bp+stream] ; stream
seg000:7972 198                 call    _fseek          ; 移动到BIOS效验和的位置
seg000:7972
seg000:7977 198                 add     sp, 0Ah
seg000:797A 18E                 push    word ptr [bp+stream+2]
seg000:797E 190                 push    word ptr [bp+stream] ; stream
seg000:7982 192                 mov     al, [bp+BIOS_CRC]
seg000:7985 192                 mov     ah, 0
seg000:7987 192                 push    ax              ; c
seg000:7988 194                 call    _fputc          ; 写入BIOS效验和
seg000:7988
seg000:798D 194                 add     sp, 6
seg000:7990 18E                 mov     al, [bp+Decompress_CRC]
seg000:7993 18E                 sub     [bp+BIOS_CRC], al ; BIOS_CRC = BIOS_CRC - Decompress_CRC
seg000:7996 18E                 xor     ax, ax
seg000:7998 18E                 push    ax              ; whence
seg000:7999 190                 mov     dx, word ptr [bp+DecompressOffset+2]
seg000:799C 190                 mov     ax, word ptr [bp+DecompressOffset]
seg000:799F 190                 add     ax, 0FFFh ; <suspicious> ; 指向DecompressBlock的CRC8
seg000:79A2 190                 adc     dx, 0
seg000:79A5 190                 push    dx
seg000:79A6 192                 push    ax              ; offset
seg000:79A7 194                 push    word ptr [bp+stream+2]
seg000:79AB 196                 push    word ptr [bp+stream] ; stream
seg000:79AF 198                 call    _fseek          ; 现在指向DecompressBlock的效验和
seg000:79AF
seg000:79B4 198                 add     sp, 0Ah
seg000:79B7 18E                 les     bx, [bp+stream] ; [es:bx]=stream...????!!!!!!!!!!!!!
seg000:79BB 18E                 dec     word ptr es:[bx]
seg000:79BE 18E                 jl      short loc_179CE
seg000:79BE
seg000:79C0 18E                 inc     word ptr es:[bx+0Ch] ; var_178????
seg000:79C4 18E                 les     bx, es:[bx+0Ch] ; es:bx=es:bx+0xc????
seg000:79C8 18E                 dec     bx
seg000:79C9 18E                 mov     al, es:[bx]
seg000:79CC 18E                 jmp     short loc_179DD
seg000:79CC
seg000:79CE     ; ---------------------------------------------------------------------------
seg000:79CE
seg000:79CE     loc_179CE:                              ; CODE XREF: _main+59AFj
seg000:79CE 18E                 push    word ptr [bp+stream+2]
seg000:79D2 190                 push    word ptr [bp+stream] ; stream
seg000:79D6 192                 call    sub_1C64E
seg000:79D6
seg000:79DB 192                 pop     cx
seg000:79DC 190                 pop     cx
seg000:79DC
seg000:79DD
seg000:79DD     loc_179DD:                              ;!!!!!!!!!!!!??????; CODE XREF: _main+59BDj
seg000:79DD 18E                 mov     [bp+Decompress_CRC], al
seg000:79E0 18E                 mov     al, [bp+Decompress_CRC]
seg000:79E3 18E                 add     [bp+BIOS_CRC], al
                                        ;这里看似Decompress_CRC/*BIOS_CRC*/=Decompress+差值
                                        ;但是loc_179DD可能是seg000:79CC位置跳转过来到,那些代码重新修改了Decompress_CRC
                                        ;看不明白了...
seg000:79E6 18E                 xor     ax, ax
seg000:79E8 18E                 push    ax              ; whence
seg000:79E9 190                 mov     dx, word ptr [bp+DecompressOffset+2]
seg000:79EC 190                 mov     ax, word ptr [bp+DecompressOffset]
seg000:79EF 190                 add     ax, 0FFFh ; <suspicious>
seg000:79F2 190                 adc     dx, 0
seg000:79F5 190                 push    dx
seg000:79F6 192                 push    ax              ; offset
seg000:79F7 194                 push    word ptr [bp+stream+2]
seg000:79FB 196                 push    word ptr [bp+stream] ; stream
seg000:79FF 198                 call    _fseek          ; 移动到解压缩模块效验和的位置
seg000:79FF
seg000:7A04 198                 add     sp, 0Ah
seg000:7A07 18E                 push    word ptr [bp+stream+2]
seg000:7A0B 190                 push    word ptr [bp+stream] ; stream
seg000:7A0F 192                 mov     al, [bp+BIOS_CRC]
seg000:7A12 192                 mov     ah, 0
seg000:7A14 192                 push    ax              ; c
seg000:7A15 194                 call    _fputc          ; 这里写入解压缩模块的效验和
seg000:7A15
seg000:7A1A 194                 add     sp, 6
seg000:7A1D 18E                 push    word ptr [bp+stream+2]
seg000:7A21 190                 push    word ptr [bp+stream] ; stream
seg000:7A25 192                 call    _fclose

经过测试验证猜测的正确性:

对于2Mb (256KB)的BIOS,在修改了Module以后,从镜像开始到解压缩模块的末尾倒数两字节结束,在这段
区间内计算CRC8,填入解压缩模块的倒数第二个字节(作为BIOS效验和),然后对解压缩模块单独做CRC8
填入解压缩模块的最后一个字节

两个效验和差没有数值关联
(曾经装模作样的证明它们之间的关系...
如下:
----------------------------------------------
       a0             b0    c0 d0
+---------------+----------+--+--+---+
|   Modules.0   |  Decomp  |c0|d0|...|
+---------------+----------+--+--+---+

+---------------+----------+--+--+---+
|   Modules.1   |  Decomp  |c1|d1|...|
+---------------+----------+--+--+---+
       a1             b1    c1 d1
----------------------------------------------
Given:
    a0+b0=-c0
    b0+c0=-d0
   
    a1+b1=-c1
    b1+c1=-d1
       
    b0=b1

?:  d1-c1=d0-c0
       
        现在看起来好搞笑...hehhe
)


//=====================================================

今天测试512KB的BIOS时发现
decompress_start[0xFFF]并不能正常运行
对于256KB的BIOS可以,运行生成的镜像与cbrom215完全一致

但是针对512KB时,计算的BIOS_CKSUM并不对,将计算的数据写入到了其它地方

用UltraEdit打开看时,
"= Award Decompression Block ="开始+4KB的位置并不是4KB对齐的

将自己生成的BIOS镜像与cbrom比较,发现
H:/>fc /b BIOS512.BIN new_bios.bin
Comparing files BIOS512.BIN and NEW_BIOS.BIN
0006FE3E: FF 20
0006FE3F: FF 58
0006FFFE: FA 93
0006FFFF: 1A B3

由上可以判断6FFFE位置为BIOS Internal CRC
后面是DecompressionBlock的CRC

DecompressionBlock开始位置在0x6EE40,所以代码将效验和写入到了0x6EE40+0xFFE (0xFFFF),
所以才有上面的结果
*/
待修正。。。


观察一下,这两个位置都是4KB Align,而向上就可以找到BBSS结构

所以猜测awd bios 6.00PG的效验和的位置在BBSS数据结构位置4KB对齐的末尾...

也就是

ALIGN_4KB(BBSS_Addr)+0xFFE = Internal BIOS CRC
ALIGN_4KB(BBSS_Addr)+0xFFE = DecompressionBlock CRC

待修正...

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
注:
BIOS的各个模块之间有1到两个字节的空隙
第一个字节一般为零
第二个字节如果存在的话,其值为当前模块的效验和,即模块所有字节之和。

一般来讲,第一个模块为SystemBIOS模块,加压缩后拷贝到(E,如果为128KB)F000段
此模块后面一般有两个字节(ExtraSize=2),其它模块ExtraSize为一个字节

按AwdbEdit来讲,BIOS的模块ExtraSize一般为如下几种:
2-1-1   :第一个模块后又两个字节,其它模块后又一个字节
2-2-2   :每个模块后面有两个字节
1-1-1   :每个模块后都有一个字节

添加模块应该判断BIOS模块的布局,然后新添加的模块按布局加入,并修正效验和

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

华硕B85主板NVME引导BIOS Windows下刷入方法(无需编程器) B85-PRO-GAMER刷写支持NVMe的BIOS需准备官网最新2203版BIOS及AISuite3工具。使用EZUPDATE验证原版BIOS文件,通过后将修改好的BIOS替换至指定路径,再次点击更新完成刷写。重启后即可验证NVMe功能是否生效。步骤清晰,关键在于正确替换与验证流程。 阅读详情

相关推荐

Phoenix/Insyde/Dell/EFI 自助修改工具 PhoenixTool 2.64

Phoenix/Insyde/Dell/EFI BIOS 添加、替换 SLIC 和 SLP 字 串,破解 SLI,以及更新其他模块的工具。   PhoenixTool.exe为英文原版,PhoenixTool_cn.exe为汉化版。 注:1、修改BIOS时可能需要提供RW Everything报告。   2、用待改BIOS的电脑启动RW Everything(v1.2以上),菜单选 “Access”-->“ACPI Tables”,ACPI Table窗口出现后,按Ctrl +F2保存RW报告。 声明:仅用于试验环境的技术研究以及漏洞的验证。不涉及任何有 版权的内容,仅供技术交流研究之用。请使用者在24小时内删除, 由此引发的纠纷,一切后果自负!

6/7/8/9/10/11代主板刷bios跳过校验方法刷修改bios自制bios方法

6/7/8/9/10/11代主板刷bios跳过校验工具v1.0是一个刷bios软件可以刷修改过的bios文件,可以刷自制bios文件,可以用于添加微码、改logo、加oem激活信息等操作后不能通过校验,无法用主板原来方法直接刷入时,用本工具可以直接刷入破解后的bios文件。 如果是华硕主板不能直接刷官网下载的CAP格式bios文件,需要先用本软件备份bios文件后修改完再刷入。 这个最新刷bios工具可以自动过校验,破解主板bios文件签名校验验证,直接刷修改过的bios文件。 例如想改电脑主板开...

baiseled的博客 1万+

网卡PXE_ROM写入主板BIOS方法

网卡PXE_ROM写入主板BIOS方法网卡PXE_ROM写入主板BIOS方法

【BIOS测试流程介绍】

BIOS测试流程介绍

华为奋斗者精神 7760

BIOSEdit2.2.13.zip

Phoenix BIOS 修改工具 V2.2.1.3版。32位Windows系统。亲测可用,上传供需要者共享使用。

awdbedit 1.0

AwardBiosEditor1.0_window

x86汇编学习记录-3月28日

1. 使用xor ax, ax完成设置寄存器为0一个数和自己进行异或结果为0,因此可以使用 xor ax, ax 完成对寄存器ax清零的操作,这比mov ax, 0来的更高效而且指令占用的内存空间更少。 2. 使用and ax, ax判断设置SF位从而快捷地判断ax的正负性and ax, ax不会改变ax的值,但是会影响到标志寄存器SF,在这条语句之后,常常跟上js/jns从而完成为正跳转或者为负

huizhang0110 2万+

Phoenix bios 校验程序

Phoenix bios 校验程序 在DOS命令行下,运行phnxcksm.exe ****.***(****.***为你的BIOS包,即可进行校验)

滴滴故障表

Award BIOS:1短:系统正常启动2短:常规错误。解决方法:重设BIOS1长1短:RAM或主板出错1长2短:显示器或显示卡错误1长3短:键盘控制器错误1长9短:主板FLASH RAM 或EPROM错误,BIOS损坏不停地响(长声):内存条未插紧或损坏不听地响:电源、显示器未和显卡连接好重复短响:电源有问题无声音无显示:电源有问题AWI BIOS:1短:内存刷新失败。解决方法,更换内存条2短:...

weixin_34234721的博客 112

告别实车测试:手把手教你用Vector VT平台搭建OBC/DCDC的HIL测试台架

本文详细介绍了如何利用Vector VT平台搭建新能源汽车OBC/DCDC的HIL测试台架,涵盖硬件选型、模型部署到自动化测试的全流程。通过HIL仿真测试技术,工程师可以高效验证动力域关键部件,大幅缩短开发周期并降低成本,特别适合新能源汽车三电系统的开发验证。

weixin_42659194的博客 341

MIMO技术入门

MIMO:多天线技术,发射端和接收端有多个天线(注意:并不是指多个天线板,而是多套振子,每一套是一个独立的天线。) 4G:2、8天线 5G:4、64天线(64T64R) 手机也是多天线 MIMO实现效果的分类: 1)空间分集 。2)空间复用。3)波束赋形。 空间分集(space diversity) 作用:提升接收质量 利用多个天线发射或者接收一个数据流,避免单个信道衰落对整个链路的影响。(比如你的耳机坏了一只并不影响另一只) 空间复用(space multiplexing) 作用:提升速率 利

About1129的博客 2877

利用CH341A编程器刷新BIOS,恢复BIOS,妈妈再也不用担心BIOS刷坏了

前几天,修电脑主析就捣鼓刷BIOS,结果刷完黑屏开不了机,立刻意识到完了,BIOS刷错了。就从网上查资料,各种方法试了个遍,什么用处都没有。终于功夫不负有心人,找到了编码器,知道了怎么用。下面看看具体用法:先买了一个便宜点的编码器:<ignore_js_op>把刷错的BIOS芯片先拆下来:<ignore_js_op>把芯片放到编码器上:再找一台电脑,我的笔记...

weixin_34343308的博客 1万+

迈德威视相机调用( 基于 Linux系统+ OpenCV )

迈德威视相机调用( 基于 Linux系统+ OpenCV )前言一、登录迈德威视官网,下载官方SDK二、代码调用与视频帧处理( 基于 OpenCV )总结 前言     此博客记录了迈德威视工业相机在 Linux 系统下的代码调用及其环境配置,通过 OpenCV 对视频帧进行处理。   一、登录迈德威视官网,下载官方SDK      迈德威视官网 : http://www.mindvision.com.cn/     1. 进入官网后,在服务支持中选择软件下载。    2. 选择Linux系统S.

kkkkkk0729的博客 5680

常见BIOS报警

Award BIOS: 1短:系统正常启动2短:常规错误。解决方法:重设BIOS1长1短:RAM或主板出错1长2短:显示器或显示卡错误1长3短:键盘控制器错误1长9短:主板FLASH RAM 或EPROM错误,BIOS损坏不停地响(长声):内存条未插紧或损坏不听地响:电源、显示器未和显卡连接好重复短响:电源有问题无声音无显示:电源有问题AWI BIOS:1短:内存刷新失败。解决方法,更换内存条2短

黑呵技术 938

《大明王朝1566》中,朝廷财政危机无法解决的根源分析

财政困局中的财富最终流向三重黑洞:​皇室挥霍​(如嘉靖炼丹修殿)、特权阶层贪腐​(严党年入百万两盐税)、制度性损耗​(宗室供养、低效官僚)。更深层的“钱”其实是被禁锢在道德化治理的牢笼中——当国家用“黄河长江皆可为用”的权术思维替代制度性改革时,财政危机便成为帝制王朝无法逃脱的宿命。

为了小家奋斗 1977

2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--下篇

我们可以看到,目前配置基本完成了,现在有两个错,一个是Chrome没安装,这个自己安装就可以了,如果不需要WEB测试也不影响开发,另一个是Simulator还没安装,这个主要是安装的时间太长了,也就是上面的这一步。这里要注意,这个下载安装会比较慢,有的载会特别卡造成安装失败,最好的办法是挂一个VPN,保证安装完成,不过这个可以在以后单独进行安装。至此,基本的安装完毕,好多人会以为Xcode就OK了,其实还没有,我们还缺少命令行工具包,这个在安装完Flutter以后进行设置。

weixin_48803304的博客 1412

awd BIOS rk ,'universal' tst

创建时间:2007-05-28文章属性:原创文章提交:icelord (icelord_at_sohu.com)Award BIOS Rootkit,universal test[author  ]:icelord[date    ]:2007/05/25[contact ]:icelord@sohu.com[申明]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

1270

26届数字IC秋招笔试面试全攻略 - CPU基础架构-数字IC设计专家

本文介绍了CPU基础架构的三大关键技术:流水线、冒险处理和指令集设计。首先解析了经典五级流水线结构(取指、译码、执行、访存、写回)及其性能指标。其次详细阐述了三种流水线冒险(数据、控制、结构)及解决方案,如数据前递、分支预测等。最后对比了RISC与CISC指令集特点,并以RISC-V为例说明指令格式设计原则。全文系统梳理了CPU核心架构知识,为数字IC设计提供重要参考。

2301_79143213的博客 932

nec7小主机 刷bios

6、当ch341驱动正常安装,编程器也正常连接后,点击检测选项,程序会显示出当前的bios芯片和状态,右下方红字会显示已连接状态。新入手一个nec7(联想代工,相当于m710q)小主机,b250主板,1151针主板,支持7代cpu,刷bios支持更高级别cpu(Intel 8.9.10代)。3、查看你的bios芯片属于24/25系列,将转接板插入对应槽位,我的是w25q128系列bios芯片,属于25系列。2、收到编程器后,夹子的红色线位置对应板子bios芯片的点位置,下图为夹子线。

qq_38604769的博客 8491

告别传统RAG的痛点!Agent Skills让知识库检索更智能(本地知识库搭建新思路:用Agent Skills实现渐进式检索)

传统RAG在知识库检索中存在文档结构丢失、Token消耗大等问题 📚 Agent Skills通过分层索引、渐进式检索等设计,实现了更智能的本地知识库检索方案 🤖 本文详细介绍了Agent Skills的核心设计理念、与传统RAG的对比以及实践建议,帮助你搭建高效的知识库系统 ✅

XiaoqiangClub的博客 697

使用MATLAB进行灰色预测 GM(1,1)

使用MATLAB进行灰色预测 GM(1,1)

Hou_____的博客 1000

主板BIOS声音诊断

Award BIOS: 1短:系统正常启动 2短:常规错误。解决方法:重设BIOS 1长1短:RAM或主板出错 1长2短:显示器或显示卡错误 1长3短:键盘控制器错误 1长9短:主板FLASH RAM 或EPROM错误,BIOS损坏 不停地响(长声):内存条未插紧或损坏 不听地响:电源、显示器未和显卡连接好 重复短响:电源有问题 无声音无显示:电源有问题 AWI BIOS: ...

kanwoerzi 350

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

BIOS报警声音大全

BIOS报警声音大全BIOS报警声音大全 AWARD BIOS响铃声的一般含义是: 1短: 系统正常启动。这是我们每天都能听到的,也表明机器没有任何问题。 2短: 常规错误,请进入CMOS Setup,重新设置不正确的选项。 1长1短: RAM或主板出错。换一条内存试试,若还是不行,只好更换主板。 1长2短: 显示器或显示卡错误。 1长3短: 键盘控制器错误。检查主板。 1长9短: 主板F

chenjl1031的专栏 1428

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

bios 详解4

四、 Chipset Features Setup(主板芯片组的高级设置) 1、EDO CASx#MA Wait State(EDO CASx#MA等待时间) 这里是在读取内存页行数据时等待的时钟周期,如果你的内存条的速度是60ns,最好用一个周期,这样速度才会匹配的好。如果是低于60ns,就选2。 默认值;1(1个时钟周期) 2、EDO CASx#MA...

weixin_34106122的博客 1776
上一篇: awdBIOS 镜像结构简单分析
下一篇: WinFlash AwdFlash分析
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值