@web-font-path: "roboto-debian.css";
Menu Toggle
v1.5.1
Loading...
Searching...
No Matches
uf2.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
3
*
4
* SPDX-License-Identifier: BSD-3-Clause
5
*/
6
7
#ifndef _BOOT_UF2_H
8
#define _BOOT_UF2_H
9
10
#include <stdint.h>
11
#include <assert.h>
12
19
#define UF2_MAGIC_START0 0x0A324655u
20
#define UF2_MAGIC_START1 0x9E5D5157u
21
#define UF2_MAGIC_END 0x0AB16F30u
22
23
#define UF2_FLAG_NOT_MAIN_FLASH 0x00000001u
24
#define UF2_FLAG_FILE_CONTAINER 0x00001000u
25
#define UF2_FLAG_FAMILY_ID_PRESENT 0x00002000u
26
#define UF2_FLAG_MD5_PRESENT 0x00004000u
27
28
#define RP2040_FAMILY_ID 0xe48bff56
29
30
struct
uf2_block
{
31
// 32 byte header
32
le_uint32_t magic_start0;
33
le_uint32_t magic_start1;
34
le_uint32_t flags;
35
le_uint32_t target_addr;
36
le_uint32_t payload_size;
37
le_uint32_t block_no;
38
le_uint32_t num_blocks;
39
le_uint32_t file_size;
// or familyID;
40
uint8_t data[476];
41
le_uint32_t magic_end;
42
};
43
44
static_assert
(
sizeof
(
struct
uf2_block
) == 512,
"uf2_block not sector sized"
);
45
46
#endif
uf2_block
Definition
uf2.h:30