Herunterladen Diese Seite drucken

Versionen Lesen; Version Des Bios Lesen - B&R PC 300 Implementierungsanleitung

Vorschau ausblenden Andere Handbücher für PC 300:

Werbung

Panel PC 300
Implementierungsanleitung

7.4 Versionen lesen

Die folgenden Codebeispiele zeigen, wie Sie auf einem PPC300 die Version des BIOS und der Firmware
lesen können, die auf dem Gerät installiert ist.

7.4.1 Version des BIOS lesen

Die Version des BIOS kann durch Suche und Auswertung des B&R Vendor Strings im BIOS ROM Spei-
cher gelesen werden.
Das BIOS ROM liegt im Speicher auf Adresse F0000h bis FFFFFh. Der B&R Vendor String ist folgen-
derweise aufgebaut:
„Bernecker + Rainer
wobei v.yy die BIOS Version bezeichnet und der Buchstabe „F" die Kennung ist, dass es sich um einen
PPC300 handelt.
Das folgende C Codebeispiel zeigt, wie die BIOS Kennung und Version gelesen werden können.
// Read BIOS ID and version.
//
// Parameters
//
Id
//
[out] Points to a variable that receives the BIOS ID:
//
'F' on PPC300
//
Version
//
[out] Points to a buffer that receives the
//
BIOS version string: for example "1.14".
//
Size
//
[in] Specifies the size of the version buffer in bytes.
//
// Return 0 at success and -1 at failure.
int GetBiosVersion(char *Id, char *Version, int Size)
{
const char *BrVendorString = "Bernecker + Rainer
unsigned long BiosMem;
// Search the BIOS memory block for the B&R vendor string.
for (BiosMem = 0x000F0000; BiosMem < 0x000FFFF0; BiosMem++)
{
int i;
for (i = 0; BrVendorString[i] != '\0'; i++)
{
if (READ_REGISTER_UCHAR(BiosMem + i) != BrVendorString[i])
break;
}
if (BrVendorString[i] == '\0')
{
BiosMem += i;
*Id = READ_REGISTER_UCHAR(BiosMem++);
for (i = 0; i < Size; i++)
*Version++ = READ_REGISTER_UCHAR(BiosMem++);
return 0;
}
}
return -1;
}
Listing 20: GetBiosVersion – Version des BIOS lesen
Copyright © B&R - Änderungen vorbehalten
PPC300_Implementierungsanleitung_V1_02.doc
Industrie-Elektronik Fv.yy"
Industrie-Elektronik ";
Codebeispiele
02.11.09
65/132

Werbung

loading