forked from TaniaMirzin/mbed-bootloader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mbed_app.json
107 lines (107 loc) · 5.09 KB
/
mbed_app.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
{
"requires": ["bare-metal",
"rtos-api",
"update-client",
"storage",
"storage_filesystem",
"SecureStore",
"storage_tdb_internal",
"mbed-bootloader",
"mbedtls",
"system-storage",
"filesystem",
"filesystemstore",
"littlefs",
"fat_chan",
"spif",
"qspif",
"sd",
"flashiap-block-device",
"direct-access-devicekey",
"tdbstore",
"kv-config",
"kv-global-api",
"kv-map",
"device_key",
"mbed-trace"
],
"config": {
"documentation": {
"options": [
"This configuration takes advantage of the fact that most MCUs have 2 banks of flash",
"which can be read from and written to independently of each other. Hence we put all",
"executables on the first bank, and all storage on the second bank such that reading",
"and writing storage does not halt execution. The regions are as follows:",
"1. Bootloader - 32kb from the beginning of flash",
"2. Active App Metadata Header - 1kb from the end of Bootloader",
"3. Active App - From end of header to the end of first bank of flash",
"4. Firmware Candidate Storage - from the beginning of the second bank of flash",
"+--------------------------+",
"| |",
"| |",
"| |",
"|Firmware Candidate Storage|",
"| |",
"| |",
"| |",
"+--------------------------+ <-+ update-client.storage-address",
"| |",
"| Active App |",
"| |",
"+--------------------------+ <-+ mbed-bootloader.application-start-address",
"|Active App Metadata Header|",
"+--------------------------+ <-+ update-client.application-details",
"| |",
"| Bootloader |",
"| |",
"+--------------------------+ <-+ 0",
"",
"",
"NRF52840_DK: setting `target.static_memory_defines` as `true` is an alternative for the workaround",
"https://github.com/ARMmbed/mbed-os/pull/11510 . The PR in question is waiting for approval"
]
}
},
"macros": [
"MBED_CLOUD_CLIENT_UPDATE_STORAGE=ARM_UCP_FLASHIAP",
"MBED_BOOTLOADER_ACTIVE_HEADER_REGION_SIZE=1024",
"MBED_BOOTLOADER_FLASH_BANK_SIZE=MBED_ROM_SIZE/2"
],
"target_overrides": {
"*": {
"target.c_lib" : "small",
"platform.use-mpu" : false,
"platform.default-serial-baud-rate" : 115200,
"update-client.firmware-header-version" : "2",
"mbed-bootloader.use-kvstore-rot" : 0,
"target.restrict_size" : "0x8000",
"mbed-bootloader.application-start-address": "(MBED_CONF_UPDATE_CLIENT_APPLICATION_DETAILS + MBED_BOOTLOADER_ACTIVE_HEADER_REGION_SIZE)",
"update-client.application-details" : "(MBED_ROM_START + MBED_BOOTLOADER_SIZE)",
"update-client.storage-address" : "(MBED_ROM_START + MBED_BOOTLOADER_FLASH_BANK_SIZE)",
"update-client.storage-size" : "(MBED_BOOTLOADER_FLASH_BANK_SIZE)",
"update-client.storage-locations" : 1,
"update-client.storage-page" : 1
},
"K64F": {
"target.extra_labels_remove": [ "PSA" ]
},
"NUCLEO_F429ZI": {
"target.extra_labels_remove": [ "PSA" ]
},
"NRF52840_DK": {
"target.static_memory_defines" : true,
"target.features_remove" : ["CRYPTOCELL310"],
"target.macros_remove" : ["MBEDTLS_CONFIG_HW_SUPPORT"],
"target.macros_add" : ["NRFX_RNG_ENABLED=1", "RNG_ENABLED=1", "NRF_QUEUE_ENABLED=1"]
},
"NUCLEO_L073RZ": {
"target.boot-stack-size" : "1024"
},
"DISCO_F769NI": {
"target.extra_labels_remove" : [ "PSA" ],
"mbed-bootloader.bootloader-size" : "(64*1024)",
"target.restrict_size" : "0x10000",
"update-client.application-details": "(MBED_ROM_START + 256*1024)"
}
}
}