MCCI Trusted Bootloader
Simple trusted bootloader and tools for small embedded systems
mccibootloaderboard_catena5230_prepareforlaunch.c
Go to the documentation of this file.
1
/*
2
3
Module: mccibootloaderboard_catena5230_prepareforlaunch.c
4
5
Function:
6
McciBootloaderBoard_Catena5230_prepareForLaunch()
7
8
Copyright and License:
9
This file copyright (C) 2026 by
10
11
MCCI Corporation
12
3520 Krums Corners Road
13
Ithaca, NY 14850
14
15
See accompanying LICENSE file for copyright and license information.
16
17
Author:
18
Terry Moore, MCCI Corporation March 2026
19
20
*/
21
22
#include "
mcci_bootloader_board_catena5230.h
"
23
24
#include "
mcci_bootloader.h
"
25
#include "
mcci_bootloader_board_catena_1sj.h
"
26
#include "
mcci_bootloader_device_i2c_bus_stm32l0.h
"
27
#include "mcci_bootloader_device_npm1300.h"
28
#include "mcci_npm1300.h"
29
␌
30
/****************************************************************************\
31
|
32
| Manifest constants & typedefs.
33
|
34
\****************************************************************************/
35
36
37
38
/****************************************************************************\
39
|
40
| Read-only data.
41
|
42
\****************************************************************************/
43
44
45
46
/****************************************************************************\
47
|
48
| Variables.
49
|
50
\****************************************************************************/
51
52
␌
53
/*
54
55
Name: McciBootloaderBoard_Catena5230_prepareForLaunch()
56
57
Function:
58
Platform interface: prepare for launch of app on 5230.
59
60
Definition:
61
void McciBootloaderBoard_Catena5230_prepareForLaunch(
62
void
63
);
64
65
Description:
66
Return the board and the SOC to the boot state.
67
Delegates to common Catena1SJ logic.
68
69
Returns:
70
No explicit result.
71
72
Notes:
73
74
75
*/
76
77
void
78
McciBootloaderBoard_Catena5230_prepareForLaunch
(
79
void
80
)
81
{
82
const
McciBootloaderDeviceI2cResult_t result =
83
McciBootloaderDevice_NPM1300_writeRegister(
84
g_McciBootloaderBoard_Catena5230_pNPM1300
,
85
MCCI_PMIC_NPM1300_REG_TASKLDSWCLR_2,
86
1
87
);
88
89
if
(result != McciBootloaderDeviceI2cResult_OK)
90
{
91
McciBootloaderPlatform_fail
(
McciBootloaderError_StoragePowerDownFailed
);
92
}
93
94
// done with the PMIC
95
(void) McciBootloaderDevice_end(&
g_McciBootloaderBoard_Catena5230_pNPM1300
->DeviceCast);
96
97
// done with the I2C bus
98
(void) McciBootloaderDevice_end(&
g_McciBootloaderBoard_Catena5230_i2cBus2
.DeviceCast);
99
100
// tear down everything else.
101
McciBootloaderBoard_Catena1sj_prepareForLaunch
();
102
}
103
104
/**** end of mccibootloaderboard_catena5230_prepareforlaunch.c ****/
mcci_bootloader.h
McciBootloaderError_StoragePowerDownFailed
@ McciBootloaderError_StoragePowerDownFailed
failed to turn off storage power.
Definition
mcci_bootloader.h:61
mcci_bootloader_board_catena5230.h
g_McciBootloaderBoard_Catena5230_pNPM1300
McciBootloaderDeviceNpm1300_t * g_McciBootloaderBoard_Catena5230_pNPM1300
Definition
mccibootloaderboard_catena5230_systeminit.c:60
g_McciBootloaderBoard_Catena5230_i2cBus2
McciBootloaderDeviceI2cBusStm32l0_t g_McciBootloaderBoard_Catena5230_i2cBus2
Definition
mccibootloaderboard_catena5230_systeminit.c:54
mcci_bootloader_board_catena_1sj.h
McciBootloaderBoard_Catena1sj_prepareForLaunch
McciBootloaderPlatform_PrepareForLaunchFn_t McciBootloaderBoard_Catena1sj_prepareForLaunch
Definition
mcci_bootloader_board_catena_1sj.h:84
mcci_bootloader_device_i2c_bus_stm32l0.h
McciBootloaderPlatform_fail
void MCCI_BOOTLOADER_NORETURN_PFX McciBootloaderPlatform_fail(McciBootloaderError_t errorCode) MCCI_BOOTLOADER_NORETURN_SFX
Definition
mccibootloaderplatform_fail.c:77
McciBootloaderBoard_Catena5230_prepareForLaunch
void McciBootloaderBoard_Catena5230_prepareForLaunch(void)
Definition
mccibootloaderboard_catena5230_prepareforlaunch.c:78
platform
board
mcci
catena5230
src
mccibootloaderboard_catena5230_prepareforlaunch.c
Generated on Tue Oct 13 2026 02:58:00 for MCCI Trusted Bootloader by
1.9.8