45#ifndef __bool_true_false_are_defined
46 #define __bool_true_false_are_defined 1
62 #define U_DLL_API __declspec(dllexport)
64 #define U_DLL_API __declspec(dllimport)
67#define MAX_UDLL_DEVICES 16
69#define LOG_PARAM_STR_SIZE 32
70#define FILE_PATH_SIZE 256
71#define TEST_NAME_STR_SIZE 13
72#define UDLL_CLBK_DATA_SIZE 256
73#define UDLL_MEM_RD_FILE_SIZE 0x4000000
74#define UDLL_MEM_RD_FILE_NAME "MEM_READ"
75#define UDLL_MEM_RD_FOLDER_NAME "mem_read_test"
78#define CSV_LINE_LEN 32768
79#define MAX_CSV_MEM_DATA 20
82#define MAX_MEM_DATA_SIZE 512
85#define MAX_FLASH_CHUNK_SIZE 0x1000
86#define FLASH_JEDEC_ID_SIZE 3
89#define MAX_LEGACY_BOOTER_FW_SIZE 0xFFFF
90#define MAX_EXTENDED_BOOTER_FW_SIZE 0x1FFFF
91#define MAX_RAM_DOWNLOAD_FW_SIZE 0x180000
92#define MAX_RAM_CHUNK_SIZE 0x4000
95#define OTP_TOTAL_SIZE 4096
96#define OTP_MAX_ADDR 4092
97#define OTP_WORD_SIZE 4
98#define OTP_MAX_APP_BIN_SIZE 3072
99#define OTP_MAX_APP_BIN_MAX_ADDR 3068
100#define OTP_MAX_CUST_APP_SIZE 2208
101#define OTP_MAX_CUST_APP_MAX_ADDR 2204
104#define OTP_CS_BASE_ADDR 0x0C00
105#define CS_WORD_SIZE OTP_WORD_SIZE
106#define MAX_CS_WORDS 256
107#define MAX_CS_SIZE_BYTES MAX_CS_WORDS * CS_WORD_SIZE
108#define MAX_CS_SDK_ENTRIES 20
109#define MAX_CS_WORDS_PER_SDK_GROUP 20
110#define MAX_CS_REG_ENTRIES 20
111#define MAX_CS_STRING_SIZE (9+(9*MAX_CS_WORDS)-1)+1
129 UDLL_ACTION_RESPONSE_ERROR,
130 UDLL_UART_RX_TIMEOUT_ERROR,
131 UDLL_NO_CRC_MATCH_ERROR,
132 UDLL_PROG_PARAMS_ERROR,
133 UDLL_DEVICE_PARAMS_ERROR,
134 UDLL_UART_WRITE_ERROR,
135 UDLL_UART_READ_ERROR,
137 UDLL_COM_PORT_INIT_ERROR,
139 UDLL_CANNOT_ALLOCATE_MEMORY,
140 UDLL_READ_FILE_SIZE_ERROR,
141 UDLL_CANNOT_OPEN_FW_FILE,
142 UDLL_CANNOT_OPEN_IMAGE_FILE,
144 UDLL_INVALID_DBG_PARAMS,
147 UDLL_FW_DOWNLOAD_START,
148 UDLL_FW_DOWNLOAD_SUCCESS,
149 UDLL_FW_VERSION_GET_START,
150 UDLL_FW_VERSION_GET_SUCCESS,
152 UDLL_RAM_FW_DOWNLOAD_START,
153 UDLL_RAM_FW_DOWNLOAD_SUCCESS,
154 UDLL_RAM_FW_DOWNLOAD_ERROR,
157 UDLL_GPIO_WD_SUCCESS,
160 UDLL_FLASH_INIT_START,
161 UDLL_FLASH_INIT_SUCCESS,
162 UDLL_FLASH_INIT_ERROR,
164 UDLL_FLASH_ERASE_START,
165 UDLL_FLASH_ERASE_SUCCESS,
167 UDLL_FLASH_WRITE_START,
168 UDLL_FLASH_WRITE_SUCCESS,
169 UDLL_FLASH_WRITE_ERROR,
171 UDLL_OTP_CHECK_EMPTY_START,
172 UDLL_OTP_CHECK_EMPTY_STATUS,
173 UDLL_OTP_CHECK_EMPTY_SUCCESS,
174 UDLL_OTP_CHECK_INPUT_DATA_EMPTY_SUCCESS,
175 UDLL_OTP_CHECK_SAME_DATA_SUCCESS,
176 UDLL_OTP_CHECK_SKIP_IF_WRITTEN_SUCCESS,
177 UDLL_OTP_CHECK_DIFFERENT_DATA_ERROR,
178 UDLL_OTP_CHECK_EMPTY_ERROR,
180 UDLL_OTP_WRITE_START,
181 UDLL_OTP_WRITE_SUCCESS,
182 UDLL_OTP_WRITE_ERROR,
184 UDLL_OTP_CS_WRITE_START,
185 UDLL_OTP_CS_WRITE_NUM_OF_ENTRIES,
186 UDLL_OTP_CS_WRITE_STATUS,
187 UDLL_OTP_CS_WRITE_RDBK_STARTED,
188 UDLL_OTP_CS_WRITE_RDBK_STATUS,
189 UDLL_OTP_CS_WRITE_SUCCESS,
190 UDLL_OTP_CS_WRITE_ERROR,
192 UDLL_MEM_DATA_WRITE_START,
193 UDLL_MEM_DATA_WRITE_STATUS,
194 UDLL_MEM_DATA_WRITE_SUCCESS,
195 UDLL_MEM_DATA_WRITE_ERROR,
198 UDLL_MEM_READ_SUCCESS,
311 UNKNOWN_CS_BAUD_RATE = 0xC
317 DISABLE_XTAL_SETTLE_IGNORE = 0x0,
320 UNKNOWN_XTAL_SETTLE_INGORE = 0x3
344#pragma region fw_load
397#pragma region cs_section
enum __dut_ic _dut_ic
The Dialog BLE device IC selection.
enum __UDLL_ACTIONS _UDLL_ACTIONS
The u_dll action types.
__UDLL_ACTIONS
The u_dll action types.
enum __udll_gpio_pwr_lvl _udll_gpio_pwr_lvl
The GPIO watchdog power levels used __udll_gpio_watchdog.
__U_DUT_NUM
Enumeration used to set the device numbering at __udll_dev_params::dut_num.
__udll_mem_type
The different type of memories supported. Used in custom memory data burn inside __udll_mem_wr.
__udll_gpio_pwr_lvl
The GPIO watchdog power levels used __udll_gpio_watchdog.
__udll_cs_xtal_settle_ignore
u_dll library CS settings for the XTAL settle ignore value.
enum __U_DUT_NUM _U_DUT_NUM
Enumeration used to set the device numbering at __udll_dev_params::dut_num.
enum __udll_mem_data_input _udll_mem_data_input
The different custom memory data input methods supported, used in __udll_mem_wr.
enum __udll_mem_type _udll_mem_type
The different type of memories supported. Used in custom memory data burn inside __udll_mem_wr.
enum __udll_cs_xtal_settle_ignore _udll_cs_xtal_settle_ignore
u_dll library CS settings for the XTAL settle ignore value.
__udll_cs_baud_rate
u_dll library CS settings for the UART baud rate.
enum __udll_cs_baud_rate _udll_cs_baud_rate
u_dll library CS settings for the UART baud rate.
enum __udll_chk_empty _udll_chk_empty
Configuration script check empty selections.
__udll_mem_data_input
The different custom memory data input methods supported, used in __udll_mem_wr.
__udll_chk_empty
Configuration script check empty selections.
@ ENABLE_XTAL_SETTLE_IGNORE
@ ENABLE_XTAL_SETTLE_IGNORE_RC32M
U_DLL_API UDLL_RET udll_close(void)
Closes the handlers and frees the resources acquired by the library.
U_DLL_API UDLL_RET udll_init(void)
u_dll library initialization function.
U_DLL_API UDLL_RET udll_set_device_params(const _udll_dev_params *params)
Sets the u_dll library specific device parameters.
U_DLL_API UDLL_RET udll_set_prog_params(const _udll_params *udll_params_t)
Sets the u_dll library general programming parameters.
U_DLL_API UDLL_RET udll_dbg_init(const _dbg_params *dbg_params_t)
u_dll library debug initialization function.
U_DLL_API UDLL_RET udll_dbg_close(void)
Closes the u_dll debug session.
U_DLL_API UDLL_RET udll_start_prog(void)
Starts the operation of the u_dll library.
#define MAX_MEM_DATA_SIZE
#define TEST_NAME_STR_SIZE
#define MAX_CS_REG_ENTRIES
#define MAX_CS_WORDS_PER_SDK_GROUP
#define LOG_PARAM_STR_SIZE
#define MAX_CS_SDK_ENTRIES
__UDLL_RETURN_CODES
The u_dll return status codes.
enum __UDLL_RETURN_CODES UDLL_RET
The u_dll return status codes.
union __udll_params _udll_params
u_dll library programming parameters union.
struct __udll_flash_er _udll_flash_er
u_dll library flash erase programming parameters.
struct __udll_cs_min_fw_ver _udll_cs_min_fw_ver
u_dll library Configuration Script minimum firmware version.
struct __udll_cs_uart_stx _udll_cs_uart_stx
u_dll library Configuration Script UART STX timeout data.
struct __udll_fw_load _udll_fw_load
u_dll library firmware load parameters
struct __udll_ic_params _udll_ic_params
u_dll library programming parameters.
struct __udll_gpio_watchdog _udll_gpio_watchdog
u_dll library parameters for GPIO watchdog operation.
struct __udll_cs_reg_entry _udll_cs_reg_entry
u_dll library Configuration Script register entries.
struct __udll_flash_wr _udll_flash_wr
u_dll library flash image programming parameters.
struct __udll_cs_dev_booter _udll_cs_dev_booter
u_dll library Configuration Script device specific booter command.
struct __udll_flash_init _udll_flash_init
u_dll library flash initialization parameters.
struct __udll_fw_versions _udll_fw_versions
Holds the versions of the firmware used during device testing.
struct __udll_ram_fw _udll_ram_fw
u_dll library RAM firmware download parameters.
void(* _user_callback_udll)(uint32_t com_port_number, int status, void *data, uint32_t data_len)
u_dll API callback function type definition.
struct __udll_mem_wr _udll_mem_wr
u_dll library Structure for custom memory data programming.
struct __udll_cs_booter _udll_cs_booter
u_dll library Booter properties for the Configuration Script data holding structure.
struct __udll_cs_sw_gen_sdk _udll_cs_sw_gen_sdk
u_dll library SW Generated SDK Value data holding structure.
struct __udll_cs_sdk_entry _udll_cs_sdk_entry
u_dll library SDK Value data holding structure. 0xE9RRYYXX E9: indicates that the following word(s) a...
struct __udll_fw_ver _udll_fw_ver
u_dll library firmware version parameters.
struct __udll_mem_rd _udll_mem_rd
u_dll library Memory read parameters.
struct __udll_cs_xtal_settle _udll_cs_xtal_settle
u_dll library Configuration Script XTAL settle trim data.
union __udll_mem_params _udll_mem_params
u_dll memory action parameters.
struct __udll_otp_wr _udll_otp_wr
u_dll library OTP image programming parameters.
struct __udll_otp_cs_wr _udll_otp_cs_wr
u_dll library Configuration Script write parameters.
struct __udll_dev_params _udll_dev_params
u_dll library parameters for each different device.
The main settings of the Debug DLL API.
u_dll library Booter properties for the Configuration Script data holding structure.
u_dll library Configuration Script device specific booter command.
u_dll library Configuration Script minimum firmware version.
u_dll library Configuration Script register entries.
u_dll library SDK Value data holding structure. 0xE9RRYYXX E9: indicates that the following word(s) a...
uint32_t values[MAX_CS_WORDS_PER_SDK_GROUP]
u_dll library SW Generated SDK Value data holding structure.
u_dll library Configuration Script UART STX timeout data.
_udll_cs_baud_rate baud_rate
u_dll library Configuration Script XTAL settle trim data.
_udll_cs_xtal_settle_ignore ignore
u_dll library parameters for each different device.
_user_callback_udll clbck
uint8_t bd_addr[BD_ADDR_SIZE]
uint8_t mem_data[MAX_MEM_DATA_SIZE]
u_dll library flash erase programming parameters.
char name[TEST_NAME_STR_SIZE]
u_dll library flash initialization parameters.
u_dll library flash image programming parameters.
char bin_path[FILE_PATH_SIZE]
char name[TEST_NAME_STR_SIZE]
u_dll library firmware load parameters
char fw_path[FILE_PATH_SIZE]
char name[TEST_NAME_STR_SIZE]
u_dll library firmware version parameters.
Holds the versions of the firmware used during device testing.
char udll_ver[LOG_PARAM_STR_SIZE]
char flash_progr_fw_ver[LOG_PARAM_STR_SIZE]
u_dll library parameters for GPIO watchdog operation.
_udll_gpio_pwr_lvl pwr_lvl
u_dll library programming parameters.
u_dll library Memory read parameters.
char name[TEST_NAME_STR_SIZE]
u_dll library Structure for custom memory data programming.
_udll_chk_empty chk_empty
_udll_mem_data_input input
char name[TEST_NAME_STR_SIZE]
u_dll library Configuration Script write parameters.
_udll_cs_sdk_entry sdk_entry[MAX_CS_SDK_ENTRIES]
_udll_chk_empty chk_empty
_udll_cs_xtal_settle xtal_settle
_udll_cs_uart_stx uart_stx
_udll_cs_min_fw_ver min_fw_ver
_udll_cs_sw_gen_sdk sw_gen_sdk
_udll_cs_reg_entry reg_entry[MAX_CS_REG_ENTRIES]
_udll_cs_dev_booter dev_booter
u_dll library OTP image programming parameters.
char name[TEST_NAME_STR_SIZE]
_udll_chk_empty chk_empty
char bin_path[FILE_PATH_SIZE]
u_dll library RAM firmware download parameters.
char fw_path[FILE_PATH_SIZE]
char name[TEST_NAME_STR_SIZE]
GPIO selection based on IC.
u_dll memory action parameters.
_udll_otp_cs_wr otp_cs_wr
_udll_gpio_watchdog gpio_wd
_udll_flash_init flash_init
u_dll library programming parameters union.