BDS Public
Beamlib 3.3.4
This is the Beam C++ class library.
Loading...
Searching...
No Matches
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
12#include <BTypes.h>
13
14// Beam firmware files
15const 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 */
66const BUInt32 BFirmwareInfoMagic = 0xBBEEAA00;
68
77};
78
79// Checks if there is a valid BFirmware application present in the CPU and returns the version if not NULL
80int bfirmwareValid(BUInt32 baseAddress, BUInt type, Bool checkChecksum, char* version = 0);
81void 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