KTD-00734-J BFlash User Manual
KTD-00734-J BFlash User Manual
KTD-00734-J BFlash User Manual
pITX-E38, mITX-E38, KTQM87, KTQM87, KTH81, KTQM77, KTHM76, KTQM67, KTHM65, KTQ77, KTQ67,
KTA75, KTA70M, KTA55, KTQ45,.
Note that support for the following EOL boards will no longer be maintained: KTGM45, pITX-SP, KTUS15,
KT690, KT965, 986LCD-M, JRex-plus-DC, KTG41, KT780, 886LCD-M, 886LCD-GV, 786LCD/mITX, 786LCD,
GX1LCD, GXM, 686LCD and 486LCD.
In this user manual the abbreviation BF is used for BFlash. This also match with the actual name of the SW
tool (BF.EXE). BF is supported by DOS/Win2000/WinXP/Win2003/Vista/Win7 incl. 64bit OS supported. BF
can be used to read and write data to - and from BIOS Flash RAM, EEPROM and CMOS storage. By this tool
it is possible to update BIOS, change DMI codes, setup Vendor codes and save copies of all data. The copies
can be used as Master data for mass production.
Type BF <ret> from DOS prompt to see the BFlash version number and the actual board version.
As an example the version in the picture below is 7.73 and the actual board is KTQM87.
Copyright Notice:
No part of this document may be reproduced or transmitted in any form or by any means, electronically or
mechanically, for any purpose, without the express written permission of KONTRON Technology A/S.
Disclaimer:
KONTRON Technology A/S reserves the right to make changes, without notice, to any product, including
circuits and/or software described or contained in this manual in order to improve design and/or performance.
Specifications listed in this manual are subject to change without notice. KONTRON Technology assumes no
responsibility or liability for the use of the described product(s), conveys no license or title under any patent,
copyright, or mask work rights to these products, and makes no representations or warranties that these
products are free from patent, copyright, or mask work right infringement, unless otherwise specified.
Applications that are described in this manual are for illustration purposes only. KONTRON Technology A/S
makes no representation or warranty that such application will be suitable for the specified use without further
testing or modification.
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 2 of 19
Introduction
BF is used by typing BF and optionally a command and optionally followed by one or more parameters. This
can be done from a DOS prompt or from a BAT file. The BAT file can be executed also from Windows.
Where <> is the name of the required command and [] is optional parameter(s)
The BF, <command>, [Option1] to [OptionN] are all separated by space character.
(If no command is entered then the response will be as shown on previous page).
The [Option1] to [OptionN] can be a sub-command, a file name, an address, an address space, data
bytes/Words/DWords, text string and a count number.
This command line will make a safe write of the bios.rom file. More specific it will be verify that the parameter
bios.rom is a BIOS file and that it matches the actual board and further more that the file is not corrupted. This
command line requires that bf.exe and bios.rom is located in the same directory.
Warning: Incorrect use of BF can corrupt BIOS and/or EEPROM and make the board
unstable or even not boot anymore. It’s recommended to use the command
! “SafeWrite” instead of “Write” to make sure not to load wrong or corrupted BIOS types.
In case BF is executed from Windows Vista/2008 you have to disabled UAC (see below how to do) before BF
will work. If UAC is not disabled you will see the error message “OpenSCManager Failed, Access Denied.”
To disable UAC:
Start "msconfig" from a command prompt
Goto “Tools"
Find "Disable UAC" Option and select it
Reboot system.
Alternatively, click Start and in ”Search programs and files” type CMD and then <Ctrl><Shft><Ret>.
This will open DOS like window (as shown on previous page) and it has Administrator rights. From here
execute the BF.EXE or relevant batch file.
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 3 of 19
Command syntaxes
Below is a list of all the BF command syntaxes. The most common commands are marked in bold.
BiosID
CmosClr [Optimal/Failsafe]
CmosDump
CmosLoad <FileName>
CmosSave <FileName>
CmosWrite <Flash Address> <Data> [Data]
DisableOEM
DMIInfo <Runtime/Onboard/Romfile> [File Name/Dmi Type]
DMIWrite <DMIScript> <FileName/Onboard>
DMISave <DMIScript>
Dump <Flash address>
Eadd <Text/File> <ID> <N> [Data/Filename]
EClr
EDump [Memory Address] [Dump Length]
Edelete <ID> <N>
Elist
Eload <FileName.dat>
EnableOEM
EPoke <EEPROM Address> <Data> [Data]
Erecover
ESave <FileName.dat>
FlashID
FlashSupport
Help
MDump <Memory Address> [Dump Length]
MDumpd <Memory Address> [Dump Length]
MDumpw <Memory Address> [Dump Length]
MPeek <Memory Address>
MPoke <Memory Address> <Data> [Data]
MPoked <Memory Address> <Data> [Data]
MPokew <Memory Address> <Data> [Data]
Mread <Filename> <Address> <Count>
Mwrite <Filename> <Address>
Peek <Flash address>
Poke <Flash address> <Data>
Read <File name> <Flash address> <Count>
recovermac
SafeWrite <Filename> [CRC32/RECOVER/FULLUPDATE]
SLP [SLPKey/TextFile] [Data][Romfile/Onboard]
Write <File name> <Flash address> [Exclude xxxxxx-xxxxxx]
XCRC32 <FileName>
<text>: text is present in command line as ascii –characters, no space character is allowed.
<file>: file name is present in command line (space character 0x40 can be used)
<hex>: text in hex code is present in command line, hex characters are space separated.
<ID>: Use for identifying type of data to be handled in combination with Eadd and Edelete.
<N>: unique 2-digit number to identify each of the added data via Eadd.
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 4 of 19
So order of hex characters are changed in BIOS compared to string in amidedos and bf:
BIOS {0a4b0730-28a2-52cc-98417e88e1986520}
Hex character order (in hex) 3 2 1 0 5 4 7 6 8 9 A B C D E F
If the System Manufacture is name without space character then more simple command is possible:
bf eadd text 111 01 11xyz will make System Manufacture = xyz
If N is already used (like above N = 01) but has to be modified then use the command bf Edelete 111 01, to
delete the N = 01.
bf Eadd text 111 02 12System-ABC will make DMI ProductName = System-ABC (verify by amidedos /sp)
bf Eadd text 111 03 14System-001 will make DMI System Version = System-001 (verify by amidedos /sv)
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 5 of 19
bf Eadd file 111 05 SF.dat where SF.dat = 16MB family A123, makes DMI Family = MB family A123
DMI Type
DMI No 0 (Reserved) 1 (DMI Type1) 2 (Reserved) 3 (DMI Type 3) 4 (DMI Type 11)
0 (Reserved) - - - - -
1 Manufacturer - 11text - 31text -
2 ProductName - 12text - - -
3 SerialNumber - 13text - 33text -
4 Version - 14text - 34text -
5 SKU - 15text - - -
6 Family - 16text - - -
7 UniqueUUID - 17text - - -
8 TagNumber - - - 38text -
9 OEMString1 - - - - 39text
10 OEMString2 - - - - 3Atext
11 OEMString3 - - - - 3Btext
12 OEMString4 - - - - 3Ctext
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 6 of 19
KTQM67, KTQM77
KTHM65, KTHM76
KTA70M, KTA75
KTQ67, KTQ77
JRexplus-DC
986LCD-M
KTQM87
KTGM45
KTUS15
pITX-SP
KTQ87
KTQ45
KTH81
KTA55
KT965
KT690
BiosID + + + + + + + - + + + - + - + +
CmosClr + + + + + + + + + + + + + + + +
CmosDump + + + + + + + + + + + + + + + +
CmosLoad + + + + + + + + + + + + + + + +
CmosSave + + + + + + + + + + + + + + + +
CmosWrite + + + + + + + + + + + + + + + +
DisableOEM - + + + - + - + +
DMIInfo Onboard - - - - - - - + + + + + + + + +
DMIInfo Runtime + + + + + + + + + + + + + + + +
DMIWrite - - - - - - - - + + + - + - + +
DMISave - - - - - - - - + + + - + - + +
Dump + + + + + + + + + + + + + + + +
Eadd + + + + + + +
EClr - - - - - - - - + + + - + - + +
Edelete + + + + + + +
EDump + + + + + + + - + + + - + - + +
Elist + + + + + + +
Eload + + + + + + + - + + + - + - + +
EnableOEM - + + + - + - + +
EPoke + + + + + + + - + + + - + - + +
Erecover + + + + + + +
ESave + + + + + + + - + + + - + - + +
FlashID + + + + + + + + +
FlashSupport + + + + + + + + +
Help + + + + + + + + +
MDump + + + + + + + + + + + + + + + +
MDumpd + + + + + + + + + + + + + + + +
MDumpw + + + + + + + + + + + + + + + +
MPeek + + + + + + + + + + + + + + + +
MPoke + + + + + + + + + + + + + + + +
MPoked + + + + + + + + + + + + + + + +
MPokew + + + + + + + + + + + + + + + +
Mread + + + + + + + + + + + + + + + +
Mwrite + + + + + + + + + + + + + + + +
Peek + + + + + + + + + + + + + + + +
Poke + + + + + + + + + + + + + + + +
Read + + + + + + + + + + + + + + + +
recovermac + + +
SafeWrite + + + + + + + - + + + - + - + +
CRC32 + + + + + + + - + + + - + - + +
recovery + + + +
fullupdate + + + + + + + - -
SLP - - - - - - - - - - - - + - + +
Write - - - - - - - + - - - + + + + +
XCRC32 + + + + + + + + + + + + + + + +
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 7 of 19
Command descriptions
BiosID (This command has no parameter)
Ex. “BF BiosID”
Display board Info no., BIOS Major and Minor numbers, PAL ID no.
Example:
The board info number is 112, so from the list below it means that the actual board is
a KTGM45/Flex. BIOS version is 1.10 which is displayed in BIOS as the BIOS ID =
KTGM4510. Pal ID is 12.
Copy 256 bytes from the cmos.bin file, except the first 16 bytes which contains date &
time and some status bits.
CmosSave <File name> File where the CMOS data will be saved
This will convert OEM Default setting in BIOS to Secure CMOS setting.
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 9 of 19
This will show DMI info from the onboard BIOS (not runtime BIOS), see picture below.
Note: If “N/A” then value will be loaded from EPROM in the runtime BIOS.
DMI Max. no
type String name of char. Type Default string content
1 'Manufacturer=' 18 ASCII 'Kontron Technology'
'ProductName=' 13 ASCII 'KTGM45/mITX’
'Version=' 8 ASCII 'N/A'
'SerialNumber=' 8 ASCII 'N/A'
'UniqueUUID=' 32 Hex '00020003000400050006000700080009'
2 'Manufacturer=' 18 ASCII 'Kontron Technology'
'ProductName=' 13 ASCII 'KTGM45/mITX'
'Version=' 8 ASCII 'N/A'
'SerialNumber=' 8 ASCII 'N/A'
3 'Manufacturer=' 12 ASCII 'To Be Filled'
'Version=' 12 ASCII 'To Be Filled'
'SerialNumber=' 12 ASCII 'To Be Filled'
'TagNumber=' 12 ASCII 'To Be Filled'
This will show DMI info from a BIOS file. The output will be identical to picture above if onboard BIOS and
bios.rom file are the same, the only difference is that BF will not display “Chip identifier” information.
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 10 of 19
This will show DMI info type 1 from memory (runtime BIOS), see picture below.
DMISave <FileName> File (ScriptFile) to contain info about DMI type 1 & 3
This will copy DMI Type 1 and Type 3 (located in BIOS) to the script.txt file.
(Example of script.txt file is in the DMIWrite description).
DMIWrite <DMIScript> A DMI script file containing info about DMI type 1 & 3
<FileName/Onboard> Filename: Write DMI data to (BIOS rom) file
Onboard: Write DMI data to onboard BIOS
This will do the changes specified in the script.txt file to the current onboard bios.
Note: Ping ' (ASCII no. 27h) is used as separator and can’t be used in DMI text strings.
‘Type=' '1' and 'Type=' '3' must always be present, other parameters are optional. All
optional parameters (except UniqueUUID) can have the value '?' to manually enter
value via keyboard. The UniqueUUID must always contain 32 hex characters, but if last
character is ‘?’ then the last 8 characters shall be entered via keyboard.
Dump <Flash address> Start address for reading data from Flash RAM
This will display the content of the Flash address 0x007F00 and 100 bytes ahead.
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 11 of 19
This will convert Secure CMOS setting in BIOS to OEM Default setting.
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 12 of 19
This will write 4 bytes to the EEPROM starting from address 0xF0.
This will Recover the KTNINFO block in the ITE SPI EEPROM if CRC32 error.
(backup copy @ 0x40000)
This will display the type of flash detected on the flash module.
This displays 16 bytes starting from memory address 0xF0000. (Windows can crash).
This displays 4 DWords starting from memory address 0xF0000. (Windows can crash).
This displays 8 Words starting from memory address 0xF0000. (Windows can crash).
BFlash
KTD-00734-J Public User Manual Date: 2014-09-26 Page 13 of 19
This will save 2x16 bytes of memory from address 0xF00000 to the file memory.bin.
This will display the byte at location 0x007F10 and save it in “DOS ERRORLEVEL”.
Recover corrupted MAC1 (MAC address for the AMT supporting LAN port).
If the Bios.rom matches the actual board type and if CRC32 checksum matches the 8
character value then Bios.rom will be burned into the actual BIOS Flash RAM.
This will copy the SLP key “KontronTechnology” into the onboard BIOS.
(If space must be used in the key then use the TextFile command).
This will copy the SLP key located in oemkey.txt into the onboard BIOS.
This will copy the string “XpOEMString” into the onboard bios SLP area and then save
a copy of the onboard bios (with SLP key) into a file called bios.rom.
Command syntaxes:
Command descriptions
BiosUpdate <File name> File to be burned
(786LCD only)
Ex. “BF BiosUpdate bios.rom”
Download <File name> File where to save data from Flash Disk
(486LCD, [Both/Master] Default is slave Flash Disk module
686LCD only) Master is primary Flash Disk module
Both to select both Flash Disk modules
This will download all the data from both flash modules.
This will erase both the primary and secondary modules inclusive BIOS.
Warning: New bios must be burned before reset otherwise system can’t boot anymore.
This will erase both the primary and secondary modules inclusive BIOS.
Warning: New bios must be burned before reset otherwise system can’t boot anymore.
Upload <File name> File containing image data for FD (Flash Disk)
(486LCD, [Both/Master] Default is slave (secondary module)
686LCD only) Master: Select primary module as target FD
Both: Select both modules as target FD
This will upload the file called master.img into both Flash Disk modules.
@echo off
echo clroem.bat (Remove OEM Failsafe)
echo This will clear the OEM defaults (Secure CMOS setting will be visible in BIOS)
pause
bf epoke 0d 4c
@echo off
echo RdMast05.bat (Make set of Master Files, BIOS size 512KB)
echo This will generate Master files of the actual BIOS (size 512KB) and CMOS settings.
echo *** Make sure "Secure CMOS" = Enabled or "OEM Failsafe default" is active ***
pause
bf esave mastprom.bin
echo MasterPROM is generated (Secure CMOS values are dumped to mastprom.bin)
bf read mastbios.rom 0 80000
echo MasterBIOS is generated (BIOS dumped to mastbios.rom)
echo Reading is finished.
@echo off
echo RdMast10.bat (Make set of Master Files, BIOS size 1024KB)
echo This will generate Master files of the actual BIOS (size 1024KB) and CMOS settings.
echo *** Make sure "Secure CMOS" = Enabled or "OEM Failsafe default" is active ***
pause
bf esave mastprom.bin
echo MasterPROM is generated (Secure CMOS values are dumped to mastprom.bin)
bf read mastbios.rom 0 100000
echo MasterBIOS is generated (BIOS dumped to mastbios.rom)
echo Reading is finished.
@echo off
echo SetOEM.bat (Set OEM Failsafe settings)
echo This will set the OEM defaults (Secure CMOS setting will be invisible in BIOS)
pause
bf epoke 0d 00
@echo off
echo Manually enter Type 3 Serial number and Tagnumber
pause
bf DMIWrite UniqDMI.txt onboard
@echo off
echo Upd.bat (Update standard BIOS)
echo This will burn bios.rom file and fill cmos with optimal values
pause
bf safewrite bios.rom
bf cmosclr optimal
@echo off
echo UpdOnDMI.bat (Update BIOS and keep DMI)
echo This will burn bios.rom file and fill CMOS with optimal values
echo but DMI code will remain
pause
bf dmisave script.txt
bf safewrite bios.rom
bf dmiwrite script.txt onboard
bf cmosclr optimal
@echo off
echo Write Type 1 and Type 3 DMI settings via script file
pause
bf DMIWrite Script.txt onboard
@echo off
echo WrMast.bat (Write Master Files)
echo This will copy the BIOS and CMOS Master file to the actual board.
echo Note the "Secure CMOS" gets enabled or OEM Failsafe defaults gets active.
pause
bf safewrite mastbios.rom
bf eload mastprom.bin