12#include "memory_config.h"
19#define THREAD_MODE_PRIORITY 4
21#ifndef __return_address
23#define __return_address() ((uintptr_t)__builtin_return_address(0))
24#elif defined(__ICCARM__)
25#define __return_address() ((uintptr_t)__get_LR())
27#define __return_address() ((uintptr_t)0)
125#define NON_OS_NMI_CWDT_INT_FLAG BIT(NMI_CWDT)
126#define NON_OS_NMI_XIP_CTRL_INT_FLAG BIT(NMI_XIP_CTRL)
127#define NON_OS_NMI_XIP_CACHE_INT_FLAG BIT(NMI_XIP_CACHE)
128#define NON_OS_NMI_MDMA_INT_FLAG BIT(NMI_MDMA)
129#define NON_OS_NMI_SMDMAINT_FLAG BIT(NMI_SMDMA)
130#define NON_OS_BT_NMI_MASK_REG 0x59000300
131#define NON_OS_BT_NMI_STATUS_REG 0x59000304
132#define NON_OS_BNMI_BT_INT_FLAG BIT(BNMI_BT_INT)
133#define NON_OS_BNMI_BLE_INT_FLAG BIT(BNMI_BLE_INT)
134#define NON_OS_BNMI_BWDT_INT_FLAG BIT(BNMI_BWDT)
critical_statistic_mode_e
flag mark the mode if enter or exit critical when call critical statistic hook function
Definition non_os.h:103
void non_os_critical_section_init(void)
Ensures interrupts are enabled and the interrupt nested counter is reset.
Definition non_os_utils.c:178
void non_os_register_critical_statistic(critical_statistic_handler handler)
register critical statistic hook function
Definition non_os_utils.c:72
void non_os_nmi_config(nmi_types_e nmi, bool on)
Config the nmi.
Definition non_os_nmi.c:26
nmi_types_e
Definition non_os.h:108
nmi_types_e non_os_get_nmi_type(void)
get NMI mask interrupt type.
Definition non_os_nmi.c:50
void non_os_unregister_critical_statistic(void)
unregister critical statistic hook function
Definition non_os_utils.c:79
void non_os_enter_critical(void)
Enter in a critical section.
Definition non_os_utils.c:96
void(* critical_statistic_handler)(critical_statistic_mode_e mode, uint32_t address)
hook function type for crititcal interval statisitic tool
Definition non_os.h:141
bnmi_types_e
Definition non_os.h:119
AON_INIT_BIT_E
Definition non_os.h:90
void non_os_set_aon_flag_initalised(aon_init_bit_e driver, bool value)
set aon flag flag save on aon only rst when all rst(not only cpu reset)
Definition non_os_utils.c:223
uint16_t non_os_get_nmi_raw_status(void)
get NMI raw interrupt status.
Definition non_os_nmi.c:43
bool non_os_is_dcache_enabled(void)
Checks if the DCache is enabled.
uint16_t non_os_get_nmi_mask_status(void)
Get NMI interrupt status after mask.
Definition non_os_nmi.c:38
bool non_os_is_aon_flag_initialised(aon_init_bit_e driver)
check aon flag is set flag save on aon only rst when all rst(not only cpu reset)
Definition non_os_utils.c:213
driver_init_bit_e
Definition non_os.h:31
bool non_os_is_driver_initialised(driver_init_bit_e driver)
Gets the value of the drivers flag bit, then converts into a bool
Definition non_os_utils.c:190
bool non_os_is_in_critical_section(void)
Checks if the system is running on a critical section.
Definition non_os_utils.c:185
const char * non_os_get_bt_rom_version(void)
get bt rom version.
Definition non_os_utils.c:234
void non_os_register_critical_record(critical_record_handler handler)
register critical record hook function
Definition non_os_utils.c:84
void non_os_unregister_critical_record(void)
unregister critical record hook function
Definition non_os_utils.c:91
enum AON_INIT_BIT_E aon_init_bit_e
void non_os_set_driver_initalised(driver_init_bit_e driver, bool value)
Sets the value of the specified bit
Definition non_os_utils.c:195
void non_os_exit_critical(void)
Exit a critical section.
Definition non_os_utils.c:141
void(* critical_record_handler)(critical_statistic_mode_e mode, uint32_t address, uint16_t nestings)
hook function type for crititcal interval record tool
Definition non_os.h:149
@ CRITICAL_EXIT
Definition non_os.h:105
@ CRITICAL_ENTER
Definition non_os.h:104
@ NMI_NONE
Definition non_os.h:116
@ NMI_XIP_CTRL
Definition non_os.h:112
@ NMI_XIP_CACHE
Definition non_os.h:113
@ NMI_SMDMA
Definition non_os.h:115
@ NMI_CWDT
Definition non_os.h:110
@ NMI_MDMA
Definition non_os.h:114
@ NMI_BWDT
Definition non_os.h:111
@ NMI_GWDT
Definition non_os.h:109
@ BNMI_BT_INT
Definition non_os.h:120
@ BNMI_BWDT
Definition non_os.h:122
@ BNMI_BLE_INT
Definition non_os.h:121
@ AON_ROMLOADER_DOWNLOAD_KEY_MODE
Definition non_os.h:94
@ AON_FLASH_BACKUP_MODE
Definition non_os.h:95
@ AON_DEBUG_MODE
Definition non_os.h:93
@ AON_FLASH_QSPI
Definition non_os.h:91
@ AON_XIP
Definition non_os.h:92
@ DRIVER_INIT_FLASH_TO_QSPI
Definition non_os.h:81
@ DRIVER_INIT_MAX_VALUE
Definition non_os.h:84
@ DRIVER_INIT_IPC_FLASH
Definition non_os.h:39
@ DRIVER_INIT_QSPI
Definition non_os.h:44
@ DRIVER_INIT_TIMER
Definition non_os.h:35
@ DRIVER_INIT_SEC_AES
Definition non_os.h:77
@ DRIVER_INIT_PWM
Definition non_os.h:45
@ DRIVER_INIT_MEMORY
Definition non_os.h:54
@ DRIVER_INIT_WATCHDOG
Definition non_os.h:33
@ DRIVER_INIT_FLASH
Definition non_os.h:53
@ DRIVER_INIT_SEC_RSA
Definition non_os.h:78
@ DRIVER_INIT_UART
Definition non_os.h:40
@ DRIVER_INIT_GPIO
Definition non_os.h:36
@ DRIVER_INIT_RGB888
Definition non_os.h:82
@ DRIVER_INIT_RTC
Definition non_os.h:34
@ DRIVER_INIT_KV
Definition non_os.h:59
@ DRIVER_INIT_IFLASH
Definition non_os.h:51
@ DRIVER_INIT_PSRAM
Definition non_os.h:69
@ DRIVER_INIT_OTP
Definition non_os.h:55
@ DRIVER_INIT_CAP_SENSOR
Definition non_os.h:68
@ DRIVER_INIT_SEC_SHA
Definition non_os.h:76
@ DRIVER_INIT_PMU
Definition non_os.h:57
@ DRIVER_INIT_IPC_FLASH_BT
Definition non_os.h:56
@ DRIVER_INIT_IFLASH_CONFIG
Definition non_os.h:52
@ DRIVER_INIT_LPC
Definition non_os.h:42
@ DRIVER_INIT_DMA
Definition non_os.h:46
@ DRIVER_INIT_TCXO
Definition non_os.h:60
@ DRIVER_INIT_PLL
Definition non_os.h:61
@ DRIVER_INIT_SPI
Definition non_os.h:43
@ DRIVER_INIT_SEC_KEY_DRIV
Definition non_os.h:74
@ DRIVER_INIT_ADC
Definition non_os.h:48
@ DRIVER_INIT_CLOCKS_CORE
Definition non_os.h:80
@ DRIVER_INIT_SEC_TRNG1
Definition non_os.h:75
@ DRIVER_INIT_MX25U32
Definition non_os.h:73
@ DRIVER_INIT_IPC
Definition non_os.h:37
@ DRIVER_INIT_PATCH
Definition non_os.h:63
@ DRIVER_INIT_TSENSOR
Definition non_os.h:47
@ DRIVER_INTI_AP_COMMU
Definition non_os.h:64
@ DRIVER_INIT_SEC_TRNG
Definition non_os.h:62
@ DRIVER_INIT_SEC_TRNG2
Definition non_os.h:79
@ DRIVER_INIT_REBOOT
Definition non_os.h:41
@ DRIVER_INIT_I2C
Definition non_os.h:67
@ DRIVER_INIT_UICC
Definition non_os.h:83
@ DRIVER_INIT_LOG_MEMORY
Definition non_os.h:58
@ DRIVER_INIT_SYS_STATUS
Definition non_os.h:38
#define cassert(predicate, file)
Definition std_def.h:69