Beamlib  3.0.1
This is the Beam C++ class library.
BFirmware.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * BFirmware..h BFirmware info
3  * T.Barnaby, Beam Ltd, 2019-01-28
4  * Copyright (c) 2022 All Right Reserved, Beam Ltd, https://www.beam.ltd.uk
5  * For license see LICENSE.txt at the root of the beamlib source tree.
6  *******************************************************************************
7  *
8  */
9 #ifndef BFirmware_h
10 #define BFirmware_h
11 
12 #include <BTypes.h>
13 
14 // Beam firmware files
15 const BUInt32 BFirmwareMagic = 0x01414542;
16 
20 
23 
29 
44 } __attribute__((packed));
45 
47 
59 } __attribute__((packed));
60 
61 
62 /******************************************************************************************************
63  * Old Armsys afirm firmware format
64  ******************************************************************************************************
65  */
66 const BUInt32 BFirmwareInfoMagic = 0xBBEEAA00;
68 
69 struct BFirmwareInfo {
77 };
78 
79 // Checks if there is a valid BFirmware application present in the CPU and returns the version if not NULL
80 int bfirmwareValid(BUInt32 baseAddress, BUInt type, Bool checkChecksum, char* version = 0);
81 void bfirmwareBoot(BUInt32 baseAddress);
82 
83 #endif
const BUInt32 BFirmwareTypeFile
Definition: BFirmware.h:17
const BUInt32 BFirmwareTypeSegment
Definition: BFirmware.h:19
const BUInt8 BFirmwareInfoEncrypt1
Definition: BFirmware.h:67
int bfirmwareValid(BUInt32 baseAddress, BUInt type, Bool checkChecksum, char *version=0)
const BUInt32 BFirmwarePlatformBMeasure125
Definition: BFirmware.h:24
const BUInt32 BFirmwarePlatformBMeasure125Cpu
Definition: BFirmware.h:25
const BUInt32 BFirmwareFormatGzip
Definition: BFirmware.h:22
const BUInt32 BFirmwarePlatformBMeasure125Wifi
Definition: BFirmware.h:27
const BUInt32 BFirmwareMagic
Definition: BFirmware.h:15
const BUInt32 BFirmwarePlatformBMeasure125Fpga
Definition: BFirmware.h:26
struct BFirmwareInfo __attribute__
const BUInt32 BFirmwarePlatformBMeasure125Boot
Definition: BFirmware.h:28
const BUInt32 BFirmwareTypeFirmware
Definition: BFirmware.h:18
void bfirmwareBoot(BUInt32 baseAddress)
BFirmwareFileHeader BFirmwareFirmwareHeader
Definition: BFirmware.h:46
const BUInt32 BFirmwareInfoMagic
Definition: BFirmware.h:66
const BUInt32 BFirmwareFormatRaw
Definition: BFirmware.h:21
BUInt32 BUInt
Definition: BTypes.h:33
uint32_t BUInt32
Definition: BTypes.h:24
bool Bool
Definition: BTypes.h:18
uint8_t BUInt8
Definition: BTypes.h:20
Definition: BFirmware.h:30
BUInt8 ver1
Definition: BFirmware.h:40
BUInt32 platform
Definition: BFirmware.h:35
BUInt8 ver0
Definition: BFirmware.h:39
BUInt32 itemType
Definition: BFirmware.h:32
BUInt8 ver2
Definition: BFirmware.h:41
BUInt32 fileLength
Definition: BFirmware.h:33
BUInt32 special[7]
Definition: BFirmware.h:43
BUInt32 format
Definition: BFirmware.h:36
BUInt32 magic
Definition: BFirmware.h:31
BUInt32 startAddress
Definition: BFirmware.h:38
BUInt32 numSegments
Definition: BFirmware.h:37
BUInt8 ver3
Definition: BFirmware.h:42
BUInt32 checksum
Definition: BFirmware.h:34
Definition: BFirmware.h:69
BUInt32 checksum
Definition: BFirmware.h:72
BUInt8 ver2
Definition: BFirmware.h:76
BUInt32 length
Definition: BFirmware.h:71
BUInt8 ver1
Definition: BFirmware.h:75
BUInt8 ver0
Definition: BFirmware.h:74
BUInt32 magic
Definition: BFirmware.h:70
BUInt8 type
Definition: BFirmware.h:73
Definition: BFirmware.h:48
BUInt32 format
Definition: BFirmware.h:54
BUInt32 address
Definition: BFirmware.h:56
BUInt32 itemType
Definition: BFirmware.h:50
BUInt32 special[7]
Definition: BFirmware.h:58
BUInt32 dataLength
Definition: BFirmware.h:55
BUInt32 platform
Definition: BFirmware.h:53
BUInt32 fileLength
Definition: BFirmware.h:51
BUInt32 length
Definition: BFirmware.h:57
BUInt32 checksum
Definition: BFirmware.h:52
BUInt32 magic
Definition: BFirmware.h:49