diff --git a/Document/Capture/Measurement.sal b/Document/Capture/Measurement.sal new file mode 100644 index 0000000..dbd4425 Binary files /dev/null and b/Document/Capture/Measurement.sal differ diff --git a/Document/Capture/Reset.sal b/Document/Capture/Reset.sal new file mode 100644 index 0000000..a6b1415 Binary files /dev/null and b/Document/Capture/Reset.sal differ diff --git a/Document/Capture/StartStop.sal b/Document/Capture/StartStop.sal new file mode 100644 index 0000000..b7377ac Binary files /dev/null and b/Document/Capture/StartStop.sal differ diff --git a/Document/Capture/sensor_list.png b/Document/Capture/sensor_list.png new file mode 100644 index 0000000..eb889eb Binary files /dev/null and b/Document/Capture/sensor_list.png differ diff --git a/Document/Datasheet/AK9757W_f02e.pdf b/Document/Datasheet/AK9757W_f02e.pdf new file mode 100644 index 0000000..26cc13c Binary files /dev/null and b/Document/Datasheet/AK9757W_f02e.pdf differ diff --git a/Document/Datasheet/AK9791W_f01e.pdf b/Document/Datasheet/AK9791W_f01e.pdf new file mode 100644 index 0000000..1e26ab8 Binary files /dev/null and b/Document/Datasheet/AK9791W_f01e.pdf differ diff --git a/Document/Datasheet/SSD1306.PDF b/Document/Datasheet/SSD1306.PDF new file mode 100644 index 0000000..2376eb5 Binary files /dev/null and b/Document/Datasheet/SSD1306.PDF differ diff --git a/Project/.vscode/settings.json b/Project/.vscode/settings.json index ad0cb06..4717d54 100644 --- a/Project/.vscode/settings.json +++ b/Project/.vscode/settings.json @@ -5,6 +5,8 @@ "mxc_delay.h": "c", "system_func.h": "c", "ssd1306_i2c.h": "c", - "font.h": "c" + "font.h": "c", + "stdarg.h": "c", + "app_log.h": "c" } } \ No newline at end of file diff --git a/Project/Application/app_cli.c b/Project/Application/app_cli.c new file mode 100644 index 0000000..d4adec8 --- /dev/null +++ b/Project/Application/app_cli.c @@ -0,0 +1,853 @@ +#include "app_cli.h" +#include "sw_timer.h" +#include "app_uart.h" +#include + +#define CLI_KEY_BACK 0x7F +#define CLI_KEY_DEL 0x7E +#define CLI_KEY_ENTER 0x0D +#define CLI_KEY_ESC 0x1B +#define CLI_KEY_LEFT 0x44 +#define CLI_KEY_RIGHT 0x43 +#define CLI_KEY_UP 0x41 +#define CLI_KEY_DOWN 0x42 +#define CLI_KEY_HOME 0x31 +#define CLI_KEY_END 0x34 + +#define CLI_PROMPT_STR "CLI# " + +#define CLI_ARGS_MAX 32 +#define CLI_PRINT_BUF_MAX 256 + + +enum +{ + CLI_RX_IDLE, + CLI_RX_SP1, + CLI_RX_SP2, + CLI_RX_SP3, + CLI_RX_SP4, +}; + + +typedef struct +{ + char cmd_str[CLI_CMD_NAME_MAX]; + void (*cmd_func)(cli_args_t *); +} cli_cmd_t; + + +typedef struct +{ + uint8_t buf[CLI_LINE_BUF_MAX]; + uint8_t buf_len; + uint8_t cursor; + uint8_t count; +} cli_line_t; + + +typedef struct +{ + uint8_t ch; + uint32_t baud; + bool is_open; + bool is_log; + uint8_t log_ch; + uint32_t log_baud; + uint8_t state; + char print_buffer[CLI_PRINT_BUF_MAX]; + uint16_t argc; + char *argv[CLI_ARGS_MAX]; + + + bool hist_line_new; + int8_t hist_line_i; + uint8_t hist_line_last; + uint8_t hist_line_count; + + cli_line_t line_buf[CLI_LINE_HIS_MAX]; + cli_line_t line; + + uint16_t cmd_count; + cli_cmd_t cmd_list[CLI_CMD_LIST_MAX]; + cli_args_t cmd_args; +} cli_t; + + + +cli_t cli_node; + + + +static bool cliUpdate(cli_t *p_cli, uint8_t rx_data); +static void cliLineClean(cli_t *p_cli); +static void cliLineAdd(cli_t *p_cli); +static void cliLineChange(cli_t *p_cli, int8_t key_up); +static void cliShowPrompt(cli_t *p_cli); +static void cliToUpper(char *str); +static bool cliRunCmd(cli_t *p_cli); +static bool cliParseArgs(cli_t *p_cli); + +static int32_t cliArgsGetData(uint8_t index); +static float cliArgsGetFloat(uint8_t index); +static char *cliArgsGetStr(uint8_t index); +static bool cliArgsIsStr(uint8_t index, char *p_str); +static void uartPrintf(uint8_t ch, const char *format, ...); +static uint32_t uartWrite(uint8_t ch, uint8_t* pTxData, uint32_t txLen); + +void cliShowList(cli_args_t *args); +void cliMemoryDump(cli_args_t *args); + +bool cliInit(void); +void cliMain(void); +bool cliAdd(const char *cmd_str, void (*p_func)(cli_args_t *)); +void cliPrintf(const char *fmt, ...); + + +#if 0 + +bool cliOpen(uint8_t ch, uint32_t baud); +bool cliOpenLog(uint8_t ch, uint32_t baud); + + +bool cliAdd(const char *cmd_str, void (*p_func)(cli_args_t *)); +bool cliKeepLoop(void); +uint32_t cliAvailable(void); +uint8_t cliRead(void); +uint32_t cliWrite(uint8_t *p_data, uint32_t length); +#endif + + + + + +void App_CLI_Initialization(void) +{ + cliInit(); + SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 0, cliMain); +} + +bool cliInit(void) +{ + cli_node.is_open = true; + cli_node.is_log = true; + cli_node.state = CLI_RX_IDLE; + + cli_node.hist_line_i = 0; + cli_node.hist_line_last = 0; + cli_node.hist_line_count = 0; + cli_node.hist_line_new = false; + + cli_node.cmd_args.getData = cliArgsGetData; + cli_node.cmd_args.getFloat = cliArgsGetFloat; + cli_node.cmd_args.getStr = cliArgsGetStr; + cli_node.cmd_args.isStr = cliArgsIsStr; + + cliLineClean(&cli_node); + + + cliAdd("help", cliShowList); + cliAdd("md" , cliMemoryDump); + + return true; +} + +#if 0 +bool cliOpen(uint8_t ch, uint32_t baud) +{ + cli_node.ch = ch; + cli_node.baud = baud; + + cli_node.is_open = uartOpen(ch, baud); + + return cli_node.is_open; +} + +bool cliOpenLog(uint8_t ch, uint32_t baud) +{ + bool ret; + + cli_node.log_ch = ch; + cli_node.log_baud = baud; + + ret = uartOpen(ch, baud); + + if (ret == true) + { + cli_node.is_log = true; + } + return ret; +} + +bool cliLogClose(void) +{ + cli_node.is_log = false; + return true; +} +#endif + + + +void cliShowLog(cli_t *p_cli) +{ + if (cli_node.is_log == true) + { + uartPrintf(p_cli->log_ch, "Cursor : %d\r\n", p_cli->line.cursor); + uartPrintf(p_cli->log_ch, "Count : %d\r\n", p_cli->line.count); + uartPrintf(p_cli->log_ch, "buf_len : %d\r\n", p_cli->line.buf_len); + uartPrintf(p_cli->log_ch, "buf : %s\r\n", p_cli->line.buf); + uartPrintf(p_cli->log_ch, "line_i : %d\r\n", p_cli->hist_line_i); + uartPrintf(p_cli->log_ch, "line_lt : %d\r\n", p_cli->hist_line_last); + uartPrintf(p_cli->log_ch, "line_c : %d\r\n", p_cli->hist_line_count); + + for (int i=0; ihist_line_count; i++) + { + uartPrintf(p_cli->log_ch, "buf %d : %s\r\n", i, p_cli->line_buf[i].buf); + } + uartPrintf(p_cli->log_ch, "\r\n"); + } +} + +void cliShowPrompt(cli_t *p_cli) +{ + uartPrintf(p_cli->ch, "\n\r"); + uartPrintf(p_cli->ch, CLI_PROMPT_STR); +} + +void cliMain(void) +{ +#if 0 + if (cli_node.is_open != true) + { + return false; + } +#endif + +#if 0 + if(uartAvailable(cli_node.ch) > 0) + { + cliUpdate(&cli_node, uartRead(cli_node.ch)); + } + return true; +#endif + + uint8_t RxData; + if(App_Uart_Get_Recv_Data(&RxData) == true) + { + cliUpdate(&cli_node, RxData); + } + + +} + +uint32_t cliAvailable(void) +{ +#if 0 + return uartAvailable(cli_node.ch); +#endif + return 0; +} + +uint8_t cliRead(void) +{ +#if 0 + return uartRead(cli_node.ch); +#endif + + return 0; +} + +uint32_t cliWrite(uint8_t *p_data, uint32_t length) +{ + +#if 0 + return uartWrite(cli_node.ch, p_data, length); +#endif + return 0; +} + +bool cliUpdate(cli_t *p_cli, uint8_t rx_data) +{ + bool ret = false; + uint8_t tx_buf[8]; + cli_line_t *line; + + line = &p_cli->line; + + + if (p_cli->state == CLI_RX_IDLE) + { + switch(rx_data) + { + // 엔터 + // + case CLI_KEY_ENTER: + if (line->count > 0) + { + cliLineAdd(p_cli); + cliRunCmd(p_cli); + } + + line->count = 0; + line->cursor = 0; + line->buf[0] = 0; + cliShowPrompt(p_cli); + break; + + + case CLI_KEY_ESC: + p_cli->state = CLI_RX_SP1; + break; + + + // DEL + // + case CLI_KEY_DEL: + if (line->cursor < line->count) + { + uint8_t mov_len; + + mov_len = line->count - line->cursor; + for (int i=1; ibuf[line->cursor + i - 1] = line->buf[line->cursor + i]; + } + + line->count--; + line->buf[line->count] = 0; + + uartPrintf(p_cli->ch, "\x1B[1P"); + } + break; + + + // 백스페이스 + // + case CLI_KEY_BACK: + if (line->count > 0 && line->cursor > 0) + { + if (line->cursor == line->count) + { + line->count--; + line->buf[line->count] = 0; + } + + if (line->cursor < line->count) + { + uint8_t mov_len; + + mov_len = line->count - line->cursor; + + for (int i=0; ibuf[line->cursor + i - 1] = line->buf[line->cursor + i]; + } + + line->count--; + line->buf[line->count] = 0; + } + } + + if (line->cursor > 0) + { + line->cursor--; + uartPrintf(p_cli->ch, "\b \b\x1B[1P"); + } + break; + + + default: + if ((line->count + 1) < line->buf_len) + { + if (line->cursor == line->count) + { + uartWrite(p_cli->ch, &rx_data, 1); + + line->buf[line->cursor] = rx_data; + line->count++; + line->cursor++; + line->buf[line->count] = 0; + } + if (line->cursor < line->count) + { + uint8_t mov_len; + + mov_len = line->count - line->cursor; + for (int i=0; ibuf[line->count - i] = line->buf[line->count - i - 1]; + } + line->buf[line->cursor] = rx_data; + line->count++; + line->cursor++; + line->buf[line->count] = 0; + + uartPrintf(p_cli->ch, "\x1B[4h%c\x1B[4l", rx_data); + } + } + break; + } + } + + switch(p_cli->state) + { + case CLI_RX_SP1: + p_cli->state = CLI_RX_SP2; + break; + + case CLI_RX_SP2: + p_cli->state = CLI_RX_SP3; + break; + + case CLI_RX_SP3: + p_cli->state = CLI_RX_IDLE; + + if (rx_data == CLI_KEY_LEFT) + { + if (line->cursor > 0) + { + line->cursor--; + tx_buf[0] = 0x1B; + tx_buf[1] = 0x5B; + tx_buf[2] = rx_data; + uartWrite(p_cli->ch, tx_buf, 3); + } + } + + if (rx_data == CLI_KEY_RIGHT) + { + if (line->cursor < line->count) + { + line->cursor++; + + tx_buf[0] = 0x1B; + tx_buf[1] = 0x5B; + tx_buf[2] = rx_data; + uartWrite(p_cli->ch, tx_buf, 3); + } + } + + if (rx_data == CLI_KEY_UP) + { + cliLineChange(p_cli, true); + uartPrintf(p_cli->ch, (char *)p_cli->line.buf); + } + + if (rx_data == CLI_KEY_DOWN) + { + cliLineChange(p_cli, false); + uartPrintf(p_cli->ch, (char *)p_cli->line.buf); + } + + if (rx_data == CLI_KEY_HOME) + { + uartPrintf(p_cli->ch, "\x1B[%dD", line->cursor); + line->cursor = 0; + + p_cli->state = CLI_RX_SP4; + } + + if (rx_data == CLI_KEY_END) + { + uint16_t mov_len; + + if (line->cursor < line->count) + { + mov_len = line->count - line->cursor; + uartPrintf(p_cli->ch, "\x1B[%dC", mov_len); + } + if (line->cursor > line->count) + { + mov_len = line->cursor - line->count; + uartPrintf(p_cli->ch, "\x1B[%dD", mov_len); + } + line->cursor = line->count; + p_cli->state = CLI_RX_SP4; + } + break; + + case CLI_RX_SP4: + p_cli->state = CLI_RX_IDLE; + break; + } + + + + cliShowLog(p_cli); + + return ret; +} + +void cliLineClean(cli_t *p_cli) +{ + p_cli->line.count = 0; + p_cli->line.cursor = 0; + p_cli->line.buf_len = CLI_LINE_BUF_MAX - 1; + p_cli->line.buf[0] = 0; +} + +void cliLineAdd(cli_t *p_cli) +{ + + p_cli->line_buf[p_cli->hist_line_last] = p_cli->line; + + if (p_cli->hist_line_count < CLI_LINE_HIS_MAX) + { + p_cli->hist_line_count++; + } + + p_cli->hist_line_i = p_cli->hist_line_last; + p_cli->hist_line_last = (p_cli->hist_line_last + 1) % CLI_LINE_HIS_MAX; + p_cli->hist_line_new = true; +} + +void cliLineChange(cli_t *p_cli, int8_t key_up) +{ + uint8_t change_i; + + + if (p_cli->hist_line_count == 0) + { + return; + } + + + if (p_cli->line.cursor > 0) + { + uartPrintf(p_cli->ch, "\x1B[%dD", p_cli->line.cursor); + } + if (p_cli->line.count > 0) + { + uartPrintf(p_cli->ch, "\x1B[%dP", p_cli->line.count); + } + + + if (key_up == true) + { + if (p_cli->hist_line_new == true) + { + p_cli->hist_line_i = p_cli->hist_line_last; + } + p_cli->hist_line_i = (p_cli->hist_line_i + p_cli->hist_line_count - 1) % p_cli->hist_line_count; + change_i = p_cli->hist_line_i; + } + else + { + p_cli->hist_line_i = (p_cli->hist_line_i + 1) % p_cli->hist_line_count; + change_i = p_cli->hist_line_i; + } + + p_cli->line = p_cli->line_buf[change_i]; + p_cli->line.cursor = p_cli->line.count; + + p_cli->hist_line_new = false; +} + +bool cliRunCmd(cli_t *p_cli) +{ + bool ret = false; + + + if (cliParseArgs(p_cli) == true) + { + cliPrintf("\r\n"); + + cliToUpper(p_cli->argv[0]); + + for (int i=0; icmd_count; i++) + { + if (strcmp(p_cli->argv[0], p_cli->cmd_list[i].cmd_str) == 0) + { + p_cli->cmd_args.argc = p_cli->argc - 1; + p_cli->cmd_args.argv = &p_cli->argv[1]; + p_cli->cmd_list[i].cmd_func(&p_cli->cmd_args); + break; + } + } + } + + return ret; +} + +bool cliParseArgs(cli_t *p_cli) +{ + bool ret = false; + char *tok; + char *next_ptr; + uint16_t argc = 0; + static const char *delim = " \f\n\r\t\v"; + char *cmdline; + char **argv; + + p_cli->argc = 0; + + cmdline = (char *)p_cli->line.buf; + argv = p_cli->argv; + + argv[argc] = NULL; + + for (tok = strtok_r(cmdline, delim, &next_ptr); tok; tok = strtok_r(NULL, delim, &next_ptr)) + { + argv[argc++] = tok; + } + + p_cli->argc = argc; + + if (argc > 0) + { + ret = true; + } + + return ret; +} + +void cliPrintf(const char *fmt, ...) +{ + va_list arg; + va_start (arg, fmt); + int32_t len; + cli_t *p_cli = &cli_node; + + + len = vsnprintf(p_cli->print_buffer, 256, fmt, arg); + va_end (arg); + + uartWrite(p_cli->ch, (uint8_t *)p_cli->print_buffer, len); +} + +void cliToUpper(char *str) +{ + uint16_t i; + uint8_t str_ch; + + for (i=0; i= 'a') && (str_ch <= 'z')) + { + str_ch = str_ch - 'a' + 'A'; + } + str[i] = str_ch; + } + + if (i == CLI_CMD_NAME_MAX) + { + str[i-1] = 0; + } +} + +int32_t cliArgsGetData(uint8_t index) +{ + int32_t ret = 0; + cli_t *p_cli = &cli_node; + + + if (index >= p_cli->cmd_args.argc) + { + return 0; + } + + ret = (int32_t)strtoul((const char * ) p_cli->cmd_args.argv[index], (char **)NULL, (int) 0); + + return ret; +} + +float cliArgsGetFloat(uint8_t index) +{ + float ret = 0.0; + cli_t *p_cli = &cli_node; + + + if (index >= p_cli->cmd_args.argc) + { + return 0; + } + + ret = (float)strtof((const char * ) p_cli->cmd_args.argv[index], (char **)NULL); + + return ret; +} + +char *cliArgsGetStr(uint8_t index) +{ + char *ret = NULL; + cli_t *p_cli = &cli_node; + + + if (index >= p_cli->cmd_args.argc) + { + return 0; + } + + ret = p_cli->cmd_args.argv[index]; + + return ret; +} + +bool cliArgsIsStr(uint8_t index, char *p_str) +{ + bool ret = false; + cli_t *p_cli = &cli_node; + + + if (index >= p_cli->cmd_args.argc) + { + return 0; + } + + if(strcmp(p_str, p_cli->cmd_args.argv[index]) == 0) + { + ret = true; + } + + return ret; +} + +bool cliKeepLoop(void) +{ + cli_t *p_cli = &cli_node; + + #if 0 + + if (uartAvailable(p_cli->ch) == 0) + { + return true; + } + else + { + return false; + } + #endif +} + +bool cliAdd(const char *cmd_str, void (*p_func)(cli_args_t *)) +{ + bool ret = true; + cli_t *p_cli = &cli_node; + uint16_t index; + + if (p_cli->cmd_count >= CLI_CMD_LIST_MAX) + { + return false; + } + + index = p_cli->cmd_count; + + strcpy(p_cli->cmd_list[index].cmd_str, cmd_str); + p_cli->cmd_list[index].cmd_func = p_func; + + cliToUpper(p_cli->cmd_list[index].cmd_str); + + p_cli->cmd_count++; + + return ret; +} + +void cliShowList(cli_args_t *args) +{ + cli_t *p_cli = &cli_node; + + + cliPrintf("\r\n"); + cliPrintf("---------- cmd list ---------\r\n"); + + for (int i=0; icmd_count; i++) + { + cliPrintf(p_cli->cmd_list[i].cmd_str); + cliPrintf("\r\n"); + } + + cliPrintf("-----------------------------\r\n"); +} + +void cliMemoryDump(cli_args_t *args) +{ + int idx, size = 16; + unsigned int *addr; + int idx1, i; + unsigned int *ascptr; + unsigned char asc[4]; + + int argc = args->argc; + char **argv = args->argv; + + + if(args->argc < 1) + { + cliPrintf(">> md addr [size] \n"); + return; + } + + if(argc > 1) + { + size = (int)strtoul((const char * ) argv[1], (char **)NULL, (int) 0); + } + addr = (unsigned int *)strtoul((const char * ) argv[0], (char **)NULL, (int) 0); + ascptr = (unsigned int *)addr; + + cliPrintf("\n "); + for (idx = 0; idx 0x1f && asc[i] < 0x7f) + { + cliPrintf("%c", asc[i]); + } + else + { + cliPrintf("."); + } + } + ascptr+=1; + } + cliPrintf("|\r\n "); + } + addr++; + } +} + + + + +static void uartPrintf(uint8_t ch, const char *format, ...) +{ + char buf[256]; + va_list args; + int len; + uint32_t ret; + + va_start(args, format); + len = vsnprintf(buf, 256, format, args); + + ret = uartWrite(ch, (uint8_t *)buf, len); + + va_end(args); +} + +static uint32_t uartWrite(uint8_t ch, uint8_t* pTxData, uint32_t txLen) +{ + App_Uart_Transmit_Len(pTxData, txLen); + return 0; + +} + + diff --git a/Project/Application/app_cli.h b/Project/Application/app_cli.h new file mode 100644 index 0000000..c18c3cb --- /dev/null +++ b/Project/Application/app_cli.h @@ -0,0 +1,44 @@ +/** \file app_cli.h */ +#if !defined(APP_CLI_H__9DA8C2E3_EABE_4275_933C_0028C1AD1C5F__INCLUDED_) +#define APP_CLI_H__9DA8C2E3_EABE_4275_933C_0028C1AD1C5F__INCLUDED_ + +#include "board_config.h" + + +#define CLI_CMD_LIST_MAX 16 +#define CLI_CMD_NAME_MAX 16 +#define CLI_LINE_HIS_MAX 4 +#define CLI_LINE_BUF_MAX 64 + + + + +typedef struct +{ + uint16_t argc; + char **argv; + int32_t (*getData)(uint8_t index); + float (*getFloat)(uint8_t index); + char *(*getStr)(uint8_t index); + bool (*isStr)(uint8_t index, char *p_str); +} cli_args_t; + + +void App_CLI_Initialization(void); +bool cliAdd(const char *cmd_str, void (*p_func)(cli_args_t *)); + + +#if 0 +bool cliInit(void); +bool cliOpen(uint8_t ch, uint32_t baud); +bool cliOpenLog(uint8_t ch, uint32_t baud); +bool cliMain(void); +void cliPrintf(const char *fmt, ...); + +bool cliKeepLoop(void); +uint32_t cliAvailable(void); +uint8_t cliRead(void); +uint32_t cliWrite(uint8_t *p_data, uint32_t length); +#endif + +#endif diff --git a/Project/Application/app_gpio_i2c.c b/Project/Application/app_gpio_i2c.c index c738eb4..6d64a41 100644 --- a/Project/Application/app_gpio_i2c.c +++ b/Project/Application/app_gpio_i2c.c @@ -2,7 +2,7 @@ #define APP_GPIO_I2C_SDA_PORT PORT_0 -#define APP_GPIO_I2C_SDA_PIN PIN_9 +#define APP_GPIO_I2C_SDA_PIN PIN_3 #define APP_GPIO_I2C_SDA_OUTPUT App_Gpio_I2C_Port_Output(APP_GPIO_I2C_SDA_PORT, APP_GPIO_I2C_SDA_PIN) #define APP_GPIO_I2C_SDA_INPUT App_Gpio_I2C_Port_Input(APP_GPIO_I2C_SDA_PORT, APP_GPIO_I2C_SDA_PIN) #define APP_GPIO_I2C_SDA_H App_Gpio_I2C_Port_H(APP_GPIO_I2C_SDA_PORT, APP_GPIO_I2C_SDA_PIN) @@ -10,7 +10,7 @@ #define APP_GPIO_I2C_READ App_Gpio_I2C_Port_Read(APP_GPIO_I2C_SDA_PORT, APP_GPIO_I2C_SDA_PIN) #define APP_GPIO_I2C_SCL_PORT PORT_0 -#define APP_GPIO_I2C_SCL_PIN PIN_8 +#define APP_GPIO_I2C_SCL_PIN PIN_2 #define APP_GPIO_I2C_SCL_H App_Gpio_I2C_Port_H(APP_GPIO_I2C_SCL_PORT, APP_GPIO_I2C_SCL_PIN) #define APP_GPIO_I2C_SCL_L App_Gpio_I2C_Port_L(APP_GPIO_I2C_SCL_PORT, APP_GPIO_I2C_SCL_PIN) @@ -38,7 +38,7 @@ void App_Gpio_I2C_Initialization(uint32_t Frequency) APP_GPIO_I2C_SDA_H; APP_GPIO_I2C_SCL_H; - DelayCount = (1000000 / Frequency) + 1; + DelayCount = (1000000 / Frequency)/2; App_Gpio_I2C_Stop(); } @@ -246,8 +246,12 @@ static bool App_Gpio_I2C_Port_Read(uint32_t Port, uint32_t Pin) static void App_Gpio_I2C_Delay(void) { uint32_t i; + for(i = 0 ; i < DelayCount ; i++) + { asm("NOP"); + } + } diff --git a/Project/Application/app_gpio_i2c.h b/Project/Application/app_gpio_i2c.h index ec9da02..64fdf27 100644 --- a/Project/Application/app_gpio_i2c.h +++ b/Project/Application/app_gpio_i2c.h @@ -4,6 +4,11 @@ #include "board_config.h" + + + + + void App_Gpio_I2C_Initialization(uint32_t Frequency); void App_Gpio_I2C_Start(void); bool App_Gpio_I2C_WriteData(uint8_t TxData); diff --git a/Project/Application/app_i2c0.c b/Project/Application/app_i2c0.c new file mode 100644 index 0000000..fa861da --- /dev/null +++ b/Project/Application/app_i2c0.c @@ -0,0 +1,163 @@ +#include "app_i2c0.h" + + +#define I2C0_INSTANCE MXC_I2C0 + + +sys_cfg_i2c_t sys_i2c_cfg = NULL; + + + +bool I2C0_Master_Initialization(i2c_speed_t Speed) +{ + int error; + + I2C_Shutdown(I2C0_INSTANCE); + + error = I2C_Init(I2C0_INSTANCE, Speed, &sys_i2c_cfg); + I2C_SetTimeout(I2C0_INSTANCE, 100); + + NVIC_ClearPendingIRQ(I2C0_IRQn); + NVIC_DisableIRQ(I2C0_IRQn); + NVIC_EnableIRQ(I2C0_IRQn); + + return ((error == E_NO_ERROR) ? true : false); +} + + + + + + +#if 0 +static i2c_req_t I2C0_Master_Req; +static int32_t I2C0_MasterError; +static bool isRecvComplete; +static uint32_t I2C0_MasterTickCount; +static void I2C_Master_Callback(i2c_req_t *req, int error); +static uint8_t I2C_Master_TxBuff[256]; +static uint8_t I2C_Master_RxBuff[256]; + +void I2C_Master_Initialization(void) +{ + int error; + const sys_cfg_i2c_t sys_i2c_master_cfg = NULL; /* No system specific configuration needed. */ + + I2C_Shutdown(I2C_MASTER_INSTANCE); + + error = I2C_Init(I2C_MASTER_INSTANCE, I2C_MASTER_FREQUENCY, &sys_i2c_master_cfg); + I2C_SetTimeout(I2C_MASTER_INSTANCE, 100); + + if(I2C_MASTER_INSTANCE == MXC_I2C0) + { + NVIC_ClearPendingIRQ(I2C0_IRQn); + NVIC_DisableIRQ(I2C0_IRQn); + NVIC_EnableIRQ(I2C0_IRQn); + } + else if(I2C_MASTER_INSTANCE == MXC_I2C1) + { + NVIC_ClearPendingIRQ(I2C1_IRQn); + NVIC_DisableIRQ(I2C1_IRQn); + NVIC_EnableIRQ(I2C1_IRQn); + } +} + + + + +//Master interrupt handler +void I2C0_IRQHandler(void) +{ + I2C_Handler(I2C_MASTER_INSTANCE); + return; +} + +static void I2C_Master_Callback(i2c_req_t *req, int error) +{ + I2C_MasterError = error; + isRecvComplete = true; +} + + + +int32_t I2C_Write(uint8_t SlaveAddress, uint8_t* pTxBuffer, uint32_t TxLen) +{ + int32_t ret; + + ret = I2C_MasterWrite(I2C_MASTER_INSTANCE, (SlaveAddress << 1), pTxBuffer, TxLen, 0); + if(ret != TxLen) + { + I2C_Master_Initialization(); + ret = E_COMM_ERR; + } + else + { + ret = E_NO_ERROR; + } + return ret; +} + + +int32_t I2C_Read(uint8_t SlaveAddress, uint8_t ReadRegAddress, uint8_t* pRxBuffer, uint32_t RxLen) +{ + int32_t ret; + + if(ret = I2C_MasterWrite(I2C_MASTER_INSTANCE, (SlaveAddress << 1), &ReadRegAddress, 1, true) != 1) + { + I2C_Master_Initialization(); + return E_COMM_ERR; + } + + if(ret = I2C_MasterRead(I2C_MASTER_INSTANCE, (SlaveAddress << 1), &pRxBuffer[0], RxLen, false) != RxLen) + { + I2C_Master_Initialization(); + return E_COMM_ERR; + } + + return E_NO_ERROR; +} + + +int32_t I2C_WriteRead(uint8_t SlaveAddress, uint8_t* pWriteBuff, uint32_t TxLen, uint8_t* pRxBuffer, uint32_t RxLen) +{ + int32_t ret; + + if(ret = I2C_MasterWrite(I2C_MASTER_INSTANCE, (SlaveAddress << 1), &pWriteBuff[0], TxLen, true) != TxLen) + { + I2C_Master_Initialization(); + return E_COMM_ERR; + } + + if(ret = I2C_MasterRead(I2C_MASTER_INSTANCE, (SlaveAddress << 1), &pRxBuffer[0], RxLen, false) != RxLen) + { + I2C_Master_Initialization(); + return E_COMM_ERR; + } + + return E_NO_ERROR; +} + + + + +void I2C_Scanner_Process(void) +{ + + uint8_t regAddress = 0x00; + uint8_t regRxdata; + for(uint8_t address = 1; address < 127; address++) + { + dbg_printf("."); + if(I2C_Read(address, regAddress, ®Rxdata, 1) == E_NO_ERROR) + { + dbg_printf("\r\nFound slave ID %03d; 0x%02X\r\n", address, address); + //break; + } + Delay_ms(5); + } + dbg_printf("\r\n"); + dbg_printf("scan complete\r\n"); + +} + +#endif \ No newline at end of file diff --git a/Project/Application/app_i2c0.h b/Project/Application/app_i2c0.h new file mode 100644 index 0000000..2d4bc8f --- /dev/null +++ b/Project/Application/app_i2c0.h @@ -0,0 +1,10 @@ +/** \file app_i2c0.h */ +#if !defined(APP_I2C0_H__B26936C0_09E7_410C_A4ED_75481D0FE5F0__INCLUDED_) +#define APP_I2C0_H__B26936C0_09E7_410C_A4ED_75481D0FE5F0__INCLUDED_ + +#include "board_config.h" + + +bool I2C0_Master_Initialization(i2c_speed_t Speed); + +#endif diff --git a/Project/Application/app_i2c1.c b/Project/Application/app_i2c1.c new file mode 100644 index 0000000..214a449 --- /dev/null +++ b/Project/Application/app_i2c1.c @@ -0,0 +1 @@ +#include "app_i2c1.h" \ No newline at end of file diff --git a/Project/Application/app_i2c1.h b/Project/Application/app_i2c1.h new file mode 100644 index 0000000..0e5926b --- /dev/null +++ b/Project/Application/app_i2c1.h @@ -0,0 +1,8 @@ +/** \file app_i2c1.h */ +#if !defined(APP_I2C1_H__B26936C0_09E7_410C_A4ED_75481D0FE5F0__INCLUDED_) +#define APP_I2C1_H__B26936C0_09E7_410C_A4ED_75481D0FE5F0__INCLUDED_ + +#include "board_config.h" + + +#endif diff --git a/Project/Application/app_log.c b/Project/Application/app_log.c new file mode 100644 index 0000000..4086499 --- /dev/null +++ b/Project/Application/app_log.c @@ -0,0 +1,39 @@ +#include "app_log.h" +#include + + +static LOG_LEVEL nowLogLevel = LOG_LEVEL_DEBUG; + + +bool App_Log_Initialization(LOG_LEVEL level) +{ + return App_Log_Set_logLevel(level); +} + +bool App_Log_Set_logLevel(LOG_LEVEL level) +{ + if(level > LOG_LEVEL_DEBUG) + return false; + nowLogLevel = level; + return true; +} + +LOG_LEVEL App_Lgo_Get_logLevel(void) +{ + return nowLogLevel; +} + + +void App_Log_Prinf(LOG_LEVEL level, const char *func, const char *format, ...) +{ + if(nowLogLevel >= level) + { + va_list arg; + fprintf(stderr, "[%d][%s] ", millis(), func); + va_start(arg, format); + vfprintf(stderr, format, arg); + va_end(arg); + } +} + + diff --git a/Project/Application/app_log.h b/Project/Application/app_log.h new file mode 100644 index 0000000..3ebb39c --- /dev/null +++ b/Project/Application/app_log.h @@ -0,0 +1,35 @@ +/** \file app_log.h */ +#if !defined(APP_LOG_H__AF0528EC_4FE9_42EF_A325_9764C6E25718__INCLUDED_) +#define APP_LOG_H__AF0528EC_4FE9_42EF_A325_9764C6E25718__INCLUDED_ + +#include "board_config.h" + +typedef enum +{ + LOG_LEVEL_NONE, + LOG_LEVEL_ERROR, + LOG_LEVEL_WARRING, + LOG_LEVEL_INFO, + LOG_LEVEL_DEBUG, +}LOG_LEVEL; + + +#ifdef DEBUG + #define dbg_printf(l, f, a...) \ + do { \ + App_Log_Prinf(l, __FUNCTION__, f, ## a); \ + } while(0) +#else + #define Log(l, f, a ...) do {} while(0) +#endif + + +bool App_Log_Initialization(LOG_LEVEL level); +bool App_Log_Set_logLevel(LOG_LEVEL level); +LOG_LEVEL App_Lgo_Get_logLevel(void); +void App_Log_Prinf(LOG_LEVEL level, const char *func, const char *format, ...); + + + + +#endif diff --git a/Project/Application/app_uart.c b/Project/Application/app_uart.c index 5ee75d8..49e7bd0 100644 --- a/Project/Application/app_uart.c +++ b/Project/Application/app_uart.c @@ -110,8 +110,7 @@ void App_Uart_Interrupt_Handler(void) static void App_Uart_Read_Callback(uart_req_t* req, int error) { - RingBuffer_Enqueue(&Rx_RingBuffer, RxData); - RingBuffer_Enqueue(&Tx_RingBuffer, RxData); + RingBuffer_Enqueue(&Rx_RingBuffer, RxData); App_Uart_Read_Callback_Initialization(); } @@ -133,6 +132,25 @@ int32_t App_Uart_Transmit(uint8_t TxData) return true; } +int32_t App_Uart_Transmit_Len(uint8_t* pTxBuffer, uint16_t TxLen) +{ + uint32_t i; + for(i = 0 ; i < TxLen ; i++) + App_Uart_Transmit(pTxBuffer[i]); + return true; +} + +int32_t App_Uart_Print(uint8_t* pTxBuffer) +{ + uint32_t index = 0; + while(pTxBuffer[index] != NULL) + { + App_Uart_Transmit(pTxBuffer[index]); + index++; + } +} + + int32_t App_Uart_Get_Last_Error(void) { return UartError; diff --git a/Project/Application/app_uart.h b/Project/Application/app_uart.h index 21520f5..434b63d 100644 --- a/Project/Application/app_uart.h +++ b/Project/Application/app_uart.h @@ -8,6 +8,7 @@ int32_t App_Uart_Initialization(void); int32_t App_Uart_Transmit(uint8_t TxData); int32_t App_Uart_Transmit_Len(uint8_t* pTxBuffer, uint16_t TxLen); +int32_t App_Uart_Print(uint8_t* pTxBuffer); int32_t App_Uart_Get_Last_Error(void); bool App_Uart_Get_Recv_Data(uint8_t* pRxData); diff --git a/Project/Application/board_config.h b/Project/Application/board_config.h index 6dfdbac..c043873 100644 --- a/Project/Application/board_config.h +++ b/Project/Application/board_config.h @@ -10,7 +10,7 @@ #include #include #include - +#include #include "max32660.h" @@ -33,7 +33,7 @@ #include "system_func.h" - +#define DEBUG #define millis() SystemTimer_Get_TickCount() @@ -43,11 +43,17 @@ ////////////////////////////////////////// // printf use // -#define APP_UART_INSTANCE MXC_UART1 -#define APP_UART_ALTERNATE MAP_A -#define APP_UART_BUADRATE 115200 -#define APP_UART_TX_BUFFER_SIZE 512 -#define APP_UART_RX_BUFFER_SIZE 128 +#define APP_UART_INSTANCE MXC_UART1 +#define APP_UART_ALTERNATE MAP_A +#define APP_UART_BUADRATE 115200 +#define APP_UART_TX_BUFFER_SIZE 1024 +#define APP_UART_RX_BUFFER_SIZE 128 + + + + +#define TEMPERATURE_MAX 4500 +#define TEMPERATURE_MIN 1000 #endif diff --git a/Project/Application/main.c b/Project/Application/main.c index 65fe44f..4660be2 100644 --- a/Project/Application/main.c +++ b/Project/Application/main.c @@ -6,41 +6,50 @@ #include "app_gpio_led.h" #include "app_gpio_i2c.h" #include "app_uart.h" - +#include "app_i2c0.h" #include "ssd1306.h" - +#include "app_log.h" +#include "app_cli.h" void Test_Process(void) { - static uint32_t count = 0; - uint8_t temp[100]; - SSD1306_SetPosition (7, 1); // set position - sprintf(temp, "count = %d", count++); - SSD1306_DrawString (temp); // draw string - SSD1306_UpdateScreen (SSD1306_ADDR); // update - //printf("12345678\r\n"); + + } +#if 0 +void App_Gpio_I2C_Initialization(uint32_t Frequency); +void App_Gpio_I2C_Start(void); +bool App_Gpio_I2C_WriteData(uint8_t TxData); +bool App_Gpio_I2C_ReadData(uint8_t* pRxData, bool isAck); +void App_Gpio_I2C_Stop(void); +bool App_Gpio_I2C_Write(uint8_t Address, uint8_t* pWriteData, uint32_t TxSize); +bool App_Gpio_I2C_Read(uint8_t Address, uint8_t* pReadData, uint32_t RxSize); +#endif int main(void) { uint8_t i; + bool isAck; ICC_Enable(); SystemCoreClockSet(HIRC_96MHZ); - + App_Uart_Initialization(); - App_Gpio_I2C_Initialization(200000); + App_Gpio_I2C_Initialization(100000); + I2C0_Master_Initialization(I2C_FAST_MODE); App_Led_Initialization(); - + App_CLI_Initialization(); __enable_irq(); App_Led_OutputSet(APP_LED_1, APP_LED_MODE_TOGGLE, 100, 100); - SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 100,Test_Process ); + SW_Timer_Callback_Register(SW_TIMER_RUN_CONTINUE, 1000,Test_Process ); + +#if 0 if(SSD1306_Init(SSD1306_ADDR) != SSD1306_SUCCESS) { @@ -48,8 +57,40 @@ int main(void) } else { + uint8_t i; + SSD1306_NormalScreen (SSD1306_ADDR); + SSD1306_ClearScreen (); + SSD1306_DrawBackGround_Log(); + SSD1306_UpdateScreen (SSD1306_ADDR); + Delay_ms(1500); + SSD1306_InverseScreen (SSD1306_ADDR); + Delay_ms(1500); + SSD1306_NormalScreen (SSD1306_ADDR); + + for(i = 0 ; i < 128 ; i++) + { + SSD1306_DrawBackGround_LeftShift(1); + if(i % 2 == 0) + { + SSD1306_UpdateScreen (SSD1306_ADDR); + } + + + //Delay_ms(10); + } + SSD1306_DrawBackGround(); + SSD1306_UpdateScreen (SSD1306_ADDR); + + + + + + + + +#if 0 SSD1306_NormalScreen (SSD1306_ADDR); - SSD1306_ClearScreen (); // clear screen + SSD1306_ClearScreen (); // clear screen SSD1306_DrawLine (0, MAX_X, 4, 4); // draw line SSD1306_SetPosition (7, 1); // set position SSD1306_DrawString ("SSD1306 OLED DRIVER"); // draw string @@ -83,7 +124,12 @@ int main(void) SSD1306_NormalScreen (SSD1306_ADDR); #endif +#endif } +#endif + + + COMPLETE: while(1) { SW_Timer_Callback_Process(); diff --git a/Project/Application/oled_ssd1306/ssd1306.c b/Project/Application/oled_ssd1306/ssd1306.c index 75c4849..b65ae9e 100644 --- a/Project/Application/oled_ssd1306/ssd1306.c +++ b/Project/Application/oled_ssd1306/ssd1306.c @@ -3,6 +3,11 @@ //#include "font8x8.h" #include "ssd1306_i2c.h" +extern const unsigned char gImage_background[512]; +extern const unsigned char gImage_CAMMSYS_Log[512]; +extern const unsigned char gImage_number[12][88]; + + // @const List of init commands with arguments by Adafruit // @link https://github.com/adafruit/Adafruit_SSD1306 @@ -36,7 +41,8 @@ const uint8_t INIT_SSD1306_ADAFRUIT[] = { // @const uint8_t - List of init commands according to datasheet SSD1306 const uint8_t INIT_SSD1306[] = { - 17, // number of initializers + 18, // number of initializers + 0xE4,0, SSD1306_DISPLAY_OFF, 0, // 0xAE = Set Display OFF SSD1306_SET_MUX_RATIO, 1, 0x1F, // 0xA8 - 0x3F for 128 x 64 version (64MUX) // - 0x1F for 128 x 32 version (32MUX) @@ -65,7 +71,12 @@ const uint8_t INIT_SSD1306[] = { unsigned int _counter; // @var array Chache memory Lcd 8 * 128 = 1024 -static char cacheMemLcd[CACHE_SIZE_MEM]; +static uint8_t cacheMemLcd[CACHE_SIZE_MEM]; + + + +static uint8_t reverse_bits(uint8_t num); + /** * +------------------------------------------------------------------------------------+ @@ -257,18 +268,21 @@ uint8_t SSD1306_InverseScreen (uint8_t address) return SSD1306_SUCCESS; } -/** - * @brief SSD1306 Update screen - * - * @param uint8_t address - * - * @return uint8_t - */ + + uint8_t SSD1306_UpdateScreen (uint8_t address) { uint8_t status = INIT_STATUS; uint16_t i = 0; + + SSD1306_Send_StartAndSLAW (address); + status = SSD1306_Send_Command (0xB0); + status = SSD1306_Send_Command (SSD1306_SET_PAGE_ADDR); // argument + status = SSD1306_Send_Command (0x00); // argument + status = SSD1306_Send_Command (0x03); // argument + TWI_Stop (); + // TWI: start & SLAW // ------------------------------------------------------------------------------------- @@ -289,7 +303,7 @@ uint8_t SSD1306_UpdateScreen (uint8_t address) // send cache memory lcd // ------------------------------------------------------------------------------------- while (i < CACHE_SIZE_MEM) { - status = TWI_MT_Send_Data (cacheMemLcd[i++]); // send data + status = TWI_MT_Send_Data (reverse_bits(cacheMemLcd[i++])); // send data if (SSD1306_SUCCESS != status) { TWI_Stop(); @@ -314,6 +328,8 @@ uint8_t SSD1306_UpdateScreen (uint8_t address) void SSD1306_ClearScreen (void) { memset (cacheMemLcd, 0x00, CACHE_SIZE_MEM); // null cache memory lcd + //SSD1306_DrawBackGround(); + //SSD1306_DrawBackGround_Log(); } /** @@ -369,7 +385,7 @@ uint8_t SSD1306_DrawChar (char character) return SSD1306_ERROR; } while (i < CHARS_COLS_LENGTH) { - cacheMemLcd[_counter++] = FONTS[character-32][i++]; + cacheMemLcd[_counter++] = reverse_bits(FONTS[character-32][i++]); } _counter++; @@ -478,6 +494,115 @@ uint8_t SSD1306_DrawLine (uint8_t x1, uint8_t x2, uint8_t y1, uint8_t y2) } +uint8_t SSD1306_DrawBackGround(void) +{ + memcpy(cacheMemLcd, gImage_background, CACHE_SIZE_MEM); // null cache memory lcd + return SSD1306_SUCCESS; +} + +uint8_t SSD1306_DrawBackGround_Log(void) +{ + memcpy(cacheMemLcd, gImage_CAMMSYS_Log, CACHE_SIZE_MEM); // null cache memory lcd + return SSD1306_SUCCESS; +} + +uint8_t SSD1306_DrawBackGround_LeftShift(uint8_t Shift) +{ + uint8_t x, y; + uint32_t Index; + + for(y = 0 ; y <= END_PAGE_ADDR ; y++) + { + for(x = 0 ; x < (MAX_X+1) ; x++) + { + Index = (y* MAX_X) + x; + cacheMemLcd[Index] = cacheMemLcd[Index+Shift]; + cacheMemLcd[Index+Shift] = 0; + } + } + cacheMemLcd[127] = 0; + cacheMemLcd[255] = 0; + cacheMemLcd[383] = 0; + cacheMemLcd[511] = 0; + return SSD1306_SUCCESS; +} + +#define DRAW_NUM_WIDTH 22 +#define DRAW_NUM_H_H_X 2 +#define DRAW_NUM_H_H_L 24 + +#define DRAW_NUM_L_H_X 53 +#define DRAW_NUM_L_H_L 75 + +uint8_t SSD1306_Draw_Temperature(uint16_t Temperature) +{ + uint8_t Index_HH; + uint8_t Index_HL; + uint8_t Index_LH; + uint8_t Index_LL; + uint8_t Temp_H; + uint8_t Temp_L; + uint8_t x; + + + if(Temperature > TEMPERATURE_MAX || Temperature < TEMPERATURE_MIN) + { + Index_HH = 11; + Index_HL = 11; + Index_LH = 11; + Index_LL = 11; + } + else + { + Temp_H = Temperature / 100; + Index_HH = Temp_H / 10; + if(Index_HH == 0) + Index_HH = 10; + Index_HL = Temp_H % 10; + + Temp_L = Temperature % 100; + Index_LH = Temp_L / 10; + Index_LL = Temp_L % 10; + } + + for(x = 0 ; x < DRAW_NUM_WIDTH ; x++) + { + cacheMemLcd[DRAW_NUM_H_H_X+x] = gImage_number[Index_HH][x]; + cacheMemLcd[DRAW_NUM_H_H_X+128+x] = gImage_number[Index_HH][22+x]; + cacheMemLcd[DRAW_NUM_H_H_X+(128*2)+x] = gImage_number[Index_HH][44+x]; + cacheMemLcd[DRAW_NUM_H_H_X+(128*3)+x] = gImage_number[Index_HH][66+x]; + + cacheMemLcd[DRAW_NUM_H_H_L+x] = gImage_number[Index_HL][x]; + cacheMemLcd[DRAW_NUM_H_H_L+128+x] = gImage_number[Index_HL][22+x]; + cacheMemLcd[DRAW_NUM_H_H_L+(128*2)+x] = gImage_number[Index_HL][44+x]; + cacheMemLcd[DRAW_NUM_H_H_L+(128*3)+x] = gImage_number[Index_HL][66+x]; + + cacheMemLcd[DRAW_NUM_L_H_X+x] = gImage_number[Index_LH][x]; + cacheMemLcd[DRAW_NUM_L_H_X+128+x] = gImage_number[Index_LH][22+x]; + cacheMemLcd[DRAW_NUM_L_H_X+(128*2)+x] = gImage_number[Index_LH][44+x]; + cacheMemLcd[DRAW_NUM_L_H_X+(128*3)+x] = gImage_number[Index_LH][66+x]; + + cacheMemLcd[DRAW_NUM_L_H_L+x] = gImage_number[Index_LL][x]; + cacheMemLcd[DRAW_NUM_L_H_L+128+x] = gImage_number[Index_LL][22+x]; + cacheMemLcd[DRAW_NUM_L_H_L+(128*2)+x] = gImage_number[Index_LL][44+x]; + cacheMemLcd[DRAW_NUM_L_H_L+(128*3)+x] = gImage_number[Index_LL][66+x]; + } + return SSD1306_SUCCESS; +} + + +static uint8_t reverse_bits(uint8_t num) +{ + uint8_t reversed = 0; + for (int i = 0; i < 8; i++) { + reversed |= ((num >> i) & 1) << (7 - i); + } + return reversed; +} + + + + #if 0 const uint8_t BasicFont[][8] = { diff --git a/Project/Application/oled_ssd1306/ssd1306.h b/Project/Application/oled_ssd1306/ssd1306.h index b5bb167..56998e8 100644 --- a/Project/Application/oled_ssd1306/ssd1306.h +++ b/Project/Application/oled_ssd1306/ssd1306.h @@ -87,31 +87,8 @@ extern unsigned int _counter; * --------------------------------------------------------------------------------------------+ */ -/** - * @brief SSD1306 Init - * - * @param uint8_t - * - * @return uint8_t - */ uint8_t SSD1306_Init (uint8_t); - -/** - * @brief SSD1306 Send Start and SLAW request - * - * @param uint8_t - * - * @return uint8_t - */ uint8_t SSD1306_Send_StartAndSLAW (uint8_t); - -/** - * @brief SSD1306 Send command - * - * @param uint8_t - * - * @return uint8_t - */ uint8_t SSD1306_Send_Command (uint8_t); /** @@ -120,104 +97,21 @@ uint8_t SSD1306_Send_Command (uint8_t); * +------------------------------------------------------------------------------------+ */ -/** - * @brief SSD1306 Clear screen - * - * @param void - * - * @return void - */ void SSD1306_ClearScreen (void); - -/** - * @brief SSD1306 Normal colors - * - * @param uint8_t - * - * @return uint8_t - */ uint8_t SSD1306_NormalScreen (uint8_t); - -/** - * @brief SSD1306 Inverse colors - * - * @param uint8_t - * - * @return uint8_t - */ uint8_t SSD1306_InverseScreen (uint8_t); - -/** - * @brief SSD1306 Update screen - * - * @param uint8_t - * - * @return uint8_t - */ +uint8_t SSD1306_UpdateScreen_Temp (uint8_t address); uint8_t SSD1306_UpdateScreen (uint8_t); - -/** - * @brief SSD1306 Update text position - * - * @param void - * - * @return uint8_t - */ uint8_t SSD1306_UpdatePosition (void); - -/** - * @brief SSD1306 Set position - * - * @param uint8_t - * @param uint8_t - * - * @return void - */ void SSD1306_SetPosition (uint8_t, uint8_t); - -/** - * @brief SSD1306 Draw character - * - * @param char - * - * @return uint8_t - */ uint8_t SSD1306_DrawChar (char); - -/** - * @brief SSD1306 Draw string - * - * @param char * - * - * @return void - */ void SSD1306_DrawString (char *); - -/** - * @brief Draw pixel - * - * @param uint8_t - * @param uint8_t - * - * @return uint8_t - */ uint8_t SSD1306_DrawPixel (uint8_t, uint8_t); - -/** - * @brief Draw line - * - * @param uint8_t - * @param uint8_t - * @param uint8_t - * @param uint8_t - * - * @return uint8_t - */ uint8_t SSD1306_DrawLine (uint8_t, uint8_t, uint8_t, uint8_t); - - - - +uint8_t SSD1306_DrawBackGround(void); +uint8_t SSD1306_DrawBackGround_Log(void); +uint8_t SSD1306_DrawBackGround_LeftShift(uint8_t Shift); +uint8_t SSD1306_Draw_Temperature(uint16_t Temperature); diff --git a/Project/Application/resource/0.bmp b/Project/Application/resource/0.bmp new file mode 100644 index 0000000..10d9fbf Binary files /dev/null and b/Project/Application/resource/0.bmp differ diff --git a/Project/Application/resource/1.bmp b/Project/Application/resource/1.bmp new file mode 100644 index 0000000..1f786d5 Binary files /dev/null and b/Project/Application/resource/1.bmp differ diff --git a/Project/Application/resource/2.bmp b/Project/Application/resource/2.bmp new file mode 100644 index 0000000..a8da724 Binary files /dev/null and b/Project/Application/resource/2.bmp differ diff --git a/Project/Application/resource/3.bmp b/Project/Application/resource/3.bmp new file mode 100644 index 0000000..60ac662 Binary files /dev/null and b/Project/Application/resource/3.bmp differ diff --git a/Project/Application/resource/4.bmp b/Project/Application/resource/4.bmp new file mode 100644 index 0000000..85509cc Binary files /dev/null and b/Project/Application/resource/4.bmp differ diff --git a/Project/Application/resource/5.bmp b/Project/Application/resource/5.bmp new file mode 100644 index 0000000..6182ca2 Binary files /dev/null and b/Project/Application/resource/5.bmp differ diff --git a/Project/Application/resource/6.bmp b/Project/Application/resource/6.bmp new file mode 100644 index 0000000..9cb3221 Binary files /dev/null and b/Project/Application/resource/6.bmp differ diff --git a/Project/Application/resource/7.bmp b/Project/Application/resource/7.bmp new file mode 100644 index 0000000..2594305 Binary files /dev/null and b/Project/Application/resource/7.bmp differ diff --git a/Project/Application/resource/8.bmp b/Project/Application/resource/8.bmp new file mode 100644 index 0000000..72b1ce3 Binary files /dev/null and b/Project/Application/resource/8.bmp differ diff --git a/Project/Application/resource/9.bmp b/Project/Application/resource/9.bmp new file mode 100644 index 0000000..bb33339 Binary files /dev/null and b/Project/Application/resource/9.bmp differ diff --git a/Project/Application/resource/BG.bmp b/Project/Application/resource/BG.bmp new file mode 100644 index 0000000..258a1e3 Binary files /dev/null and b/Project/Application/resource/BG.bmp differ diff --git a/Project/Application/resource/Blank- Font.bmp b/Project/Application/resource/Blank- Font.bmp new file mode 100644 index 0000000..7e6515f Binary files /dev/null and b/Project/Application/resource/Blank- Font.bmp differ diff --git a/Project/Application/resource/CAMMSYS_Log.bmp b/Project/Application/resource/CAMMSYS_Log.bmp new file mode 100644 index 0000000..6c47120 Binary files /dev/null and b/Project/Application/resource/CAMMSYS_Log.bmp differ diff --git a/Project/Application/resource/Cammsys_Log.c b/Project/Application/resource/Cammsys_Log.c new file mode 100644 index 0000000..0483fa6 --- /dev/null +++ b/Project/Application/resource/Cammsys_Log.c @@ -0,0 +1,34 @@ +const unsigned char gImage_CAMMSYS_Log[512] = { +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X1F,0X1F,0X3F,0X30,0X30,0X30,0X30,0X30,0X30,0X30,0X30,0X30,0X30,0X00, +0X00,0X00,0X00,0X00,0X00,0X01,0X07,0X0E,0X1C,0X38,0X1C,0X0E,0X07,0X01,0X00,0X00, +0X00,0X00,0X00,0X3F,0X3F,0X1C,0X0E,0X07,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X01,0X07,0X0E,0X1C,0X3F,0X3F,0X00,0X00,0X3F,0X3F,0X1C,0X0E,0X07,0X01,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X01,0X07,0X0E,0X1C,0X3F,0X3F,0X00,0X00,0X1F,0X1F,0X3F, +0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X00,0X00,0X00,0X30,0X38, +0X1C,0X0E,0X07,0X03,0X01,0X01,0X01,0X03,0X07,0X0E,0X1C,0X38,0X30,0X00,0X00,0X1F, +0X1F,0X3F,0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X31,0X00,0X00,0X00, +0X00,0X00,0XF8,0XFC,0XFC,0X0C,0X0C,0X0C,0X0C,0X0C,0X0C,0X0C,0X0C,0X0C,0X0C,0X00, +0X00,0X0C,0X1C,0X38,0XF0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XF0,0X38, +0X1C,0X0C,0X00,0XFC,0XFC,0X00,0X00,0X80,0XC0,0XF0,0X78,0X1C,0X0C,0X1C,0X78,0XE0, +0XC0,0X80,0X00,0X00,0XFC,0XFC,0X00,0X00,0XFC,0XFC,0X00,0X00,0X80,0XC0,0XF0,0X78, +0X1C,0X0C,0X1C,0X78,0XE0,0XC0,0X80,0X00,0X00,0XFC,0XFC,0X00,0X00,0X0C,0X0C,0X8C, +0X8C,0X8C,0X8C,0X8C,0X8C,0X8C,0X8C,0X8C,0X8C,0XFC,0XFC,0XF8,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X80,0XFC,0XFC,0XFC,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0C, +0X0C,0X8C,0X8C,0X8C,0X8C,0X8C,0X8C,0X8C,0X8C,0X8C,0X8C,0XFC,0XFC,0XF8,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +}; diff --git a/Project/Application/resource/Number Font.bmp b/Project/Application/resource/Number Font.bmp new file mode 100644 index 0000000..928e1e2 Binary files /dev/null and b/Project/Application/resource/Number Font.bmp differ diff --git a/Project/Application/resource/background.c b/Project/Application/resource/background.c new file mode 100644 index 0000000..56954c8 --- /dev/null +++ b/Project/Application/resource/background.c @@ -0,0 +1,34 @@ +const unsigned char gImage_background[512] = { +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X18,0X24,0X42,0X42,0X24,0X18, +0X00,0X00,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0XFF,0X7F,0X3F,0X80,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0X80,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0XF0,0XE0,0XC8,0X18,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X18,0X08,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X0E,0X0E,0X0E,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +}; diff --git a/Project/Application/resource/number.c b/Project/Application/resource/number.c new file mode 100644 index 0000000..1693483 --- /dev/null +++ b/Project/Application/resource/number.c @@ -0,0 +1,14 @@ +const unsigned char gImage_number[12][88] = { +/*0*/ {0X00,0X00,0X1F,0X0F,0X27,0X30,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X30,0X27,0X0F,0X1F,0X00,0X00,0X00,0X00,0XFE,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFE,0XFF,0XFE,0X00,0X00,0X00,0X00,0X3F,0X7F,0X3F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X3F,0X7F,0X3F,0X00,0X00,0X00,0X00,0XFC,0XF8,0XF2,0X06,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X06,0XF2,0XF8,0XFC,0X00,0X00}, +/*1*/ {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X1F,0X3F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFE,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X3F,0X7F,0X3F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XF8,0XFC,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00}, +/*2*/ {0X00,0X00,0X00,0X20,0X30,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X30,0X27,0X0F,0X1F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0XFC,0XFE,0XFF,0X00,0X00,0X00,0X00,0X3F,0X7F,0XFF,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0X40,0X00,0X00,0X00,0X00,0X00,0XF8,0XF2,0XE6,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X06,0X02,0X00,0X00,0X00}, +/*3*/ {0X00,0X00,0X20,0X30,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X37,0X2F,0X1F,0X00,0X00,0X00,0X00,0X00,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0XFE,0XFF,0XFE,0X00,0X00,0X00,0X00,0X80,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XBF,0X7F,0X3F,0X00,0X00,0X00,0X00,0X02,0X06,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0XE6,0XF2,0XF8,0X00,0X00}, +/*4*/ {0X00,0X00,0X3F,0X1F,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X1F,0X3F,0X00,0X00,0X00,0X00,0XFE,0XFF,0XFD,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X00,0XFE,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0X80,0X3F,0X7F,0X3F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XF8,0XFC,0XFE,0X00,0X00}, +/*5*/ {0X00,0X00,0X1F,0X2F,0X37,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X30,0X20,0X00,0X00,0X00,0X00,0X00,0XFF,0XFE,0XFD,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X40,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0X80,0X3F,0X7F,0X3F,0X00,0X00,0X00,0X00,0X02,0X06,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X06,0XF2,0XF8,0XFC,0X00,0X00}, +/*6*/ {0X00,0X00,0X1F,0X2F,0X37,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X30,0X20,0X00,0X00,0X00,0X00,0X00,0XFE,0XFF,0XFF,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X3F,0X7F,0XFF,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0X80,0X3F,0X7F,0X3F,0X00,0X00,0X00,0X00,0XF8,0XF2,0XE6,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X06,0XF2,0XF8,0XFC,0X00,0X00}, +/*7*/ {0X00,0X00,0X20,0X30,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X37,0X2F,0X1F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFE,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X3F,0X7F,0X3F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XF8,0XFC,0XFE,0X00,0X00}, +/*8*/ {0X00,0X00,0X1F,0X2F,0X37,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X37,0X2F,0X1F,0X00,0X00,0X00,0X00,0XFE,0XFF,0XFE,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0XFE,0XFF,0XFE,0X00,0X00,0X00,0X00,0X3F,0X7F,0XBF,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XBF,0X7F,0X3F,0X00,0X00,0X00,0X00,0XF8,0XF2,0XE6,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0XE6,0XF2,0XF8,0X00,0X00}, +/*9*/ {0X00,0X00,0X1F,0X2F,0X37,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X38,0X30,0X27,0X0F,0X1F,0X00,0X00,0X00,0X00,0XFE,0XFF,0XFF,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0XFE,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XBF,0X7F,0X3F,0X00,0X00,0X00,0X00,0X00,0X02,0X06,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0X0E,0XE6,0XF2,0XF8,0X00,0X00}, +/* */ {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00}, +/*-*/ {0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00}, +}; diff --git a/Project/Application/sensor/ak9757w.c b/Project/Application/sensor/ak9757w.c new file mode 100644 index 0000000..e9289ac --- /dev/null +++ b/Project/Application/sensor/ak9757w.c @@ -0,0 +1 @@ +#include "ak9757w.h" \ No newline at end of file diff --git a/Project/Application/sensor/ak9757w.h b/Project/Application/sensor/ak9757w.h new file mode 100644 index 0000000..e08b8b9 --- /dev/null +++ b/Project/Application/sensor/ak9757w.h @@ -0,0 +1,9 @@ +/** \file ak9757w.h */ +#if !defined(AK9757W_H__A67BB088_3F4F_4CEB_8E75_7951713E9C3C__INCLUDED_) +#define AK9757W_H__A67BB088_3F4F_4CEB_8E75_7951713E9C3C__INCLUDED_ + +#include "define.h" +#include "struct.h" + + +#endif diff --git a/Project/Application/sensor/ak9757w_def.h b/Project/Application/sensor/ak9757w_def.h new file mode 100644 index 0000000..5ad9680 --- /dev/null +++ b/Project/Application/sensor/ak9757w_def.h @@ -0,0 +1,221 @@ +/** \file ak9757w_def.h */ +#if !defined(AK9757W_DEF_H__4BA48BEA_F528_4C98_B828_6A11363D6764__INCLUDED_) +#define AK9757W_DEF_H__4BA48BEA_F528_4C98_B828_6A11363D6764__INCLUDED_ + +#define AK9757W_DEVICE_ADDRESS 0x6C + + + +#define AK9757W_REG_RO_COMPANY_CODE 0x00 // Company Code +#define AK9757W_REG_RO_DEVICE_ID 0x01 // Device ID +#define AK9757W_REG_RO_INFORMATION1 0x02 // Information1 +#define AK9757W_REG_RO_INFORMATION2 0x03 // Information2 +#define AK9757W_REG_RO_STATUS 0x04 // Status +#define AK9757W_REG_RO_TOUTL 0x05 // TOUT, TS, IR: data register +#define AK9757W_REG_RO_TOUTH 0x06 // TOUT, TS, IR: data register +#define AK9757W_REG_RO_TSL 0x07 // TOUT, TS, IR: data register +#define AK9757W_REG_RO_TSH 0x08 // TOUT, TS, IR: data register +#define AK9757W_REG_RO_IRL 0x09 // TOUT, TS, IR: data register +#define AK9757W_REG_RO_IRH 0x0A // TOUT, TS, IR: data register +#define AK9757W_REG_RO_STATUS2 0x0B // Status2 + +#define AK9757W_REG_RO_SBUF0L 0x0C // Streaming Buffer data +#define AK9757W_REG_RO_SBUF0H 0x0D // Streaming Buffer data +#define AK9757W_REG_RO_SBUF1L 0x0E // Streaming Buffer data +#define AK9757W_REG_RO_SBUF1H 0x0F // Streaming Buffer data +#define AK9757W_REG_RO_SBUF2L 0x10 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF2H 0x11 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF3L 0x12 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF3H 0x13 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF4L 0x14 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF4H 0x15 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF5L 0x16 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF5H 0x17 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF6L 0x18 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF6H 0x19 // Streaming Buffer data +#define AK9757W_REG_RO_SBUF7L 0x1A // Streaming Buffer data +#define AK9757W_REG_RO_SBUF7H 0x1B // Streaming Buffer data +#define AK9757W_REG_RO_SBUF8L 0x1C // Streaming Buffer data +#define AK9757W_REG_RO_SBUF8H 0x1D // Streaming Buffer data +#define AK9757W_REG_RO_SBUF9L 0x1E // Streaming Buffer data +#define AK9757W_REG_RO_SBUF9H 0x1F // Streaming Buffer data +#define AK9757W_REG_RW_CNTL1 0x20 // Soft Reset +#define AK9757W_REG_RW_CNTL2 0x21 // Streaming buffer control +#define AK9757W_REG_RW_CNTL3 0x22 // I/V AMP, Temp. calc., ODR setting +#define AK9757W_REG_RW_CNTL4 0x23 // Interrupt setting +#define AK9757W_REG_RW_CNTL5 0x24 // Threshold judgment setting +#define AK9757W_REG_RW_CNTL6 0x25 // Threshold Level setting low +#define AK9757W_REG_RW_CNTL7 0x26 // Threshold Level setting high +#define AK9757W_REG_RW_CNTL8 0x27 // ADC average number setting +#define AK9757W_REG_RW_CNTL9 0x28 // Mode setting + +#define AK9757W_REG_RW_FCOEF4L 0x29 // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF4H 0x2A // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF4EX 0x2B // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF3L 0x2C // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF3H 0x2D // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF3EX 0x2E // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF2L 0x2F // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF2H 0x30 // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF2EX 0x31 // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF1L 0x32 // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF1H 0x33 // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF1EX 0x34 // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF0L 0x35 // Calculation coefficient setting +#define AK9757W_REG_RW_FCOEF0H 0x36 // Calculation coefficient setting + + +#define AK9757W_REG_RW_GCOEF4L 0x37 // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF4H 0x38 // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF4EX 0x39 // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF3L 0x3A // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF3H 0x3B // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF3EX 0x3C // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF2L 0x3D // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF2H 0x3E // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF3EX 0x3F // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF1L 0x40 // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF1H 0x41 // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF1EX 0x42 // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF0L 0x43 // Calculation coefficient setting +#define AK9757W_REG_RW_GCOEF0H 0x44 // Calculation coefficient setting + +#define AK9757W_REG_RW_XCOEF4L 0x45 // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF4H 0x46 // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF4EX 0x47 // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF3L 0x48 // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF3H 0x49 // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF3EX 0x4A // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF2L 0x4B // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF2H 0x4C // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF3EX 0x4D // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF1L 0x4E // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF1H 0x4F // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF1EX 0x50 // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF0L 0x51 // Calculation coefficient setting +#define AK9757W_REG_RW_XCOEF0H 0x52 // Calculation coefficient setting + +#define AK9757W_REG_RW_GIRL 0x54 // IR gain Correction parameter setting +#define AK9757W_REG_RW_GIRH 0x55 // IR gain Correction parameter setting + +#define AK9757W_REG_RW_OIRL 0x56 // IR offset Correction parameter setting +#define AK9757W_REG_RW_OIRH 0x57 // IR offset Correction parameter setting + +#define AK9757W_REG_RW_GTS 0x58 // TS Gain Correction parameter setting + +#define AK9757W_REG_RW_OTSL 0x59 // TS offset Correction parameter setting +#define AK9757W_REG_RW_OTSH 0x5A // TS offset Correction parameter setting + +#define AK9757W_REG_RW_GIT 0x5B // Temperature dependent ingredient of IR gain setting +#define AK9757W_REG_RO_CHIPID 0x5C // Chip ID + + + +/////////////////////////////////////////////////////////// +#define AK9757W_COMPANY_CODE_VALUE 0x48 +#define AK9757W_DEVICE_ID_VALUE 0x17 +#define AK9757W_INFORMATION1_VALUE 0x00 +#define AK9757W_INFORMATION2_VALUE 0x00 +#define AK9757W_STATUS_DRDY_POS 0x00 +#define AK9757W_STATUS_DRDY_MSK 0x01 +#define AK9757W_STATUS_BFULL_POS 0x01 +#define AK9757W_STATUS_BFULL_MSK 0x01 +#define AK9757W_STATUS_THL_POS 0x02 +#define AK9757W_STATUS_THL_MSK 0x01 +#define AK9757W_STATUS_THH_POS 0x03 +#define AK9757W_STATUS_THH_MSK 0x01 +#define AK9757W_CNTL1_SRST_POS 0x00 +#define AK9757W_CNTL1_SRST_MSK 0x01 +#define AK9757W_CNTL2_BUFON_POS 0x00 +#define AK9757W_CNTL2_BUFON_MSK 0x01 +#define AK9757W_CNTL3_ODR_POS 0x00 +#define AK9757W_CNTL3_ODR_MSK 0x03 +#define AK9757W_CNTL3_CALC_POS 0x03 +#define AK9757W_CNTL3_CALC_MSK 0x01 +#define AK9757W_CNTL3_GAIN_POS 0x04 +#define AK9757W_CNTL3_GAIN_MSK 0x07 +#define AK9757W_CNTL3_IROFF_POS 0x07 +#define AK9757W_CNTL3_IROFF_MSK 0x01 +#define AK9757W_CNTL4_IDRDY_POS 0x00 +#define AK9757W_CNTL4_IDRDY_MSK 0x01 +#define AK9757W_CNTL4_IBFULL_POS 0x01 +#define AK9757W_CNTL4_IBFULL_MSK 0x01 +#define AK9757W_CNTL4_ITHL_POS 0x02 +#define AK9757W_CNTL4_ITHL_MSK 0x01 +#define AK9757W_CNTL4_ITHU_POS 0x03 +#define AK9757W_CNTL4_ITHU_MSK 0x01 +#define AK9757W_CNTL4_IOVF_POS 0x04 +#define AK9757W_CNTL4_IOVF_MSK 0x01 +#define AK9757W_CNTL4_ANG_POS 0x07 +#define AK9757W_CNTL4_ANG_MSK 0x01 +#define AK9757W_CNTL5_DNUM_POS 0x00 +#define AK9757W_CNTL5_DNUM_MSK 0x0F +#define AK9757W_CNTL5_DIFFON_POS 0x04 +#define AK9757W_CNTL5_DIFFON_MSK 0x01 +#define AK9757W_CNTL5_THSEL_POS 0x05 +#define AK9757W_CNTL5_THSEL_MSK 0x01 +#define AK9757W_CNTL5_TOUTLPF_POS 0x06 +#define AK9757W_CNTL5_TOUTLPF_MSK 0x01 +#define AK9757W_CNTL5_LPFON_POS 0x07 +#define AK9757W_CNTL5_LPFON_MSK 0x01 +#define AK9757W_CNTL8_AVN_POS 0x00 +#define AK9757W_CNTL8_AVN_MSK 0x3F +#define AK9757W_CNTL9_MODE_POS 0x00 +#define AK9757W_CNTL9_MODE_MSK 0x01 +#define AK9757W_CNTL9_IRINV_POS 0x04 +#define AK9757W_CNTL9_IRINV_MSK 0x01 +#define AK9757W_FCOEF2EX_FC2EX_POS 0x00 +#define AK9757W_FCOEF2EX_FC2EX_MSK 0x3F +#define AK9757W_FCOEF1EX_FC1EX_POS 0x00 +#define AK9757W_FCOEF1EX_FC1EX_MSK 0x1F +#define AK9757W_GCOEF2EX_GC2EX_POS 0x00 +#define AK9757W_GCOEF2EX_GC2EX_MSK 0x3F +#define AK9757W_GCOEF1EX_GC1EX_POS 0x00 +#define AK9757W_GCOEF1EX_GC1EX_MSK 0x1F +#define AK9757W_XCOEF2EX_GC2EX_POS 0x00 +#define AK9757W_XCOEF2EX_GC2EX_MSK 0x3F +#define AK9757W_XCOEF1EX_GC1EX_POS 0x00 +#define AK9757W_XCOEF1EX_GC1EX_MSK 0x1F +#define AK9757W_OIR_OIR_H_POS 0x00 +#define AK9757W_OIR_OIR_H_MSK 0x0F + +#define AK9757W_OTS_OTS_H_POS 0x00 +#define AK9757W_OTS_OTS_H_MSK 0x3F + + + + + + + + +#if 0 + +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ +#define AK9757W_REG_ + +#endif + +#endif diff --git a/Project/Compiler/AKM_Temperature_Demo.uvguix.befs b/Project/Compiler/AKM_Temperature_Demo.uvguix.befs index 6f28fa8..41a3b09 100644 --- a/Project/Compiler/AKM_Temperature_Demo.uvguix.befs +++ b/Project/Compiler/AKM_Temperature_Demo.uvguix.befs @@ -6,7 +6,7 @@
### uVision Project, (C) Keil Software
- C:\Work\97. GitServer\AKM_Demo_Board\Project\Application\oled_ssd1306 + C:\Work\97. GitServer\AKM_Demo_Board\Project\Application @@ -101,17 +101,17 @@ -1 - 237 - 1920 - 3840 - 866 + 6 + 2220 + 4140 + 635 0 - 897 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000007000000010000000100000043433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6170705F756172742E63000000000A6170705F756172742E6300000000C5D4F200FFFFFFFF3F433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF4F433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6F6C65645F737364313330365C737364313330362E630000000009737364313330362E6300000000BECEA100FFFFFFFF53433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6F6C65645F737364313330365C737364313330365F6932632E63000000000D737364313330365F6932632E6300000000F0A0A100FFFFFFFF4B433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C53444B5C537461727475705C737461727475705F6D617833323636302E730000000012737461727475705F6D617833323636302E7300000000BCA8E100FFFFFFFF4F433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6F6C65645F737364313330365C737364313330362E680000000009737364313330362E68000000009CC1B600FFFFFFFF4F433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6F6C65645F737364313330365C666F6E743878382E680000000009666F6E743878382E6800000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000B109000066000000000F000095020000 + 855 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000700000000000000010000003F433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF42433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6170705F6C6F672E6300000000096170705F6C6F672E6300000000FFDC7800FFFFFFFF42433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6170705F636C692E6300000000096170705F636C692E6300000000BECEA100FFFFFFFF4B433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C53444B5C537461727475705C737461727475705F6D617833323636302E730000000012737461727475705F6D617833323636302E7300000000F0A0A100FFFFFFFF43433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C73775F74696D65722E63000000000A73775F74696D65722E6300000000BCA8E100FFFFFFFF43433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6170705F756172742E63000000000A6170705F756172742E63000000009CC1B600FFFFFFFF4A433A5C576F726B5C39372E204769745365727665725C414B4D5F44656D6F5F426F6172645C50726F6A6563745C4170706C69636174696F6E5C6170705F72696E675F6275666665722E6300000000116170705F72696E675F6275666665722E6300000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000B109000066000000000F000070020000 @@ -150,7 +150,7 @@ 0 16 - 03000000660000002A02000065020000 + 03000000660000002A02000040020000 16 @@ -170,7 +170,7 @@ 0 16 - 03000000660000002A02000065020000 + 03000000660000002A02000040020000 16 @@ -450,7 +450,7 @@ 0 16 - 03000000660000002A02000065020000 + 03000000660000002A02000040020000 16 @@ -470,7 +470,7 @@ 0 16 - 03000000660000002A02000065020000 + 03000000660000002A02000040020000 16 @@ -490,7 +490,7 @@ 0 16 - 03000000990200007D070000CD030000 + 03000000740200007D070000CD030000 16 @@ -530,7 +530,7 @@ 0 16 - 03000000990200007D070000CD030000 + 03000000740200007D070000CD030000 16 @@ -1150,7 +1150,7 @@ 0 16 - 03000000660000002A02000065020000 + 03000000660000002A02000040020000 16 @@ -1170,7 +1170,7 @@ 0 16 - 03000000990200007D070000CD030000 + 03000000740200007D070000CD030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 03000000990200007D070000CD030000 + 03000000740200007D070000CD030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 03000000990200007D070000CD030000 + 03000000740200007D070000CD030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 03000000990200007D070000CD030000 + 03000000740200007D070000CD030000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000007408000066000000100D0000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2D0200004F000000310200007E0200000100000002000010040000000100000012FFFFFF87060000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000008007000066000000AD09000095020000000000004F0000002D0200007E0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000008007000030020000100D0000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000007E0200008007000082020000010000000100001004000000010000001FFDFFFFAB000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000008007000099020000000F0000FD030000000000008202000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000007408000066000000100D0000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2D0200004F00000031020000590200000100000002000010040000000100000012FFFFFF87060000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000008007000066000000AD09000070020000000000004F0000002D020000590200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000008007000030020000100D0000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000059020000800700005D02000001000000010000100400000001000000F0FCFFFF7C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000008007000074020000000F0000FD030000000000005D02000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2552 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000005464F4E54539600000000000000010005464F4E545300000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2900 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B434C495F4B45595F44454C960000000000000014000B434C495F4B45595F44454C20535344313330365F447261774261636B47726F756E645F4C656674536869667405464F4E545310464C4153485F414444525F5354415254043430303007646174616C656E046A756D700B656570726F6D5F64617461155361766546696C654E616D655F4461746142756666104649524D574152455F56455253494F4E135665726966795F53656E645F53756363657373076F7364656C617918675F4E697467656E5665726966794F7574707574496E666F0D675F73656E736F725F6E616D6510707276557074696D65436F6D6D616E6406757074696D650468656C7008726561646461746105736176656617497346696E676572417265614C61726765456E6F7567680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 980 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000A44656D6F20426F617264960000000000000001000A44656D6F20426F617264000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000A44656D6F20426F617264960000000000000001000A44656D6F20426F617264000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1861,7 +1861,7 @@ -1 -1 - 1 + 0 0 0 0 @@ -1891,7 +1891,7 @@ 0 16 - 03000000660000002A020000EA020000 + 03000000660000002A02000006020000 16 @@ -1911,7 +1911,7 @@ 0 16 - 03000000660000002A020000EA020000 + 03000000660000002A02000006020000 16 @@ -1927,15 +1927,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F000039000000EA110000C9000000 + F409000060030000811000005A040000 @@ -1947,15 +1947,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F000039000000EA110000C9000000 + F409000060030000811000005A040000 @@ -1967,15 +1967,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F000039000000EA110000C9000000 + F409000060030000811000005A040000 @@ -1987,15 +1987,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F000039000000EA110000C9000000 + F409000060030000811000005A040000 @@ -2051,31 +2051,31 @@ 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F0000390000001210000004010000 + F409000060030000811000005A040000 1936 1936 - 0 + 1 0 0 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F0000390000001210000004010000 + F409000060030000811000005A040000 @@ -2087,15 +2087,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F0000390000001210000004010000 + F409000060030000811000005A040000 @@ -2107,15 +2107,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F000039000000EA110000C9000000 + F409000060030000811000005A040000 @@ -2127,15 +2127,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F000039000000EA110000C9000000 + F409000060030000811000005A040000 @@ -2147,15 +2147,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F000039000000EA110000C9000000 + F409000060030000811000005A040000 @@ -2167,15 +2167,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F000039000000EA110000C9000000 + F409000060030000811000005A040000 @@ -2191,7 +2191,7 @@ 0 16 - 03000000660000002A020000EA020000 + 03000000660000002A02000006020000 16 @@ -2211,7 +2211,7 @@ 0 16 - 03000000660000002A020000EA020000 + 03000000660000002A02000006020000 16 @@ -2251,7 +2251,7 @@ 0 16 - 0000000007030000C0030000E6030000 + 0000000023020000BC030000E6030000 16 @@ -2281,7 +2281,7 @@ 203 203 - 1 + 0 0 0 0 @@ -2291,7 +2291,7 @@ 0 16 - 310200006300000080070000DF000000 + 34020000660000007D070000C6000000 16 @@ -2367,15 +2367,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F000039000000EA110000C9000000 + F409000060030000811000005A040000 @@ -2891,7 +2891,7 @@ 0 16 - 03000000660000002A020000EA020000 + 03000000660000002A02000006020000 16 @@ -2947,15 +2947,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F0000390000001210000004010000 + F409000060030000811000005A040000 @@ -2967,15 +2967,15 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F0000390000001210000004010000 + F409000060030000811000005A040000 @@ -3527,27 +3527,27 @@ 0 32767 0 - 4096 + 32768 0 16 - C70300001E0300007D070000CD030000 + C30300003A0200007D070000CD030000 16 - 220F0000390000001210000004010000 + F409000060030000811000005A040000 - 3312 - 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFF31020000DF00000080070000E3000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000B109000066000000000F0000F6000000310200004F00000080070000DF0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2D0200004F00000031020000030300000100000002000010040000000100000012FFFFFF87060000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000008007000066000000AD0900001A030000000000004F0000002D020000030300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000003030000800700000703000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000440B00001E030000000F0000FD030000C40300000703000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000007030000C4030000E603000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF000000007E0200008007000082020000000000000100000004000000010000001FFDFFFFAB000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000000000008007000099020000000F0000FD030000000000008202000080070000E60300000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 3388 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF31020000DF00000080070000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000B109000066000000000F0000F6000000310200004F00000080070000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2D0200004F000000310200001F0200000100000002000010040000000100000012FFFFFF87060000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000008007000066000000AD09000036020000000000004F0000002D0200001F0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000001F02000080070000230200000100000001000010040000000100000000FEFFFF9500000000000000000000000000000001000000000000000000000001000000000000000000000001000000FFFFFFFFEF000000EC020000F3000000E60300000000000002000000040000000000000079FFFFFF8F06000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000400B00003A020000000F0000FD030000C00300002302000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000002000000000000000100000002000000FFFFFFFFBC03000023020000C0030000E60300000100000002000010040000000000000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF000000007E0200008007000082020000000000000100000004000000010000001FFDFFFFAB000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000000000008007000099020000000F0000FD030000000000008202000080070000E60300000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2552 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000005464F4E54539600000000000000010005464F4E545300000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2921 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000020535344313330365F447261774261636B47726F756E645F4C6566745368696674960000000000000014000B434C495F4B45595F44454C20535344313330365F447261774261636B47726F756E645F4C656674536869667405464F4E545310464C4153485F414444525F5354415254043430303007646174616C656E046A756D700B656570726F6D5F64617461155361766546696C654E616D655F4461746142756666104649524D574152455F56455253494F4E135665726966795F53656E645F53756363657373076F7364656C617918675F4E697467656E5665726966794F7574707574496E666F0D675F73656E736F725F6E616D6510707276557074696D65436F6D6D616E6406757074696D650468656C7008726561646461746105736176656617497346696E676572417265614C61726765456E6F7567680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3579,7 +3579,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3603,66 +3603,66 @@ 0 100 - 1 + 0 - ..\Application\app_uart.c - 37 - 84 - 105 + ..\Application\main.c + 29 + 30 + 45 1 0 - ..\Application\main.c - 83 + ..\Application\app_log.c + 16 1 - 20 + 18 1 0 - ..\Application\oled_ssd1306\ssd1306.c - 0 + ..\Application\app_cli.c + 38 1 - 2 + 14 1 0 - ..\Application\oled_ssd1306\ssd1306_i2c.c - 0 - 1 - 18 + ..\SDK\Startup\startup_max32660.s + 12 + 153 + 165 1 0 - ..\SDK\Startup\startup_max32660.s + ..\Application\sw_timer.c 0 - 151 - 160 + 57 + 65 1 0 - ..\Application\oled_ssd1306\ssd1306.h - 0 - 1 - 1 + ..\Application\app_uart.c + 41 + 116 + 129 1 0 - C:\Work\97. GitServer\AKM_Demo_Board\Project\Application\oled_ssd1306\font8x8.h - 9 - 21 - 35 + ..\Application\app_ring_buffer.c + 29 + 50 + 62 1 0 diff --git a/Project/Compiler/AKM_Temperature_Demo.uvoptx b/Project/Compiler/AKM_Temperature_Demo.uvoptx index c9a0c0d..db0e13e 100644 --- a/Project/Compiler/AKM_Temperature_Demo.uvoptx +++ b/Project/Compiler/AKM_Temperature_Demo.uvoptx @@ -148,14 +148,51 @@ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0MAX32660 -FS00 -FL040000 -FP0($$Device:MAX32660$Flash\MAX32660.FLM)) - + + + 0 + 0 + 327 + 1 +
14270
+ 0 + 0 + 0 + 0 + 0 + 1 + ..\Application\app_cli.c + + \\AKM_Temperature_Demo\../Application/app_cli.c\327 +
+
+ + + 0 + 1 + Tx_RingBuffer + + + 1 + 1 + pRingbuffer + + + + + 1 + 0 + cacheMemLcd + 0 + + 0 0 1 - 1 + 0 0 0 0 @@ -315,17 +352,65 @@ 0 0 + + 1 + 10 + 1 + 0 + 0 + 0 + ..\Application\app_i2c0.c + app_i2c0.c + 0 + 0 + + + 1 + 11 + 1 + 0 + 0 + 0 + ..\Application\app_i2c1.c + app_i2c1.c + 0 + 0 + + + 1 + 12 + 1 + 0 + 0 + 0 + ..\Application\app_log.c + app_log.c + 0 + 0 + + + 1 + 13 + 1 + 0 + 0 + 0 + ..\Application\app_cli.c + app_cli.c + 0 + 0 + Device - 0 + 1 0 0 0 2 - 10 + 14 1 0 0 @@ -339,13 +424,13 @@ Startup - 1 + 0 0 0 0 3 - 11 + 15 2 0 0 @@ -365,7 +450,7 @@ 0 4 - 12 + 16 1 0 0 @@ -377,7 +462,7 @@ 4 - 13 + 17 1 0 0 @@ -389,7 +474,7 @@ 4 - 14 + 18 1 0 0 @@ -401,7 +486,7 @@ 4 - 15 + 19 1 0 0 @@ -413,7 +498,7 @@ 4 - 16 + 20 1 0 0 @@ -425,7 +510,7 @@ 4 - 17 + 21 1 0 0 @@ -437,7 +522,7 @@ 4 - 18 + 22 1 0 0 @@ -449,7 +534,7 @@ 4 - 19 + 23 1 0 0 @@ -461,7 +546,7 @@ 4 - 20 + 24 1 0 0 @@ -473,7 +558,7 @@ 4 - 21 + 25 1 0 0 @@ -485,7 +570,7 @@ 4 - 22 + 26 1 0 0 @@ -497,7 +582,7 @@ 4 - 23 + 27 1 0 0 @@ -509,7 +594,7 @@ 4 - 24 + 28 1 0 0 @@ -521,7 +606,7 @@ 4 - 25 + 29 1 0 0 @@ -533,7 +618,7 @@ 4 - 26 + 30 1 0 0 @@ -545,7 +630,7 @@ 4 - 27 + 31 1 0 0 @@ -557,7 +642,7 @@ 4 - 28 + 32 1 0 0 @@ -569,7 +654,7 @@ 4 - 29 + 33 1 0 0 @@ -581,7 +666,7 @@ 4 - 30 + 34 1 0 0 @@ -593,7 +678,7 @@ 4 - 31 + 35 1 0 0 @@ -605,7 +690,7 @@ 4 - 32 + 36 1 0 0 @@ -625,9 +710,9 @@ 0 5 - 33 + 37 1 - 1 + 0 0 0 ..\Application\oled_ssd1306\ssd1306.c @@ -637,9 +722,9 @@ 5 - 34 + 38 1 - 1 + 0 0 0 ..\Application\oled_ssd1306\ssd1306_i2c.c @@ -649,4 +734,48 @@ + + Resource + 1 + 0 + 0 + 0 + + 6 + 39 + 1 + 0 + 0 + 0 + ..\Application\resource\background.c + background.c + 0 + 0 + + + 6 + 40 + 1 + 0 + 0 + 0 + ..\Application\resource\number.c + number.c + 0 + 0 + + + 6 + 41 + 1 + 0 + 0 + 0 + ..\Application\resource\Cammsys_Log.c + Cammsys_Log.c + 0 + 0 + + + diff --git a/Project/Compiler/AKM_Temperature_Demo.uvprojx b/Project/Compiler/AKM_Temperature_Demo.uvprojx index e8b7f80..212afe7 100644 --- a/Project/Compiler/AKM_Temperature_Demo.uvprojx +++ b/Project/Compiler/AKM_Temperature_Demo.uvprojx @@ -339,7 +339,7 @@ TARGET=32660,TARGET_REV=0x4131 - ..\SDK\Device;..\SDK\Device\Include;..\SDK\Driver\Include;..\SDK\Driver\Source;..\SDK\FlashLoader;..\SDK\Startup;..\Application;..\Application\oled_ssd1306 + ..\SDK\Device;..\SDK\Device\Include;..\SDK\Driver\Include;..\SDK\Driver\Source;..\SDK\FlashLoader;..\SDK\Startup;..\Application;..\Application\oled_ssd1306;..\Application\resource @@ -428,6 +428,26 @@ 1 ..\Application\app_uart.c + + app_i2c0.c + 1 + ..\Application\app_i2c0.c + + + app_i2c1.c + 1 + ..\Application\app_i2c1.c + + + app_log.c + 1 + ..\Application\app_log.c + + + app_cli.c + 1 + ..\Application\app_cli.c + @@ -575,6 +595,26 @@ + + Resource + + + background.c + 1 + ..\Application\resource\background.c + + + number.c + 1 + ..\Application\resource\number.c + + + Cammsys_Log.c + 1 + ..\Application\resource\Cammsys_Log.c + + + diff --git a/Project/Compiler/Listings/AKM_Temperature_Demo.map b/Project/Compiler/Listings/AKM_Temperature_Demo.map index fd8c7d7..eaf1310 100644 --- a/Project/Compiler/Listings/AKM_Temperature_Demo.map +++ b/Project/Compiler/Listings/AKM_Temperature_Demo.map @@ -4,28 +4,15 @@ Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601] Section Cross References - main.o(i.Test_Process) refers to ssd1306.o(i.SSD1306_SetPosition) for SSD1306_SetPosition - main.o(i.Test_Process) refers to printf1.o(i.__0sprintf$1) for __2sprintf - main.o(i.Test_Process) refers to ssd1306.o(i.SSD1306_DrawString) for SSD1306_DrawString - main.o(i.Test_Process) refers to ssd1306.o(i.SSD1306_UpdateScreen) for SSD1306_UpdateScreen - main.o(i.Test_Process) refers to main.o(.data) for count main.o(i.main) refers to icc.o(i.ICC_Enable) for ICC_Enable main.o(i.main) refers to system_func.o(i.SystemCoreClockSet) for SystemCoreClockSet main.o(i.main) refers to app_uart.o(i.App_Uart_Initialization) for App_Uart_Initialization main.o(i.main) refers to app_gpio_i2c.o(i.App_Gpio_I2C_Initialization) for App_Gpio_I2C_Initialization + main.o(i.main) refers to app_i2c0.o(i.I2C0_Master_Initialization) for I2C0_Master_Initialization main.o(i.main) refers to app_gpio_led.o(i.App_Led_Initialization) for App_Led_Initialization + main.o(i.main) refers to app_cli.o(i.App_CLI_Initialization) for App_CLI_Initialization main.o(i.main) refers to app_gpio_led.o(i.App_Led_OutputSet) for App_Led_OutputSet main.o(i.main) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register - main.o(i.main) refers to ssd1306.o(i.SSD1306_Init) for SSD1306_Init - main.o(i.main) refers to printf1.o(i.__0printf$1) for __2printf - main.o(i.main) refers to ssd1306.o(i.SSD1306_NormalScreen) for SSD1306_NormalScreen - main.o(i.main) refers to ssd1306.o(i.SSD1306_ClearScreen) for SSD1306_ClearScreen - main.o(i.main) refers to ssd1306.o(i.SSD1306_DrawLine) for SSD1306_DrawLine - main.o(i.main) refers to ssd1306.o(i.SSD1306_SetPosition) for SSD1306_SetPosition - main.o(i.main) refers to ssd1306.o(i.SSD1306_DrawString) for SSD1306_DrawString - main.o(i.main) refers to ssd1306.o(i.SSD1306_UpdateScreen) for SSD1306_UpdateScreen - main.o(i.main) refers to mxc_delay.o(i.mxc_delay) for mxc_delay - main.o(i.main) refers to ssd1306.o(i.SSD1306_InverseScreen) for SSD1306_InverseScreen main.o(i.main) refers to sw_timer.o(i.SW_Timer_Callback_Process) for SW_Timer_Callback_Process main.o(i.main) refers to main.o(i.Test_Process) for Test_Process system_func.o(i.SystemCoreClockSet) refers to lp.o(i.LP_SetOperatingVoltage) for LP_SetOperatingVoltage @@ -125,6 +112,7 @@ Section Cross References app_uart.o(i.App_Uart_Initialization) refers to app_uart.o(.bss) for TxBuffer app_uart.o(i.App_Uart_Initialization) refers to app_uart.o(i.App_Uart_Data_Transmit_Check) for App_Uart_Data_Transmit_Check app_uart.o(i.App_Uart_Interrupt_Handler) refers to uart.o(i.UART_Handler) for UART_Handler + app_uart.o(i.App_Uart_Print) refers to app_uart.o(i.App_Uart_Transmit) for App_Uart_Transmit app_uart.o(i.App_Uart_Read_Callback) refers to app_ring_buffer.o(i.RingBuffer_Enqueue) for RingBuffer_Enqueue app_uart.o(i.App_Uart_Read_Callback) refers to app_uart.o(i.App_Uart_Read_Callback_Initialization) for App_Uart_Read_Callback_Initialization app_uart.o(i.App_Uart_Read_Callback) refers to app_uart.o(.data) for RxData @@ -135,8 +123,77 @@ Section Cross References app_uart.o(i.App_Uart_Read_Callback_Initialization) refers to app_uart.o(i.App_Uart_Read_Callback) for App_Uart_Read_Callback app_uart.o(i.App_Uart_Transmit) refers to app_ring_buffer.o(i.RingBuffer_Enqueue) for RingBuffer_Enqueue app_uart.o(i.App_Uart_Transmit) refers to app_uart.o(.bss) for Tx_RingBuffer + app_uart.o(i.App_Uart_Transmit_Len) refers to app_uart.o(i.App_Uart_Transmit) for App_Uart_Transmit app_uart.o(i.fputc) refers to app_ring_buffer.o(i.RingBuffer_Enqueue) for RingBuffer_Enqueue app_uart.o(i.fputc) refers to app_uart.o(.bss) for Tx_RingBuffer + app_i2c0.o(i.I2C0_Master_Initialization) refers to i2c.o(i.I2C_Shutdown) for I2C_Shutdown + app_i2c0.o(i.I2C0_Master_Initialization) refers to i2c.o(i.I2C_Init) for I2C_Init + app_i2c0.o(i.I2C0_Master_Initialization) refers to i2c.o(i.I2C_SetTimeout) for I2C_SetTimeout + app_i2c0.o(i.I2C0_Master_Initialization) refers to app_i2c0.o(.data) for sys_i2c_cfg + app_log.o(i.App_Lgo_Get_logLevel) refers to app_log.o(.data) for nowLogLevel + app_log.o(i.App_Log_Initialization) refers to app_log.o(i.App_Log_Set_logLevel) for App_Log_Set_logLevel + app_log.o(i.App_Log_Prinf) refers to system_func.o(i.SystemTimer_Get_TickCount) for SystemTimer_Get_TickCount + app_log.o(i.App_Log_Prinf) refers to printfa.o(i.__0fprintf) for __2fprintf + app_log.o(i.App_Log_Prinf) refers to printfa.o(i.__0vfprintf) for vfprintf + app_log.o(i.App_Log_Prinf) refers to app_log.o(.data) for nowLogLevel + app_log.o(i.App_Log_Prinf) refers to stderr.o(.data) for __stderr + app_log.o(i.App_Log_Set_logLevel) refers to app_log.o(.data) for nowLogLevel + app_cli.o(i.App_CLI_Initialization) refers to app_cli.o(i.cliInit) for cliInit + app_cli.o(i.App_CLI_Initialization) refers to sw_timer.o(i.SW_Timer_Callback_Register) for SW_Timer_Callback_Register + app_cli.o(i.App_CLI_Initialization) refers to app_cli.o(i.cliMain) for cliMain + app_cli.o(i.cliAdd) refers to strcpy.o(.text) for strcpy + app_cli.o(i.cliAdd) refers to app_cli.o(i.cliToUpper) for cliToUpper + app_cli.o(i.cliAdd) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliArgsGetData) refers to strtoul.o(.text) for strtoul + app_cli.o(i.cliArgsGetData) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliArgsGetFloat) refers to strtof.o(i.__hardfp_strtof) for __hardfp_strtof + app_cli.o(i.cliArgsGetFloat) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliArgsGetStr) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliArgsIsStr) refers to strcmp.o(.text) for strcmp + app_cli.o(i.cliArgsIsStr) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliInit) refers to app_cli.o(i.cliLineClean) for cliLineClean + app_cli.o(i.cliInit) refers to app_cli.o(i.cliAdd) for cliAdd + app_cli.o(i.cliInit) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliInit) refers to app_cli.o(i.cliArgsGetData) for cliArgsGetData + app_cli.o(i.cliInit) refers to app_cli.o(i.cliArgsGetFloat) for cliArgsGetFloat + app_cli.o(i.cliInit) refers to app_cli.o(i.cliArgsGetStr) for cliArgsGetStr + app_cli.o(i.cliInit) refers to app_cli.o(i.cliArgsIsStr) for cliArgsIsStr + app_cli.o(i.cliInit) refers to app_cli.o(i.cliShowList) for cliShowList + app_cli.o(i.cliInit) refers to app_cli.o(i.cliMemoryDump) for cliMemoryDump + app_cli.o(i.cliKeepLoop) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliLineAdd) refers to memcpya.o(.text) for __aeabi_memcpy + app_cli.o(i.cliLineChange) refers to app_cli.o(i.uartPrintf) for uartPrintf + app_cli.o(i.cliLineChange) refers to memcpya.o(.text) for __aeabi_memcpy + app_cli.o(i.cliMain) refers to app_uart.o(i.App_Uart_Get_Recv_Data) for App_Uart_Get_Recv_Data + app_cli.o(i.cliMain) refers to app_cli.o(i.cliUpdate) for cliUpdate + app_cli.o(i.cliMain) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliMemoryDump) refers to app_cli.o(i.cliPrintf) for cliPrintf + app_cli.o(i.cliMemoryDump) refers to strtoul.o(.text) for strtoul + app_cli.o(i.cliParseArgs) refers to strtok_r.o(.text) for strtok_r + app_cli.o(i.cliParseArgs) refers to app_cli.o(.data) for delim + app_cli.o(i.cliPrintf) refers to printfa.o(i.__0vsnprintf) for vsnprintf + app_cli.o(i.cliPrintf) refers to app_cli.o(i.uartWrite) for uartWrite + app_cli.o(i.cliPrintf) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliRunCmd) refers to app_cli.o(i.cliParseArgs) for cliParseArgs + app_cli.o(i.cliRunCmd) refers to app_cli.o(i.cliPrintf) for cliPrintf + app_cli.o(i.cliRunCmd) refers to app_cli.o(i.cliToUpper) for cliToUpper + app_cli.o(i.cliRunCmd) refers to strcmp.o(.text) for strcmp + app_cli.o(i.cliShowList) refers to app_cli.o(i.cliPrintf) for cliPrintf + app_cli.o(i.cliShowList) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliShowLog) refers to app_cli.o(i.uartPrintf) for uartPrintf + app_cli.o(i.cliShowLog) refers to app_cli.o(.bss) for cli_node + app_cli.o(i.cliShowPrompt) refers to app_cli.o(i.uartPrintf) for uartPrintf + app_cli.o(i.cliUpdate) refers to app_cli.o(i.cliLineAdd) for cliLineAdd + app_cli.o(i.cliUpdate) refers to app_cli.o(i.cliRunCmd) for cliRunCmd + app_cli.o(i.cliUpdate) refers to app_cli.o(i.cliShowPrompt) for cliShowPrompt + app_cli.o(i.cliUpdate) refers to app_cli.o(i.uartPrintf) for uartPrintf + app_cli.o(i.cliUpdate) refers to app_cli.o(i.uartWrite) for uartWrite + app_cli.o(i.cliUpdate) refers to app_cli.o(i.cliLineChange) for cliLineChange + app_cli.o(i.cliUpdate) refers to app_cli.o(i.cliShowLog) for cliShowLog + app_cli.o(i.uartPrintf) refers to printfa.o(i.__0vsnprintf) for vsnprintf + app_cli.o(i.uartPrintf) refers to app_cli.o(i.uartWrite) for uartWrite + app_cli.o(i.uartWrite) refers to app_uart.o(i.App_Uart_Transmit_Len) for App_Uart_Transmit_Len + app_cli.o(.data) refers to app_cli.o(.conststring) for .conststring system_max32660.o(i.$Sub$$__main_after_scatterload) refers to system_max32660.o(i.SystemInit) for SystemInit system_max32660.o(i.$Sub$$__main_after_scatterload) refers to entry5.o(.ARM.Collect$$$$00000004) for $Super$$__main_after_scatterload system_max32660.o(i.SystemCoreClockUpdate) refers to system_max32660.o(.data) for SystemCoreClock @@ -470,7 +527,15 @@ Section Cross References wdt.o(i.WDT_Init) refers to mxc_sys.o(i.SYS_WDT_Init) for SYS_WDT_Init ssd1306.o(i.SSD1306_ClearScreen) refers to memseta.o(.text) for __aeabi_memclr ssd1306.o(i.SSD1306_ClearScreen) refers to ssd1306.o(.bss) for cacheMemLcd + ssd1306.o(i.SSD1306_DrawBackGround) refers to memcpya.o(.text) for __aeabi_memcpy + ssd1306.o(i.SSD1306_DrawBackGround) refers to background.o(.constdata) for gImage_background + ssd1306.o(i.SSD1306_DrawBackGround) refers to ssd1306.o(.bss) for cacheMemLcd + ssd1306.o(i.SSD1306_DrawBackGround_LeftShift) refers to ssd1306.o(.bss) for cacheMemLcd + ssd1306.o(i.SSD1306_DrawBackGround_Log) refers to memcpya.o(.text) for __aeabi_memcpy + ssd1306.o(i.SSD1306_DrawBackGround_Log) refers to cammsys_log.o(.constdata) for gImage_CAMMSYS_Log + ssd1306.o(i.SSD1306_DrawBackGround_Log) refers to ssd1306.o(.bss) for cacheMemLcd ssd1306.o(i.SSD1306_DrawChar) refers to ssd1306.o(i.SSD1306_UpdatePosition) for SSD1306_UpdatePosition + ssd1306.o(i.SSD1306_DrawChar) refers to ssd1306.o(i.reverse_bits) for reverse_bits ssd1306.o(i.SSD1306_DrawChar) refers to ssd1306.o(.constdata) for FONTS ssd1306.o(i.SSD1306_DrawChar) refers to ssd1306.o(.data) for _counter ssd1306.o(i.SSD1306_DrawChar) refers to ssd1306.o(.bss) for cacheMemLcd @@ -478,6 +543,8 @@ Section Cross References ssd1306.o(i.SSD1306_DrawPixel) refers to ssd1306.o(.data) for _counter ssd1306.o(i.SSD1306_DrawPixel) refers to ssd1306.o(.bss) for cacheMemLcd ssd1306.o(i.SSD1306_DrawString) refers to ssd1306.o(i.SSD1306_DrawChar) for SSD1306_DrawChar + ssd1306.o(i.SSD1306_Draw_Temperature) refers to number.o(.constdata) for gImage_number + ssd1306.o(i.SSD1306_Draw_Temperature) refers to ssd1306.o(.bss) for cacheMemLcd ssd1306.o(i.SSD1306_Init) refers to ssd1306.o(i.SSD1306_Send_StartAndSLAW) for SSD1306_Send_StartAndSLAW ssd1306.o(i.SSD1306_Init) refers to ssd1306.o(i.SSD1306_Send_Command) for SSD1306_Send_Command ssd1306.o(i.SSD1306_Init) refers to ssd1306_i2c.o(i.TWI_Stop) for TWI_Stop @@ -496,14 +563,22 @@ Section Cross References ssd1306.o(i.SSD1306_SetPosition) refers to ssd1306.o(.data) for _counter ssd1306.o(i.SSD1306_UpdatePosition) refers to ssd1306.o(.data) for _counter ssd1306.o(i.SSD1306_UpdateScreen) refers to ssd1306.o(i.SSD1306_Send_StartAndSLAW) for SSD1306_Send_StartAndSLAW + ssd1306.o(i.SSD1306_UpdateScreen) refers to ssd1306.o(i.SSD1306_Send_Command) for SSD1306_Send_Command ssd1306.o(i.SSD1306_UpdateScreen) refers to ssd1306_i2c.o(i.TWI_Stop) for TWI_Stop ssd1306.o(i.SSD1306_UpdateScreen) refers to ssd1306_i2c.o(i.TWI_MT_Send_Data) for TWI_MT_Send_Data + ssd1306.o(i.SSD1306_UpdateScreen) refers to ssd1306.o(i.reverse_bits) for reverse_bits ssd1306.o(i.SSD1306_UpdateScreen) refers to ssd1306.o(.bss) for cacheMemLcd ssd1306_i2c.o(i.TWI_MR_Send_SLAR) refers to app_gpio_i2c.o(i.App_Gpio_I2C_WriteData) for App_Gpio_I2C_WriteData ssd1306_i2c.o(i.TWI_MT_Send_Data) refers to app_gpio_i2c.o(i.App_Gpio_I2C_WriteData) for App_Gpio_I2C_WriteData ssd1306_i2c.o(i.TWI_MT_Send_SLAW) refers to app_gpio_i2c.o(i.App_Gpio_I2C_WriteData) for App_Gpio_I2C_WriteData ssd1306_i2c.o(i.TWI_MT_Start) refers to app_gpio_i2c.o(i.App_Gpio_I2C_Start) for App_Gpio_I2C_Start ssd1306_i2c.o(i.TWI_Stop) refers to app_gpio_i2c.o(i.App_Gpio_I2C_Stop) for App_Gpio_I2C_Stop + strtof.o(i.__hardfp_strtof) refers (Special) to iusefp.o(.text) for __I$use$fp + strtof.o(i.__hardfp_strtof) refers to strtof.o(.text) for __strtof_int + strtof.o(i.__softfp_strtof) refers (Special) to iusefp.o(.text) for __I$use$fp + strtof.o(i.__softfp_strtof) refers to strtof.o(.text) for __strtof_int + strtof.o(i.strtof) refers (Special) to iusefp.o(.text) for __I$use$fp + strtof.o(i.strtof) refers to strtof.o(.text) for __strtof_int entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini @@ -515,6 +590,7 @@ Section Cross References entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload uldiv.o(.text) refers to llushr.o(.text) for __aeabi_llsr uldiv.o(.text) refers to llshl.o(.text) for __aeabi_llsl + strtok_r.o(.text) refers to strtok_r.o(.data) for .data printfb.o(i.__0fprintf$bare) refers to printfb.o(i._printf_core) for _printf_core printfb.o(i.__0fprintf$bare) refers to app_uart.o(i.fputc) for fputc printfb.o(i.__0printf$bare) refers to printfb.o(i._printf_core) for _printf_core @@ -751,6 +827,9 @@ Section Cross References printfa.o(i._printf_pre_padding) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i._snputc) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i._sputc) refers (Special) to iusefp.o(.text) for __I$use$fp + strtoul.o(.text) refers to errno.o(i.__aeabi_errno_addr) for __aeabi_errno_addr + strtoul.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + strtoul.o(.text) refers to _strtoul.o(.text) for _strtoul entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000 entry2.o(.ARM.Collect$$$$00002712) refers to startup_max32660.o(STACK) for __initial_sp entry2.o(__vectab_stack_and_reset_area) refers to startup_max32660.o(STACK) for __initial_sp @@ -758,6 +837,27 @@ Section Cross References entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(i.main) for main entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(i.main) for main init.o(.text) refers to system_max32660.o(i.$Sub$$__main_after_scatterload) for __main_after_scatterload + ctype_o.o(.text) refers to ctype_o.o(.constdata) for .constdata + ctype_o.o(.constdata) refers to ctype_o.o(.constdata) for __ctype_table + isalnum_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + isalpha_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + isblank_o.o(.text) refers to ctype_o.o(.constdata) for __ctype_table + iscntrl_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + isdigit_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + isgraph_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + islower_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + isprint_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + ispunct_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + isspace_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + isupper_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + isxdigit_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table + errno.o(i.__aeabi_errno_addr) refers to errno.o(.data) for .data + errno.o(i.__read_errno) refers to errno.o(.data) for .data + errno.o(i.__set_errno) refers to errno.o(.data) for .data + _strtoul.o(.text) refers to _chval.o(.text) for _chval + _strtoul.o(.text) refers to errno.o(i.__aeabi_errno_addr) for __aeabi_errno_addr + strtof.o(.text) refers to strtod.o(.text) for __strtod_int + strtof.o(.text) refers to narrow.o(i.__mathlib_narrow) for __mathlib_narrow dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue @@ -765,8 +865,41 @@ Section Cross References ddiv.o(.text) refers to depilogue.o(.text) for _double_round dfixul.o(.text) refers to llushr.o(.text) for __aeabi_llsr dfixul.o(.text) refers to llshl.o(.text) for __aeabi_llsl + narrow.o(i.__hardfp___mathlib_tofloat) refers (Special) to iusefp.o(.text) for __I$use$fp + narrow.o(i.__hardfp___mathlib_tofloat) refers to frexp.o(i.frexp) for frexp + narrow.o(i.__hardfp___mathlib_tofloat) refers to cdcmple.o(.text) for __aeabi_cdcmpeq + narrow.o(i.__hardfp___mathlib_tofloat) refers to fpstat.o(.text) for __ieee_status + narrow.o(i.__hardfp___mathlib_tofloat) refers to d2f.o(.text) for __aeabi_d2f + narrow.o(i.__hardfp___mathlib_tofloat) refers to errno.o(i.__set_errno) for __set_errno + narrow.o(i.__hardfp___mathlib_tofloat) refers to cdrcmple.o(.text) for __aeabi_cdrcmple + narrow.o(i.__mathlib_narrow) refers (Special) to iusefp.o(.text) for __I$use$fp + narrow.o(i.__mathlib_narrow) refers to narrow.o(i.__hardfp___mathlib_tofloat) for __hardfp___mathlib_tofloat + narrow.o(i.__mathlib_tofloat) refers (Special) to iusefp.o(.text) for __I$use$fp + narrow.o(i.__mathlib_tofloat) refers to narrow.o(i.__hardfp___mathlib_tofloat) for __hardfp___mathlib_tofloat + narrow.o(i.__softfp___mathlib_tofloat) refers (Special) to iusefp.o(.text) for __I$use$fp + narrow.o(i.__softfp___mathlib_tofloat) refers to narrow.o(i.__hardfp___mathlib_tofloat) for __hardfp___mathlib_tofloat + strtod.o(.text) refers to scanf_fp.o(.text) for _scanf_real + strtod.o(.text) refers to _sgetc.o(.text) for _sgetc + strtod.o(.text) refers to isspace_o.o(.text) for isspace depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr + frexp.o(i.__hardfp_frexp) refers (Special) to iusefp.o(.text) for __I$use$fp + frexp.o(i.__hardfp_frexp) refers to dmul.o(.text) for __aeabi_dmul + frexp.o(i.__softfp_frexp) refers (Special) to iusefp.o(.text) for __I$use$fp + frexp.o(i.__softfp_frexp) refers to dmul.o(.text) for __aeabi_dmul + frexp.o(i.frexp) refers (Special) to iusefp.o(.text) for __I$use$fp + frexp.o(i.frexp) refers to dmul.o(.text) for __aeabi_dmul + isspace_c.o(.text) refers to ctype_c.o(.text) for __ctype_lookup + scanf_fp.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + scanf_fp.o(.text) refers to dfltul.o(.text) for __aeabi_ul2d + scanf_fp.o(.text) refers to dmul.o(.text) for __aeabi_dmul + scanf_fp.o(.text) refers to ddiv.o(.text) for __aeabi_ddiv + scanf_fp.o(.text) refers to scanf_fp.o(i._is_digit) for _is_digit + scanf_fp.o(.text) refers to d2f.o(.text) for __aeabi_d2f + d2f.o(.text) refers to fepilogue.o(.text) for _float_round + ctype_c.o(.text) refers to ctype_c.o(.constdata) for .constdata + dfltul.o(.text) refers to depilogue.o(.text) for _double_epilogue + scanf_fp.o(i._is_digit) refers (Special) to iusefp.o(.text) for __I$use$fp ============================================================================== @@ -786,18 +919,39 @@ Removing Unused input sections from the image. Removing app_gpio_led.o(.revsh_text), (4 bytes). Removing app_gpio_i2c.o(.rev16_text), (4 bytes). Removing app_gpio_i2c.o(.revsh_text), (4 bytes). + Removing app_gpio_i2c.o(i.App_Gpio_I2C_Port_Input), (28 bytes). + Removing app_gpio_i2c.o(i.App_Gpio_I2C_Port_Read), (32 bytes). Removing app_gpio_i2c.o(i.App_Gpio_I2C_Read), (94 bytes). - Removing app_gpio_i2c.o(i.App_Gpio_I2C_ReadData), (148 bytes). + Removing app_gpio_i2c.o(i.App_Gpio_I2C_ReadData), (132 bytes). + Removing app_gpio_i2c.o(i.App_Gpio_I2C_Start), (52 bytes). Removing app_gpio_i2c.o(i.App_Gpio_I2C_Write), (74 bytes). + Removing app_gpio_i2c.o(i.App_Gpio_I2C_WriteData), (128 bytes). Removing app_ring_buffer.o(.rev16_text), (4 bytes). Removing app_ring_buffer.o(.revsh_text), (4 bytes). Removing app_ring_buffer.o(i.RingBuffer_Clear), (28 bytes). Removing app_uart.o(.rev16_text), (4 bytes). Removing app_uart.o(.revsh_text), (4 bytes). Removing app_uart.o(i.App_Uart_Get_Last_Error), (12 bytes). - Removing app_uart.o(i.App_Uart_Get_Recv_Data), (32 bytes). - Removing app_uart.o(i.App_Uart_Transmit), (20 bytes). + Removing app_uart.o(i.App_Uart_Print), (24 bytes). + Removing app_uart.o(i.fputc), (24 bytes). Removing app_uart.o(i.printf_none), (8 bytes). + Removing app_i2c0.o(.rev16_text), (4 bytes). + Removing app_i2c0.o(.revsh_text), (4 bytes). + Removing app_i2c1.o(.rev16_text), (4 bytes). + Removing app_i2c1.o(.revsh_text), (4 bytes). + Removing app_log.o(.rev16_text), (4 bytes). + Removing app_log.o(.revsh_text), (4 bytes). + Removing app_log.o(i.App_Lgo_Get_logLevel), (12 bytes). + Removing app_log.o(i.App_Log_Initialization), (12 bytes). + Removing app_log.o(i.App_Log_Prinf), (80 bytes). + Removing app_log.o(i.App_Log_Set_logLevel), (24 bytes). + Removing app_log.o(.data), (1 bytes). + Removing app_cli.o(.rev16_text), (4 bytes). + Removing app_cli.o(.revsh_text), (4 bytes). + Removing app_cli.o(i.cliAvailable), (4 bytes). + Removing app_cli.o(i.cliKeepLoop), (12 bytes). + Removing app_cli.o(i.cliRead), (4 bytes). + Removing app_cli.o(i.cliWrite), (6 bytes). Removing system_max32660.o(.rev16_text), (4 bytes). Removing system_max32660.o(.revsh_text), (4 bytes). Removing startup_max32660.o(HEAP), (4096 bytes). @@ -853,21 +1007,14 @@ Removing Unused input sections from the image. Removing i2c.o(i.I2C_ClearTimeout), (6 bytes). Removing i2c.o(i.I2C_DrainRX), (10 bytes). Removing i2c.o(i.I2C_DrainTX), (10 bytes). - Removing i2c.o(i.I2C_FreeCallback), (40 bytes). Removing i2c.o(i.I2C_Handler), (40 bytes). - Removing i2c.o(i.I2C_Init), (384 bytes). Removing i2c.o(i.I2C_MasterAsync), (172 bytes). Removing i2c.o(i.I2C_MasterHandler), (540 bytes). Removing i2c.o(i.I2C_MasterRead), (228 bytes). Removing i2c.o(i.I2C_MasterWrite), (242 bytes). - Removing i2c.o(i.I2C_Recover), (24 bytes). - Removing i2c.o(i.I2C_SetTimeout), (48 bytes). - Removing i2c.o(i.I2C_Setspeed), (248 bytes). - Removing i2c.o(i.I2C_Shutdown), (120 bytes). Removing i2c.o(i.I2C_Slave), (628 bytes). Removing i2c.o(i.I2C_SlaveAsync), (120 bytes). Removing i2c.o(i.I2C_SlaveHandler), (540 bytes). - Removing i2c.o(.bss), (16 bytes). Removing i2s.o(.rev16_text), (4 bytes). Removing i2s.o(.revsh_text), (4 bytes). Removing i2s.o(i.I2S_DMA_ClearFlags), (16 bytes). @@ -959,9 +1106,6 @@ Removing Unused input sections from the image. Removing mxc_sys.o(i.SYS_FLC_Init), (6 bytes). Removing mxc_sys.o(i.SYS_FLC_Shutdown), (4 bytes). Removing mxc_sys.o(i.SYS_Flash_Operation), (56 bytes). - Removing mxc_sys.o(i.SYS_I2C_GetFreq), (16 bytes). - Removing mxc_sys.o(i.SYS_I2C_Init), (76 bytes). - Removing mxc_sys.o(i.SYS_I2C_Shutdown), (116 bytes). Removing mxc_sys.o(i.SYS_I2S_GetFreq), (16 bytes). Removing mxc_sys.o(i.SYS_I2S_Init), (56 bytes). Removing mxc_sys.o(i.SYS_I2S_Shutdown), (12 bytes). @@ -1106,17 +1250,39 @@ Removing Unused input sections from the image. Removing wdt.o(i.WDT_SetResetPeriod), (10 bytes). Removing ssd1306.o(.rev16_text), (4 bytes). Removing ssd1306.o(.revsh_text), (4 bytes). + Removing ssd1306.o(i.SSD1306_ClearScreen), (20 bytes). + Removing ssd1306.o(i.SSD1306_DrawBackGround), (28 bytes). + Removing ssd1306.o(i.SSD1306_DrawBackGround_LeftShift), (76 bytes). + Removing ssd1306.o(i.SSD1306_DrawBackGround_Log), (28 bytes). + Removing ssd1306.o(i.SSD1306_DrawChar), (88 bytes). + Removing ssd1306.o(i.SSD1306_DrawLine), (196 bytes). + Removing ssd1306.o(i.SSD1306_DrawPixel), (72 bytes). + Removing ssd1306.o(i.SSD1306_DrawString), (26 bytes). + Removing ssd1306.o(i.SSD1306_Draw_Temperature), (612 bytes). + Removing ssd1306.o(i.SSD1306_Init), (112 bytes). + Removing ssd1306.o(i.SSD1306_InverseScreen), (50 bytes). + Removing ssd1306.o(i.SSD1306_NormalScreen), (50 bytes). + Removing ssd1306.o(i.SSD1306_Send_Command), (46 bytes). + Removing ssd1306.o(i.SSD1306_Send_StartAndSLAW), (44 bytes). + Removing ssd1306.o(i.SSD1306_SetPosition), (16 bytes). + Removing ssd1306.o(i.SSD1306_UpdatePosition), (60 bytes). + Removing ssd1306.o(i.SSD1306_UpdateScreen), (144 bytes). + Removing ssd1306.o(i.reverse_bits), (38 bytes). + Removing ssd1306.o(.bss), (512 bytes). + Removing ssd1306.o(.constdata), (570 bytes). + Removing ssd1306.o(.data), (4 bytes). Removing ssd1306_i2c.o(.rev16_text), (4 bytes). Removing ssd1306_i2c.o(.revsh_text), (4 bytes). Removing ssd1306_i2c.o(i.TWI_MR_Send_SLAR), (28 bytes). - Removing dadd.o(.text), (334 bytes). - Removing dmul.o(.text), (228 bytes). - Removing ddiv.o(.text), (222 bytes). - Removing dfixul.o(.text), (48 bytes). - Removing cdrcmple.o(.text), (48 bytes). - Removing depilogue.o(.text), (186 bytes). + Removing ssd1306_i2c.o(i.TWI_MT_Send_Data), (22 bytes). + Removing ssd1306_i2c.o(i.TWI_MT_Send_SLAW), (24 bytes). + Removing ssd1306_i2c.o(i.TWI_MT_Start), (10 bytes). + Removing ssd1306_i2c.o(i.TWI_Stop), (8 bytes). + Removing background.o(.constdata), (512 bytes). + Removing number.o(.constdata), (1056 bytes). + Removing cammsys_log.o(.constdata), (512 bytes). -342 unused section(s) (total 24012 bytes) removed from the image. +375 unused section(s) (total 27201 bytes) removed from the image. ============================================================================== @@ -1127,56 +1293,97 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) RESET 0x00000000 Section 284 startup_max32660.o(RESET) + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isalnum_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ctype_c.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ctype_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isalpha_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isxdigit_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isupper_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isspace_c.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isspace_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ispunct_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isblank_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 islower_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isgraph_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isdigit_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 iscntrl_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isprint_o.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE + ../clib/microlib/errno.c 0x00000000 Number 0 errno.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE - ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE ../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE + ../clib/microlib/stdio/streams.c 0x00000000 Number 0 stderr.o ABSOLUTE ../clib/microlib/stdio/streams.c 0x00000000 Number 0 stdout.o ABSOLUTE - ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE + ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE ../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE + ../clib/microlib/string/strcmp.c 0x00000000 Number 0 strcmp.o ABSOLUTE + ../clib/microlib/string/strcpy.c 0x00000000 Number 0 strcpy.o ABSOLUTE + ../clib/microlib/string/strtok.c 0x00000000 Number 0 strtok_r.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 strtof.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 _strtoul.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 _chval.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 strtod.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 strtoul.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 scanf_fp.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 _sgetc.o ABSOLUTE + ../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltul.o ABSOLUTE ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE + ../fplib/microlib/fpstat.c 0x00000000 Number 0 fpstat.o ABSOLUTE + ../mathlib/frexp.c 0x00000000 Number 0 frexp.o ABSOLUTE + ../mathlib/narrow.c 0x00000000 Number 0 narrow.o ABSOLUTE + ../mathlib/strtof.c 0x00000000 Number 0 strtof.o ABSOLUTE + ..\Application\app_cli.c 0x00000000 Number 0 app_cli.o ABSOLUTE ..\Application\app_gpio_i2c.c 0x00000000 Number 0 app_gpio_i2c.o ABSOLUTE ..\Application\app_gpio_led.c 0x00000000 Number 0 app_gpio_led.o ABSOLUTE + ..\Application\app_i2c0.c 0x00000000 Number 0 app_i2c0.o ABSOLUTE + ..\Application\app_i2c1.c 0x00000000 Number 0 app_i2c1.o ABSOLUTE + ..\Application\app_log.c 0x00000000 Number 0 app_log.o ABSOLUTE ..\Application\app_ring_buffer.c 0x00000000 Number 0 app_ring_buffer.o ABSOLUTE ..\Application\app_uart.c 0x00000000 Number 0 app_uart.o ABSOLUTE ..\Application\interrput_handler.c 0x00000000 Number 0 interrput_handler.o ABSOLUTE ..\Application\main.c 0x00000000 Number 0 main.o ABSOLUTE ..\Application\oled_ssd1306\ssd1306.c 0x00000000 Number 0 ssd1306.o ABSOLUTE ..\Application\oled_ssd1306\ssd1306_i2c.c 0x00000000 Number 0 ssd1306_i2c.o ABSOLUTE + ..\Application\resource\Cammsys_Log.c 0x00000000 Number 0 cammsys_log.o ABSOLUTE + ..\Application\resource\background.c 0x00000000 Number 0 background.o ABSOLUTE + ..\Application\resource\number.c 0x00000000 Number 0 number.o ABSOLUTE ..\Application\sw_timer.c 0x00000000 Number 0 sw_timer.o ABSOLUTE ..\Application\system_func.c 0x00000000 Number 0 system_func.o ABSOLUTE ..\SDK\Device\system_max32660.c 0x00000000 Number 0 system_max32660.o ABSOLUTE @@ -1202,8 +1409,12 @@ Image Symbol Table ..\SDK\Driver\Source\uart.c 0x00000000 Number 0 uart.o ABSOLUTE ..\SDK\Driver\Source\wdt.c 0x00000000 Number 0 wdt.o ABSOLUTE ..\SDK\Startup\startup_max32660.s 0x00000000 Number 0 startup_max32660.o ABSOLUTE + ..\\Application\\app_cli.c 0x00000000 Number 0 app_cli.o ABSOLUTE ..\\Application\\app_gpio_i2c.c 0x00000000 Number 0 app_gpio_i2c.o ABSOLUTE ..\\Application\\app_gpio_led.c 0x00000000 Number 0 app_gpio_led.o ABSOLUTE + ..\\Application\\app_i2c0.c 0x00000000 Number 0 app_i2c0.o ABSOLUTE + ..\\Application\\app_i2c1.c 0x00000000 Number 0 app_i2c1.o ABSOLUTE + ..\\Application\\app_log.c 0x00000000 Number 0 app_log.o ABSOLUTE ..\\Application\\app_ring_buffer.c 0x00000000 Number 0 app_ring_buffer.o ABSOLUTE ..\\Application\\app_uart.c 0x00000000 Number 0 app_uart.o ABSOLUTE ..\\Application\\interrput_handler.c 0x00000000 Number 0 interrput_handler.o ABSOLUTE @@ -1234,6 +1445,7 @@ Image Symbol Table ..\\SDK\\Driver\\Source\\tmr_utils.c 0x00000000 Number 0 tmr_utils.o ABSOLUTE ..\\SDK\\Driver\\Source\\uart.c 0x00000000 Number 0 uart.o ABSOLUTE ..\\SDK\\Driver\\Source\\wdt.c 0x00000000 Number 0 wdt.o ABSOLUTE + cdcmple.s 0x00000000 Number 0 cdcmple.o ABSOLUTE cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE dc.s 0x00000000 Number 0 dc.o ABSOLUTE handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE @@ -1253,160 +1465,230 @@ Image Symbol Table $v0 0x00000134 Number 0 startup_max32660.o(.text) .text 0x0000015c Section 0 uldiv.o(.text) .text 0x000001be Section 0 memcpya.o(.text) - .text 0x000001e2 Section 0 memseta.o(.text) - .text 0x00000208 Section 36 init.o(.text) - .text 0x0000022c Section 0 uidiv.o(.text) - .text 0x00000258 Section 0 llshl.o(.text) - .text 0x00000276 Section 0 llushr.o(.text) - i.$Sub$$__main_after_scatterload 0x00000296 Section 0 system_max32660.o(i.$Sub$$__main_after_scatterload) - i.App_Gpio_I2C_Delay 0x000002a4 Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Delay) - App_Gpio_I2C_Delay 0x000002a5 Thumb Code 18 app_gpio_i2c.o(i.App_Gpio_I2C_Delay) - i.App_Gpio_I2C_Initialization 0x000002bc Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Initialization) - i.App_Gpio_I2C_Port_H 0x00000308 Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Port_H) - App_Gpio_I2C_Port_H 0x00000309 Thumb Code 14 app_gpio_i2c.o(i.App_Gpio_I2C_Port_H) - i.App_Gpio_I2C_Port_Input 0x0000031c Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Port_Input) - App_Gpio_I2C_Port_Input 0x0000031d Thumb Code 28 app_gpio_i2c.o(i.App_Gpio_I2C_Port_Input) - i.App_Gpio_I2C_Port_L 0x00000338 Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Port_L) - App_Gpio_I2C_Port_L 0x00000339 Thumb Code 14 app_gpio_i2c.o(i.App_Gpio_I2C_Port_L) - i.App_Gpio_I2C_Port_Output 0x0000034c Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Port_Output) - App_Gpio_I2C_Port_Output 0x0000034d Thumb Code 30 app_gpio_i2c.o(i.App_Gpio_I2C_Port_Output) - i.App_Gpio_I2C_Port_Read 0x0000036c Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Port_Read) - App_Gpio_I2C_Port_Read 0x0000036d Thumb Code 26 app_gpio_i2c.o(i.App_Gpio_I2C_Port_Read) - i.App_Gpio_I2C_Start 0x0000038c Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Start) - i.App_Gpio_I2C_Stop 0x000003c8 Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Stop) - i.App_Gpio_I2C_WriteData 0x00000406 Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_WriteData) - i.App_Led_Initialization 0x00000498 Section 0 app_gpio_led.o(i.App_Led_Initialization) - i.App_Led_Off 0x000004f4 Section 0 app_gpio_led.o(i.App_Led_Off) - App_Led_Off 0x000004f5 Thumb Code 30 app_gpio_led.o(i.App_Led_Off) - i.App_Led_On 0x0000051c Section 0 app_gpio_led.o(i.App_Led_On) - App_Led_On 0x0000051d Thumb Code 30 app_gpio_led.o(i.App_Led_On) - i.App_Led_OutputSet 0x00000544 Section 0 app_gpio_led.o(i.App_Led_OutputSet) - i.App_Led_Output_Process 0x00000588 Section 0 app_gpio_led.o(i.App_Led_Output_Process) - App_Led_Output_Process 0x00000589 Thumb Code 124 app_gpio_led.o(i.App_Led_Output_Process) - i.App_Uart_Data_Transmit_Check 0x00000608 Section 0 app_uart.o(i.App_Uart_Data_Transmit_Check) - App_Uart_Data_Transmit_Check 0x00000609 Thumb Code 46 app_uart.o(i.App_Uart_Data_Transmit_Check) - i.App_Uart_Initialization 0x00000640 Section 0 app_uart.o(i.App_Uart_Initialization) - i.App_Uart_Interrupt_Handler 0x0000072c Section 0 app_uart.o(i.App_Uart_Interrupt_Handler) - App_Uart_Interrupt_Handler 0x0000072d Thumb Code 10 app_uart.o(i.App_Uart_Interrupt_Handler) - i.App_Uart_Read_Callback 0x0000073c Section 0 app_uart.o(i.App_Uart_Read_Callback) - App_Uart_Read_Callback 0x0000073d Thumb Code 32 app_uart.o(i.App_Uart_Read_Callback) - i.App_Uart_Read_Callback_Initialization 0x00000768 Section 0 app_uart.o(i.App_Uart_Read_Callback_Initialization) - App_Uart_Read_Callback_Initialization 0x00000769 Thumb Code 24 app_uart.o(i.App_Uart_Read_Callback_Initialization) - i.Board_Init 0x00000790 Section 0 system_max32660.o(i.Board_Init) - i.GPIO_Config 0x00000794 Section 0 gpio.o(i.GPIO_Config) - i.ICC_Enable 0x0000088c Section 0 icc.o(i.ICC_Enable) - i.ICC_Ready 0x000008bc Section 0 icc.o(i.ICC_Ready) - ICC_Ready 0x000008bd Thumb Code 10 icc.o(i.ICC_Ready) - i.LP_SetOperatingVoltage 0x000008cc Section 0 lp.o(i.LP_SetOperatingVoltage) - i.NVIC_ClearPendingIRQ 0x000009bc Section 0 app_uart.o(i.NVIC_ClearPendingIRQ) - NVIC_ClearPendingIRQ 0x000009bd Thumb Code 18 app_uart.o(i.NVIC_ClearPendingIRQ) - i.NVIC_DisableIRQ 0x000009d4 Section 0 app_uart.o(i.NVIC_DisableIRQ) - NVIC_DisableIRQ 0x000009d5 Thumb Code 18 app_uart.o(i.NVIC_DisableIRQ) - i.NVIC_EnableIRQ 0x000009ec Section 0 system_func.o(i.NVIC_EnableIRQ) - NVIC_EnableIRQ 0x000009ed Thumb Code 22 system_func.o(i.NVIC_EnableIRQ) - i.NVIC_EnableIRQ 0x00000a02 Section 0 app_uart.o(i.NVIC_EnableIRQ) - NVIC_EnableIRQ 0x00000a03 Thumb Code 22 app_uart.o(i.NVIC_EnableIRQ) - i.NVIC_SetRAM 0x00000a18 Section 0 nvic_table.o(i.NVIC_SetRAM) - i.NVIC_SetVector 0x00000a3c Section 0 nvic_table.o(i.NVIC_SetVector) - i.PreInit 0x00000a7c Section 0 system_max32660.o(i.PreInit) - i.RingBuffer_Dequeue 0x00000a80 Section 0 app_ring_buffer.o(i.RingBuffer_Dequeue) - i.RingBuffer_Enqueue 0x00000ac0 Section 0 app_ring_buffer.o(i.RingBuffer_Enqueue) - i.RingBuffer_GetData 0x00000b02 Section 0 app_ring_buffer.o(i.RingBuffer_GetData) - i.RingBuffer_Get_DataSize 0x00000b10 Section 0 app_ring_buffer.o(i.RingBuffer_Get_DataSize) - i.RingBuffer_Initialization 0x00000b40 Section 0 app_ring_buffer.o(i.RingBuffer_Initialization) - i.RingBuffer_PopData 0x00000b60 Section 0 app_ring_buffer.o(i.RingBuffer_PopData) - i.RingBuffer_isEmpty 0x00000b88 Section 0 app_ring_buffer.o(i.RingBuffer_isEmpty) - i.RingBuffer_isFull 0x00000b98 Section 0 app_ring_buffer.o(i.RingBuffer_isFull) - i.SSD1306_ClearScreen 0x00000bbc Section 0 ssd1306.o(i.SSD1306_ClearScreen) - i.SSD1306_DrawChar 0x00000bd0 Section 0 ssd1306.o(i.SSD1306_DrawChar) - i.SSD1306_DrawLine 0x00000c24 Section 0 ssd1306.o(i.SSD1306_DrawLine) - i.SSD1306_DrawPixel 0x00000ce8 Section 0 ssd1306.o(i.SSD1306_DrawPixel) - i.SSD1306_DrawString 0x00000d30 Section 0 ssd1306.o(i.SSD1306_DrawString) - i.SSD1306_Init 0x00000d4c Section 0 ssd1306.o(i.SSD1306_Init) - i.SSD1306_InverseScreen 0x00000dbc Section 0 ssd1306.o(i.SSD1306_InverseScreen) - i.SSD1306_NormalScreen 0x00000dee Section 0 ssd1306.o(i.SSD1306_NormalScreen) - i.SSD1306_Send_Command 0x00000e20 Section 0 ssd1306.o(i.SSD1306_Send_Command) - i.SSD1306_Send_StartAndSLAW 0x00000e4e Section 0 ssd1306.o(i.SSD1306_Send_StartAndSLAW) - i.SSD1306_SetPosition 0x00000e7c Section 0 ssd1306.o(i.SSD1306_SetPosition) - i.SSD1306_UpdatePosition 0x00000e8c Section 0 ssd1306.o(i.SSD1306_UpdatePosition) - i.SSD1306_UpdateScreen 0x00000ec8 Section 0 ssd1306.o(i.SSD1306_UpdateScreen) - i.SW_Timer_Callback_Process 0x00000f24 Section 0 sw_timer.o(i.SW_Timer_Callback_Process) - i.SW_Timer_Callback_Register 0x00000fb0 Section 0 sw_timer.o(i.SW_Timer_Callback_Register) - i.SYS_ClockDisable 0x0000100c Section 0 mxc_sys.o(i.SYS_ClockDisable) - i.SYS_ClockEnable 0x00001036 Section 0 mxc_sys.o(i.SYS_ClockEnable) - i.SYS_Clock_Select 0x00001060 Section 0 mxc_sys.o(i.SYS_Clock_Select) - i.SYS_Clock_Timeout 0x00001294 Section 0 mxc_sys.o(i.SYS_Clock_Timeout) - SYS_Clock_Timeout 0x00001295 Thumb Code 46 mxc_sys.o(i.SYS_Clock_Timeout) - i.SYS_TMR_Init 0x000012c4 Section 0 mxc_sys.o(i.SYS_TMR_Init) - i.SYS_UART_Init 0x00001320 Section 0 mxc_sys.o(i.SYS_UART_Init) - i.SysTick_Handler 0x000013bc Section 0 mxc_delay.o(i.SysTick_Handler) - i.SystemCoreClockSet 0x000013c4 Section 0 system_func.o(i.SystemCoreClockSet) - i.SystemCoreClockUpdate 0x00001418 Section 0 system_max32660.o(i.SystemCoreClockUpdate) - i.SystemInit 0x0000147c Section 0 system_max32660.o(i.SystemInit) - i.SystemTimerInitialization 0x00001510 Section 0 system_func.o(i.SystemTimerInitialization) - SystemTimerInitialization 0x00001511 Thumb Code 124 system_func.o(i.SystemTimerInitialization) - i.SystemTimer_GetPeriodCount 0x00001598 Section 0 system_func.o(i.SystemTimer_GetPeriodCount) - SystemTimer_GetPeriodCount 0x00001599 Thumb Code 20 system_func.o(i.SystemTimer_GetPeriodCount) - i.SystemTimer_Get_TickCount 0x000015b0 Section 0 system_func.o(i.SystemTimer_Get_TickCount) - i.SystemTimer_Interrput_Handler 0x000015bc Section 0 system_func.o(i.SystemTimer_Interrput_Handler) - SystemTimer_Interrput_Handler 0x000015bd Thumb Code 20 system_func.o(i.SystemTimer_Interrput_Handler) - i.TMR_Config 0x000015d8 Section 0 tmr.o(i.TMR_Config) - i.TMR_Disable 0x00001602 Section 0 tmr.o(i.TMR_Disable) - i.TMR_Enable 0x0000160c Section 0 tmr.o(i.TMR_Enable) - i.TMR_Init 0x00001616 Section 0 tmr.o(i.TMR_Init) - i.TMR_IntClear 0x00001640 Section 0 tmr.o(i.TMR_IntClear) - i.TWI_MT_Send_Data 0x00001646 Section 0 ssd1306_i2c.o(i.TWI_MT_Send_Data) - i.TWI_MT_Send_SLAW 0x0000165c Section 0 ssd1306_i2c.o(i.TWI_MT_Send_SLAW) - i.TWI_MT_Start 0x00001674 Section 0 ssd1306_i2c.o(i.TWI_MT_Start) - i.TWI_Stop 0x0000167e Section 0 ssd1306_i2c.o(i.TWI_Stop) - i.Test_Process 0x00001688 Section 0 main.o(i.Test_Process) - i.UART_Busy 0x000016c8 Section 0 uart.o(i.UART_Busy) - i.UART_ClearFlags 0x00001720 Section 0 uart.o(i.UART_ClearFlags) - i.UART_Handler 0x00001724 Section 0 uart.o(i.UART_Handler) - i.UART_Init 0x0000178c Section 0 uart.o(i.UART_Init) - i.UART_NumReadAvail 0x00001868 Section 0 uart.o(i.UART_NumReadAvail) - i.UART_NumWriteAvail 0x00001872 Section 0 uart.o(i.UART_NumWriteAvail) - i.UART_ReadAsync 0x00001880 Section 0 uart.o(i.UART_ReadAsync) - i.UART_ReadHandler 0x00001924 Section 0 uart.o(i.UART_ReadHandler) - UART_ReadHandler 0x00001925 Thumb Code 202 uart.o(i.UART_ReadHandler) - i.UART_WriteByte 0x000019f4 Section 0 uart.o(i.UART_WriteByte) - i.UART_WriteHandler 0x00001a04 Section 0 uart.o(i.UART_WriteHandler) - UART_WriteHandler 0x00001a05 Thumb Code 130 uart.o(i.UART_WriteHandler) - i.__0printf$1 0x00001a8c Section 0 printf1.o(i.__0printf$1) - i.__0sprintf$1 0x00001aac Section 0 printf1.o(i.__0sprintf$1) - i.__scatterload_copy 0x00001ad4 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x00001ae2 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x00001ae4 Section 14 handlers.o(i.__scatterload_zeroinit) - i._printf_core 0x00001af4 Section 0 printf1.o(i._printf_core) - _printf_core 0x00001af5 Thumb Code 336 printf1.o(i._printf_core) - i._sputc 0x00001c48 Section 0 printf1.o(i._sputc) - _sputc 0x00001c49 Thumb Code 10 printf1.o(i._sputc) - i.fputc 0x00001c54 Section 0 app_uart.o(i.fputc) - i.main 0x00001c6c Section 0 main.o(i.main) - i.mxc_delay 0x00001d50 Section 0 mxc_delay.o(i.mxc_delay) - i.mxc_delay_check 0x00001dd0 Section 0 mxc_delay.o(i.mxc_delay_check) - i.mxc_delay_handler 0x00001e24 Section 0 mxc_delay.o(i.mxc_delay_handler) - i.mxc_delay_init 0x00001e7c Section 0 mxc_delay.o(i.mxc_delay_init) - mxc_delay_init 0x00001e7d Thumb Code 154 mxc_delay.o(i.mxc_delay_init) - i.mxc_delay_start 0x00001f30 Section 0 mxc_delay.o(i.mxc_delay_start) - i.mxc_delay_stop 0x00001f7c Section 0 mxc_delay.o(i.mxc_delay_stop) - i.mxc_free_lock 0x00001f98 Section 0 mxc_lock.o(i.mxc_free_lock) - i.mxc_get_lock 0x00001fa2 Section 0 mxc_lock.o(i.mxc_get_lock) - .constdata 0x00001fc4 Section 192 mxc_pins.o(.constdata) - .constdata 0x00002084 Section 568 ssd1306.o(.constdata) - .data 0x20000000 Section 4 main.o(.data) - count 0x20000000 Data 4 main.o(.data) - .data 0x20000004 Section 8 system_func.o(.data) - usTickCountDiv 0x20000004 Data 1 system_func.o(.data) - msTickCount 0x20000008 Data 4 system_func.o(.data) - .data 0x2000000c Section 32 app_gpio_led.o(.data) - App_Led_Ctrl_Info 0x2000000c Data 32 app_gpio_led.o(.data) - .data 0x2000002c Section 4 app_gpio_i2c.o(.data) - DelayCount 0x2000002c Data 4 app_gpio_i2c.o(.data) - .data 0x20000030 Section 8 app_uart.o(.data) - RxData 0x20000030 Data 1 app_uart.o(.data) - UartError 0x20000034 Data 4 app_uart.o(.data) - .data 0x20000038 Section 4 system_max32660.o(.data) + .text 0x000001e2 Section 0 strcmp.o(.text) + .text 0x000001fe Section 0 strcpy.o(.text) + .text 0x00000210 Section 0 strtok_r.o(.text) + .text 0x00000254 Section 0 strtoul.o(.text) + .text 0x000002c8 Section 36 init.o(.text) + .text 0x000002ec Section 0 uidiv.o(.text) + .text 0x00000318 Section 0 llshl.o(.text) + .text 0x00000336 Section 0 llushr.o(.text) + .text 0x00000358 Section 0 ctype_o.o(.text) + .text 0x00000360 Section 0 isspace_o.o(.text) + .text 0x00000372 Section 0 _strtoul.o(.text) + .text 0x00000410 Section 0 strtof.o(.text) + .text 0x0000042a Section 0 iusefp.o(.text) + .text 0x0000042a Section 0 dadd.o(.text) + .text 0x00000578 Section 0 dmul.o(.text) + .text 0x0000065c Section 0 ddiv.o(.text) + .text 0x0000073a Section 0 dfixul.o(.text) + .text 0x0000076c Section 48 cdrcmple.o(.text) + .text 0x0000079c Section 0 llsshr.o(.text) + .text 0x000007c0 Section 0 _chval.o(.text) + .text 0x000007dc Section 0 strtod.o(.text) + _local_sscanf 0x000007dd Thumb Code 54 strtod.o(.text) + .text 0x00000878 Section 0 depilogue.o(.text) + .text 0x00000934 Section 0 scanf_fp.o(.text) + _fp_value 0x00000935 Thumb Code 296 scanf_fp.o(.text) + .text 0x00000c94 Section 0 _sgetc.o(.text) + .text 0x00000cd4 Section 48 cdcmple.o(.text) + .text 0x00000d04 Section 0 d2f.o(.text) + .text 0x00000d3c Section 0 fpstat.o(.text) + .text 0x00000d40 Section 0 fepilogue.o(.text) + .text 0x00000dae Section 0 dfltul.o(.text) + i.$Sub$$__main_after_scatterload 0x00000dc6 Section 0 system_max32660.o(i.$Sub$$__main_after_scatterload) + i.App_CLI_Initialization 0x00000dd4 Section 0 app_cli.o(i.App_CLI_Initialization) + i.App_Gpio_I2C_Delay 0x00000dec Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Delay) + App_Gpio_I2C_Delay 0x00000ded Thumb Code 18 app_gpio_i2c.o(i.App_Gpio_I2C_Delay) + i.App_Gpio_I2C_Initialization 0x00000e04 Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Initialization) + i.App_Gpio_I2C_Port_H 0x00000e48 Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Port_H) + App_Gpio_I2C_Port_H 0x00000e49 Thumb Code 14 app_gpio_i2c.o(i.App_Gpio_I2C_Port_H) + i.App_Gpio_I2C_Port_L 0x00000e5c Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Port_L) + App_Gpio_I2C_Port_L 0x00000e5d Thumb Code 14 app_gpio_i2c.o(i.App_Gpio_I2C_Port_L) + i.App_Gpio_I2C_Port_Output 0x00000e70 Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Port_Output) + App_Gpio_I2C_Port_Output 0x00000e71 Thumb Code 30 app_gpio_i2c.o(i.App_Gpio_I2C_Port_Output) + i.App_Gpio_I2C_Stop 0x00000e8e Section 0 app_gpio_i2c.o(i.App_Gpio_I2C_Stop) + i.App_Led_Initialization 0x00000ec4 Section 0 app_gpio_led.o(i.App_Led_Initialization) + i.App_Led_Off 0x00000f20 Section 0 app_gpio_led.o(i.App_Led_Off) + App_Led_Off 0x00000f21 Thumb Code 30 app_gpio_led.o(i.App_Led_Off) + i.App_Led_On 0x00000f48 Section 0 app_gpio_led.o(i.App_Led_On) + App_Led_On 0x00000f49 Thumb Code 30 app_gpio_led.o(i.App_Led_On) + i.App_Led_OutputSet 0x00000f70 Section 0 app_gpio_led.o(i.App_Led_OutputSet) + i.App_Led_Output_Process 0x00000fb4 Section 0 app_gpio_led.o(i.App_Led_Output_Process) + App_Led_Output_Process 0x00000fb5 Thumb Code 124 app_gpio_led.o(i.App_Led_Output_Process) + i.App_Uart_Data_Transmit_Check 0x00001034 Section 0 app_uart.o(i.App_Uart_Data_Transmit_Check) + App_Uart_Data_Transmit_Check 0x00001035 Thumb Code 46 app_uart.o(i.App_Uart_Data_Transmit_Check) + i.App_Uart_Get_Recv_Data 0x0000106c Section 0 app_uart.o(i.App_Uart_Get_Recv_Data) + i.App_Uart_Initialization 0x0000108c Section 0 app_uart.o(i.App_Uart_Initialization) + i.App_Uart_Interrupt_Handler 0x00001178 Section 0 app_uart.o(i.App_Uart_Interrupt_Handler) + App_Uart_Interrupt_Handler 0x00001179 Thumb Code 10 app_uart.o(i.App_Uart_Interrupt_Handler) + i.App_Uart_Read_Callback 0x00001188 Section 0 app_uart.o(i.App_Uart_Read_Callback) + App_Uart_Read_Callback 0x00001189 Thumb Code 22 app_uart.o(i.App_Uart_Read_Callback) + i.App_Uart_Read_Callback_Initialization 0x000011a8 Section 0 app_uart.o(i.App_Uart_Read_Callback_Initialization) + App_Uart_Read_Callback_Initialization 0x000011a9 Thumb Code 24 app_uart.o(i.App_Uart_Read_Callback_Initialization) + i.App_Uart_Transmit 0x000011d0 Section 0 app_uart.o(i.App_Uart_Transmit) + i.App_Uart_Transmit_Len 0x000011e4 Section 0 app_uart.o(i.App_Uart_Transmit_Len) + i.Board_Init 0x000011fe Section 0 system_max32660.o(i.Board_Init) + i.GPIO_Config 0x00001204 Section 0 gpio.o(i.GPIO_Config) + i.I2C0_Master_Initialization 0x000012fc Section 0 app_i2c0.o(i.I2C0_Master_Initialization) + i.I2C_FreeCallback 0x00001368 Section 0 i2c.o(i.I2C_FreeCallback) + I2C_FreeCallback 0x00001369 Thumb Code 36 i2c.o(i.I2C_FreeCallback) + i.I2C_Init 0x00001390 Section 0 i2c.o(i.I2C_Init) + i.I2C_Recover 0x00001510 Section 0 i2c.o(i.I2C_Recover) + I2C_Recover 0x00001511 Thumb Code 24 i2c.o(i.I2C_Recover) + i.I2C_SetTimeout 0x00001528 Section 0 i2c.o(i.I2C_SetTimeout) + i.I2C_Setspeed 0x00001558 Section 0 i2c.o(i.I2C_Setspeed) + I2C_Setspeed 0x00001559 Thumb Code 234 i2c.o(i.I2C_Setspeed) + i.I2C_Shutdown 0x00001650 Section 0 i2c.o(i.I2C_Shutdown) + i.ICC_Enable 0x000016c8 Section 0 icc.o(i.ICC_Enable) + i.ICC_Ready 0x000016f8 Section 0 icc.o(i.ICC_Ready) + ICC_Ready 0x000016f9 Thumb Code 10 icc.o(i.ICC_Ready) + i.LP_SetOperatingVoltage 0x00001708 Section 0 lp.o(i.LP_SetOperatingVoltage) + i.NVIC_ClearPendingIRQ 0x000017f8 Section 0 app_uart.o(i.NVIC_ClearPendingIRQ) + NVIC_ClearPendingIRQ 0x000017f9 Thumb Code 18 app_uart.o(i.NVIC_ClearPendingIRQ) + i.NVIC_DisableIRQ 0x00001810 Section 0 app_uart.o(i.NVIC_DisableIRQ) + NVIC_DisableIRQ 0x00001811 Thumb Code 18 app_uart.o(i.NVIC_DisableIRQ) + i.NVIC_EnableIRQ 0x00001828 Section 0 system_func.o(i.NVIC_EnableIRQ) + NVIC_EnableIRQ 0x00001829 Thumb Code 22 system_func.o(i.NVIC_EnableIRQ) + i.NVIC_EnableIRQ 0x0000183e Section 0 app_uart.o(i.NVIC_EnableIRQ) + NVIC_EnableIRQ 0x0000183f Thumb Code 22 app_uart.o(i.NVIC_EnableIRQ) + i.NVIC_SetRAM 0x00001854 Section 0 nvic_table.o(i.NVIC_SetRAM) + i.NVIC_SetVector 0x00001878 Section 0 nvic_table.o(i.NVIC_SetVector) + i.PreInit 0x000018b8 Section 0 system_max32660.o(i.PreInit) + i.RingBuffer_Dequeue 0x000018bc Section 0 app_ring_buffer.o(i.RingBuffer_Dequeue) + i.RingBuffer_Enqueue 0x000018fc Section 0 app_ring_buffer.o(i.RingBuffer_Enqueue) + i.RingBuffer_GetData 0x0000193e Section 0 app_ring_buffer.o(i.RingBuffer_GetData) + i.RingBuffer_Get_DataSize 0x0000194c Section 0 app_ring_buffer.o(i.RingBuffer_Get_DataSize) + i.RingBuffer_Initialization 0x0000197c Section 0 app_ring_buffer.o(i.RingBuffer_Initialization) + i.RingBuffer_PopData 0x0000199c Section 0 app_ring_buffer.o(i.RingBuffer_PopData) + i.RingBuffer_isEmpty 0x000019c4 Section 0 app_ring_buffer.o(i.RingBuffer_isEmpty) + i.RingBuffer_isFull 0x000019d4 Section 0 app_ring_buffer.o(i.RingBuffer_isFull) + i.SW_Timer_Callback_Process 0x000019f8 Section 0 sw_timer.o(i.SW_Timer_Callback_Process) + i.SW_Timer_Callback_Register 0x00001a84 Section 0 sw_timer.o(i.SW_Timer_Callback_Register) + i.SYS_ClockDisable 0x00001ae0 Section 0 mxc_sys.o(i.SYS_ClockDisable) + i.SYS_ClockEnable 0x00001b0a Section 0 mxc_sys.o(i.SYS_ClockEnable) + i.SYS_Clock_Select 0x00001b34 Section 0 mxc_sys.o(i.SYS_Clock_Select) + i.SYS_Clock_Timeout 0x00001d68 Section 0 mxc_sys.o(i.SYS_Clock_Timeout) + SYS_Clock_Timeout 0x00001d69 Thumb Code 46 mxc_sys.o(i.SYS_Clock_Timeout) + i.SYS_I2C_GetFreq 0x00001d98 Section 0 mxc_sys.o(i.SYS_I2C_GetFreq) + i.SYS_I2C_Init 0x00001da8 Section 0 mxc_sys.o(i.SYS_I2C_Init) + i.SYS_I2C_Shutdown 0x00001df4 Section 0 mxc_sys.o(i.SYS_I2C_Shutdown) + i.SYS_TMR_Init 0x00001e68 Section 0 mxc_sys.o(i.SYS_TMR_Init) + i.SYS_UART_Init 0x00001ec4 Section 0 mxc_sys.o(i.SYS_UART_Init) + i.SysTick_Handler 0x00001f60 Section 0 mxc_delay.o(i.SysTick_Handler) + i.SystemCoreClockSet 0x00001f68 Section 0 system_func.o(i.SystemCoreClockSet) + i.SystemCoreClockUpdate 0x00001fbc Section 0 system_max32660.o(i.SystemCoreClockUpdate) + i.SystemInit 0x00002020 Section 0 system_max32660.o(i.SystemInit) + i.SystemTimerInitialization 0x000020b4 Section 0 system_func.o(i.SystemTimerInitialization) + SystemTimerInitialization 0x000020b5 Thumb Code 124 system_func.o(i.SystemTimerInitialization) + i.SystemTimer_GetPeriodCount 0x0000213c Section 0 system_func.o(i.SystemTimer_GetPeriodCount) + SystemTimer_GetPeriodCount 0x0000213d Thumb Code 20 system_func.o(i.SystemTimer_GetPeriodCount) + i.SystemTimer_Get_TickCount 0x00002154 Section 0 system_func.o(i.SystemTimer_Get_TickCount) + i.SystemTimer_Interrput_Handler 0x00002160 Section 0 system_func.o(i.SystemTimer_Interrput_Handler) + SystemTimer_Interrput_Handler 0x00002161 Thumb Code 20 system_func.o(i.SystemTimer_Interrput_Handler) + i.TMR_Config 0x0000217c Section 0 tmr.o(i.TMR_Config) + i.TMR_Disable 0x000021a6 Section 0 tmr.o(i.TMR_Disable) + i.TMR_Enable 0x000021b0 Section 0 tmr.o(i.TMR_Enable) + i.TMR_Init 0x000021ba Section 0 tmr.o(i.TMR_Init) + i.TMR_IntClear 0x000021e4 Section 0 tmr.o(i.TMR_IntClear) + i.Test_Process 0x000021ea Section 0 main.o(i.Test_Process) + i.UART_Busy 0x000021ec Section 0 uart.o(i.UART_Busy) + i.UART_ClearFlags 0x00002244 Section 0 uart.o(i.UART_ClearFlags) + i.UART_Handler 0x00002248 Section 0 uart.o(i.UART_Handler) + i.UART_Init 0x000022b0 Section 0 uart.o(i.UART_Init) + i.UART_NumReadAvail 0x0000238c Section 0 uart.o(i.UART_NumReadAvail) + i.UART_NumWriteAvail 0x00002396 Section 0 uart.o(i.UART_NumWriteAvail) + i.UART_ReadAsync 0x000023a4 Section 0 uart.o(i.UART_ReadAsync) + i.UART_ReadHandler 0x00002448 Section 0 uart.o(i.UART_ReadHandler) + UART_ReadHandler 0x00002449 Thumb Code 202 uart.o(i.UART_ReadHandler) + i.UART_WriteByte 0x00002518 Section 0 uart.o(i.UART_WriteByte) + i.UART_WriteHandler 0x00002528 Section 0 uart.o(i.UART_WriteHandler) + UART_WriteHandler 0x00002529 Thumb Code 130 uart.o(i.UART_WriteHandler) + i.__0vsnprintf 0x000025b0 Section 0 printfa.o(i.__0vsnprintf) + i.__aeabi_errno_addr 0x000025e4 Section 0 errno.o(i.__aeabi_errno_addr) + i.__hardfp___mathlib_tofloat 0x000025f0 Section 0 narrow.o(i.__hardfp___mathlib_tofloat) + i.__hardfp_strtof 0x000026e8 Section 0 strtof.o(i.__hardfp_strtof) + i.__mathlib_narrow 0x00002708 Section 0 narrow.o(i.__mathlib_narrow) + i.__scatterload_copy 0x0000271a Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x00002728 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x0000272a Section 14 handlers.o(i.__scatterload_zeroinit) + i.__set_errno 0x00002738 Section 0 errno.o(i.__set_errno) + i._fp_digits 0x00002744 Section 0 printfa.o(i._fp_digits) + _fp_digits 0x00002745 Thumb Code 366 printfa.o(i._fp_digits) + i._is_digit 0x000028c8 Section 0 scanf_fp.o(i._is_digit) + i._printf_core 0x000028d8 Section 0 printfa.o(i._printf_core) + _printf_core 0x000028d9 Thumb Code 1704 printfa.o(i._printf_core) + i._printf_post_padding 0x00002f8c Section 0 printfa.o(i._printf_post_padding) + _printf_post_padding 0x00002f8d Thumb Code 36 printfa.o(i._printf_post_padding) + i._printf_pre_padding 0x00002fb0 Section 0 printfa.o(i._printf_pre_padding) + _printf_pre_padding 0x00002fb1 Thumb Code 46 printfa.o(i._printf_pre_padding) + i._snputc 0x00002fde Section 0 printfa.o(i._snputc) + _snputc 0x00002fdf Thumb Code 22 printfa.o(i._snputc) + i.cliAdd 0x00002ff4 Section 0 app_cli.o(i.cliAdd) + i.cliArgsGetData 0x00003058 Section 0 app_cli.o(i.cliArgsGetData) + cliArgsGetData 0x00003059 Thumb Code 44 app_cli.o(i.cliArgsGetData) + i.cliArgsGetFloat 0x00003088 Section 0 app_cli.o(i.cliArgsGetFloat) + cliArgsGetFloat 0x00003089 Thumb Code 62 app_cli.o(i.cliArgsGetFloat) + i.cliArgsGetStr 0x000030d0 Section 0 app_cli.o(i.cliArgsGetStr) + cliArgsGetStr 0x000030d1 Thumb Code 32 app_cli.o(i.cliArgsGetStr) + i.cliArgsIsStr 0x000030f4 Section 0 app_cli.o(i.cliArgsIsStr) + cliArgsIsStr 0x000030f5 Thumb Code 50 app_cli.o(i.cliArgsIsStr) + i.cliInit 0x0000312c Section 0 app_cli.o(i.cliInit) + i.cliLineAdd 0x000031a4 Section 0 app_cli.o(i.cliLineAdd) + cliLineAdd 0x000031a5 Thumb Code 88 app_cli.o(i.cliLineAdd) + i.cliLineChange 0x000031fc Section 0 app_cli.o(i.cliLineChange) + cliLineChange 0x000031fd Thumb Code 182 app_cli.o(i.cliLineChange) + i.cliLineClean 0x000032c4 Section 0 app_cli.o(i.cliLineClean) + cliLineClean 0x000032c5 Thumb Code 24 app_cli.o(i.cliLineClean) + i.cliMain 0x000032dc Section 0 app_cli.o(i.cliMain) + i.cliMemoryDump 0x000032f8 Section 0 app_cli.o(i.cliMemoryDump) + i.cliParseArgs 0x00003418 Section 0 app_cli.o(i.cliParseArgs) + cliParseArgs 0x00003419 Thumb Code 92 app_cli.o(i.cliParseArgs) + i.cliPrintf 0x00003478 Section 0 app_cli.o(i.cliPrintf) + i.cliRunCmd 0x000034b0 Section 0 app_cli.o(i.cliRunCmd) + cliRunCmd 0x000034b1 Thumb Code 112 app_cli.o(i.cliRunCmd) + i.cliShowList 0x00003524 Section 0 app_cli.o(i.cliShowList) + i.cliShowLog 0x000035ac Section 0 app_cli.o(i.cliShowLog) + i.cliShowPrompt 0x000036c0 Section 0 app_cli.o(i.cliShowPrompt) + cliShowPrompt 0x000036c1 Thumb Code 22 app_cli.o(i.cliShowPrompt) + i.cliToUpper 0x000036e4 Section 0 app_cli.o(i.cliToUpper) + cliToUpper 0x000036e5 Thumb Code 52 app_cli.o(i.cliToUpper) + i.cliUpdate 0x00003718 Section 0 app_cli.o(i.cliUpdate) + cliUpdate 0x00003719 Thumb Code 830 app_cli.o(i.cliUpdate) + i.frexp 0x00003a88 Section 0 frexp.o(i.frexp) + i.main 0x00003b14 Section 0 main.o(i.main) + i.mxc_delay 0x00003b64 Section 0 mxc_delay.o(i.mxc_delay) + i.mxc_delay_check 0x00003be4 Section 0 mxc_delay.o(i.mxc_delay_check) + i.mxc_delay_handler 0x00003c38 Section 0 mxc_delay.o(i.mxc_delay_handler) + i.mxc_delay_init 0x00003c90 Section 0 mxc_delay.o(i.mxc_delay_init) + mxc_delay_init 0x00003c91 Thumb Code 154 mxc_delay.o(i.mxc_delay_init) + i.mxc_delay_start 0x00003d44 Section 0 mxc_delay.o(i.mxc_delay_start) + i.mxc_delay_stop 0x00003d90 Section 0 mxc_delay.o(i.mxc_delay_stop) + i.mxc_free_lock 0x00003dac Section 0 mxc_lock.o(i.mxc_free_lock) + i.mxc_get_lock 0x00003db6 Section 0 mxc_lock.o(i.mxc_get_lock) + i.uartPrintf 0x00003dd6 Section 0 app_cli.o(i.uartPrintf) + uartPrintf 0x00003dd7 Thumb Code 52 app_cli.o(i.uartPrintf) + i.uartWrite 0x00003e0a Section 0 app_cli.o(i.uartWrite) + uartWrite 0x00003e0b Thumb Code 20 app_cli.o(i.uartWrite) + .constdata 0x00003e20 Section 192 mxc_pins.o(.constdata) + .constdata 0x00003ee0 Section 129 ctype_o.o(.constdata) + .constdata 0x00003f64 Section 4 ctype_o.o(.constdata) + table 0x00003f64 Data 4 ctype_o.o(.constdata) + .conststring 0x00003f68 Section 7 app_cli.o(.conststring) + .data 0x20000000 Section 8 system_func.o(.data) + usTickCountDiv 0x20000000 Data 1 system_func.o(.data) + msTickCount 0x20000004 Data 4 system_func.o(.data) + .data 0x20000008 Section 32 app_gpio_led.o(.data) + App_Led_Ctrl_Info 0x20000008 Data 32 app_gpio_led.o(.data) + .data 0x20000028 Section 4 app_gpio_i2c.o(.data) + DelayCount 0x20000028 Data 4 app_gpio_i2c.o(.data) + .data 0x2000002c Section 8 app_uart.o(.data) + RxData 0x2000002c Data 1 app_uart.o(.data) + UartError 0x20000030 Data 4 app_uart.o(.data) + .data 0x20000034 Section 4 app_i2c0.o(.data) + .data 0x20000038 Section 4 app_cli.o(.data) + delim 0x20000038 Data 4 app_cli.o(.data) + .data 0x2000003c Section 4 system_max32660.o(.data) .data 0x20000040 Section 28 mxc_delay.o(.data) ctrl_save 0x20000040 Data 4 mxc_delay.o(.data) compare_value 0x20000048 Data 8 mxc_delay.o(.data) @@ -1415,27 +1697,30 @@ Image Symbol Table .data 0x2000005c Section 16 uart.o(.data) rx_states 0x2000005c Data 8 uart.o(.data) tx_states 0x20000064 Data 8 uart.o(.data) - .data 0x2000006c Section 4 ssd1306.o(.data) - .data 0x20000070 Section 4 stdout.o(.data) + .data 0x2000006c Section 4 strtok_r.o(.data) + state 0x2000006c Data 4 strtok_r.o(.data) + .data 0x20000070 Section 4 errno.o(.data) + _errno 0x20000070 Data 4 errno.o(.data) .bss 0x20000074 Section 160 sw_timer.o(.bss) SW_Timer_Info 0x20000074 Data 160 sw_timer.o(.bss) - .bss 0x20000114 Section 696 app_uart.o(.bss) + .bss 0x20000114 Section 1208 app_uart.o(.bss) App_Uart_Read_Req 0x20000114 Data 16 app_uart.o(.bss) - TxBuffer 0x20000124 Data 512 app_uart.o(.bss) - RxBuffer 0x20000324 Data 128 app_uart.o(.bss) - Tx_RingBuffer 0x200003a4 Data 20 app_uart.o(.bss) - Rx_RingBuffer 0x200003b8 Data 20 app_uart.o(.bss) - .bss 0x20000400 Section 284 nvic_table.o(.bss) - ramVectorTable 0x20000400 Data 284 nvic_table.o(.bss) - .bss 0x2000051c Section 512 ssd1306.o(.bss) - cacheMemLcd 0x2000051c Data 512 ssd1306.o(.bss) - STACK 0x20000720 Section 8192 startup_max32660.o(STACK) + TxBuffer 0x20000124 Data 1024 app_uart.o(.bss) + RxBuffer 0x20000524 Data 128 app_uart.o(.bss) + Tx_RingBuffer 0x200005a4 Data 20 app_uart.o(.bss) + Rx_RingBuffer 0x200005b8 Data 20 app_uart.o(.bss) + .bss 0x200005cc Section 1092 app_cli.o(.bss) + .bss 0x20000a10 Section 16 i2c.o(.bss) + states 0x20000a10 Data 16 i2c.o(.bss) + .bss 0x20000c00 Section 284 nvic_table.o(.bss) + ramVectorTable 0x20000c00 Data 284 nvic_table.o(.bss) + STACK 0x20000d20 Section 8192 startup_max32660.o(STACK) Global Symbols Symbol Name Value Ov Type Size Object(Section) - BuildAttributes$$THM_ISAv4$E$P$D$K$B$S$7EM$VFPi3$EXTD16$VFPS$VFMA$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$ROPI$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + BuildAttributes$$THM_ISAv4$E$P$D$K$B$S$7EM$VFPi3$EXTD16$VFPS$VFMA$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$IEEEJ$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE __ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE __Vectors 0x00000000 Data 0 startup_max32660.o(RESET) __isr_vector 0x00000000 Data 4 startup_max32660.o(RESET) @@ -1566,130 +1851,161 @@ Image Symbol Table __aeabi_memcpy 0x000001bf Thumb Code 36 memcpya.o(.text) __aeabi_memcpy4 0x000001bf Thumb Code 0 memcpya.o(.text) __aeabi_memcpy8 0x000001bf Thumb Code 0 memcpya.o(.text) - __aeabi_memset 0x000001e3 Thumb Code 14 memseta.o(.text) - __aeabi_memset4 0x000001e3 Thumb Code 0 memseta.o(.text) - __aeabi_memset8 0x000001e3 Thumb Code 0 memseta.o(.text) - __aeabi_memclr 0x000001f1 Thumb Code 4 memseta.o(.text) - __aeabi_memclr4 0x000001f1 Thumb Code 0 memseta.o(.text) - __aeabi_memclr8 0x000001f1 Thumb Code 0 memseta.o(.text) - _memset$wrapper 0x000001f5 Thumb Code 18 memseta.o(.text) - __scatterload 0x00000209 Thumb Code 28 init.o(.text) - __scatterload_rt2 0x00000209 Thumb Code 0 init.o(.text) - __aeabi_uidiv 0x0000022d Thumb Code 0 uidiv.o(.text) - __aeabi_uidivmod 0x0000022d Thumb Code 44 uidiv.o(.text) - __aeabi_llsl 0x00000259 Thumb Code 30 llshl.o(.text) - _ll_shift_l 0x00000259 Thumb Code 0 llshl.o(.text) - __aeabi_llsr 0x00000277 Thumb Code 32 llushr.o(.text) - _ll_ushift_r 0x00000277 Thumb Code 0 llushr.o(.text) - __main_after_scatterload 0x00000297 Thumb Code 12 system_max32660.o(i.$Sub$$__main_after_scatterload) - App_Gpio_I2C_Initialization 0x000002bd Thumb Code 68 app_gpio_i2c.o(i.App_Gpio_I2C_Initialization) - App_Gpio_I2C_Start 0x0000038d Thumb Code 60 app_gpio_i2c.o(i.App_Gpio_I2C_Start) - App_Gpio_I2C_Stop 0x000003c9 Thumb Code 62 app_gpio_i2c.o(i.App_Gpio_I2C_Stop) - App_Gpio_I2C_WriteData 0x00000407 Thumb Code 144 app_gpio_i2c.o(i.App_Gpio_I2C_WriteData) - App_Led_Initialization 0x00000499 Thumb Code 82 app_gpio_led.o(i.App_Led_Initialization) - App_Led_OutputSet 0x00000545 Thumb Code 62 app_gpio_led.o(i.App_Led_OutputSet) - App_Uart_Initialization 0x00000641 Thumb Code 198 app_uart.o(i.App_Uart_Initialization) - Board_Init 0x00000791 Thumb Code 4 system_max32660.o(i.Board_Init) - GPIO_Config 0x00000795 Thumb Code 242 gpio.o(i.GPIO_Config) - ICC_Enable 0x0000088d Thumb Code 34 icc.o(i.ICC_Enable) - LP_SetOperatingVoltage 0x000008cd Thumb Code 232 lp.o(i.LP_SetOperatingVoltage) - NVIC_SetRAM 0x00000a19 Thumb Code 22 nvic_table.o(i.NVIC_SetRAM) - NVIC_SetVector 0x00000a3d Thumb Code 56 nvic_table.o(i.NVIC_SetVector) - PreInit 0x00000a7d Thumb Code 4 system_max32660.o(i.PreInit) - RingBuffer_Dequeue 0x00000a81 Thumb Code 64 app_ring_buffer.o(i.RingBuffer_Dequeue) - RingBuffer_Enqueue 0x00000ac1 Thumb Code 66 app_ring_buffer.o(i.RingBuffer_Enqueue) - RingBuffer_GetData 0x00000b03 Thumb Code 14 app_ring_buffer.o(i.RingBuffer_GetData) - RingBuffer_Get_DataSize 0x00000b11 Thumb Code 48 app_ring_buffer.o(i.RingBuffer_Get_DataSize) - RingBuffer_Initialization 0x00000b41 Thumb Code 32 app_ring_buffer.o(i.RingBuffer_Initialization) - RingBuffer_PopData 0x00000b61 Thumb Code 40 app_ring_buffer.o(i.RingBuffer_PopData) - RingBuffer_isEmpty 0x00000b89 Thumb Code 16 app_ring_buffer.o(i.RingBuffer_isEmpty) - RingBuffer_isFull 0x00000b99 Thumb Code 34 app_ring_buffer.o(i.RingBuffer_isFull) - SSD1306_ClearScreen 0x00000bbd Thumb Code 14 ssd1306.o(i.SSD1306_ClearScreen) - SSD1306_DrawChar 0x00000bd1 Thumb Code 72 ssd1306.o(i.SSD1306_DrawChar) - SSD1306_DrawLine 0x00000c25 Thumb Code 196 ssd1306.o(i.SSD1306_DrawLine) - SSD1306_DrawPixel 0x00000ce9 Thumb Code 64 ssd1306.o(i.SSD1306_DrawPixel) - SSD1306_DrawString 0x00000d31 Thumb Code 26 ssd1306.o(i.SSD1306_DrawString) - SSD1306_Init 0x00000d4d Thumb Code 106 ssd1306.o(i.SSD1306_Init) - SSD1306_InverseScreen 0x00000dbd Thumb Code 50 ssd1306.o(i.SSD1306_InverseScreen) - SSD1306_NormalScreen 0x00000def Thumb Code 50 ssd1306.o(i.SSD1306_NormalScreen) - SSD1306_Send_Command 0x00000e21 Thumb Code 46 ssd1306.o(i.SSD1306_Send_Command) - SSD1306_Send_StartAndSLAW 0x00000e4f Thumb Code 44 ssd1306.o(i.SSD1306_Send_StartAndSLAW) - SSD1306_SetPosition 0x00000e7d Thumb Code 10 ssd1306.o(i.SSD1306_SetPosition) - SSD1306_UpdatePosition 0x00000e8d Thumb Code 56 ssd1306.o(i.SSD1306_UpdatePosition) - SSD1306_UpdateScreen 0x00000ec9 Thumb Code 86 ssd1306.o(i.SSD1306_UpdateScreen) - SW_Timer_Callback_Process 0x00000f25 Thumb Code 136 sw_timer.o(i.SW_Timer_Callback_Process) - SW_Timer_Callback_Register 0x00000fb1 Thumb Code 86 sw_timer.o(i.SW_Timer_Callback_Register) - SYS_ClockDisable 0x0000100d Thumb Code 42 mxc_sys.o(i.SYS_ClockDisable) - SYS_ClockEnable 0x00001037 Thumb Code 42 mxc_sys.o(i.SYS_ClockEnable) - SYS_Clock_Select 0x00001061 Thumb Code 556 mxc_sys.o(i.SYS_Clock_Select) - SYS_TMR_Init 0x000012c5 Thumb Code 74 mxc_sys.o(i.SYS_TMR_Init) - SYS_UART_Init 0x00001321 Thumb Code 122 mxc_sys.o(i.SYS_UART_Init) - SysTick_Handler 0x000013bd Thumb Code 8 mxc_delay.o(i.SysTick_Handler) - SystemCoreClockSet 0x000013c5 Thumb Code 80 system_func.o(i.SystemCoreClockSet) - SystemCoreClockUpdate 0x00001419 Thumb Code 80 system_max32660.o(i.SystemCoreClockUpdate) - SystemInit 0x0000147d Thumb Code 132 system_max32660.o(i.SystemInit) - SystemTimer_Get_TickCount 0x000015b1 Thumb Code 6 system_func.o(i.SystemTimer_Get_TickCount) - TMR_Config 0x000015d9 Thumb Code 42 tmr.o(i.TMR_Config) - TMR_Disable 0x00001603 Thumb Code 10 tmr.o(i.TMR_Disable) - TMR_Enable 0x0000160d Thumb Code 10 tmr.o(i.TMR_Enable) - TMR_Init 0x00001617 Thumb Code 42 tmr.o(i.TMR_Init) - TMR_IntClear 0x00001641 Thumb Code 6 tmr.o(i.TMR_IntClear) - TWI_MT_Send_Data 0x00001647 Thumb Code 22 ssd1306_i2c.o(i.TWI_MT_Send_Data) - TWI_MT_Send_SLAW 0x0000165d Thumb Code 24 ssd1306_i2c.o(i.TWI_MT_Send_SLAW) - TWI_MT_Start 0x00001675 Thumb Code 10 ssd1306_i2c.o(i.TWI_MT_Start) - TWI_Stop 0x0000167f Thumb Code 8 ssd1306_i2c.o(i.TWI_Stop) - Test_Process 0x00001689 Thumb Code 48 main.o(i.Test_Process) - UART_Busy 0x000016c9 Thumb Code 76 uart.o(i.UART_Busy) - UART_ClearFlags 0x00001721 Thumb Code 4 uart.o(i.UART_ClearFlags) - UART_Handler 0x00001725 Thumb Code 86 uart.o(i.UART_Handler) - UART_Init 0x0000178d Thumb Code 198 uart.o(i.UART_Init) - UART_NumReadAvail 0x00001869 Thumb Code 10 uart.o(i.UART_NumReadAvail) - UART_NumWriteAvail 0x00001873 Thumb Code 14 uart.o(i.UART_NumWriteAvail) - UART_ReadAsync 0x00001881 Thumb Code 150 uart.o(i.UART_ReadAsync) - UART_WriteByte 0x000019f5 Thumb Code 16 uart.o(i.UART_WriteByte) - __0printf$1 0x00001a8d Thumb Code 22 printf1.o(i.__0printf$1) - __1printf$1 0x00001a8d Thumb Code 0 printf1.o(i.__0printf$1) - __2printf 0x00001a8d Thumb Code 0 printf1.o(i.__0printf$1) - __0sprintf$1 0x00001aad Thumb Code 34 printf1.o(i.__0sprintf$1) - __1sprintf$1 0x00001aad Thumb Code 0 printf1.o(i.__0sprintf$1) - __2sprintf 0x00001aad Thumb Code 0 printf1.o(i.__0sprintf$1) - __scatterload_copy 0x00001ad5 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x00001ae3 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x00001ae5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - fputc 0x00001c55 Thumb Code 18 app_uart.o(i.fputc) - main 0x00001c6d Thumb Code 164 main.o(i.main) - mxc_delay 0x00001d51 Thumb Code 116 mxc_delay.o(i.mxc_delay) - mxc_delay_check 0x00001dd1 Thumb Code 72 mxc_delay.o(i.mxc_delay_check) - mxc_delay_handler 0x00001e25 Thumb Code 76 mxc_delay.o(i.mxc_delay_handler) - mxc_delay_start 0x00001f31 Thumb Code 72 mxc_delay.o(i.mxc_delay_start) - mxc_delay_stop 0x00001f7d Thumb Code 20 mxc_delay.o(i.mxc_delay_stop) - mxc_free_lock 0x00001f99 Thumb Code 10 mxc_lock.o(i.mxc_free_lock) - mxc_get_lock 0x00001fa3 Thumb Code 32 mxc_lock.o(i.mxc_get_lock) - gpio_cfg_tmr0 0x00001fc4 Data 12 mxc_pins.o(.constdata) - gpio_cfg_uart0rtscts 0x00001fd0 Data 12 mxc_pins.o(.constdata) - gpio_cfg_uart0a 0x00001fdc Data 12 mxc_pins.o(.constdata) - gpio_cfg_uart1rtscts 0x00001fe8 Data 12 mxc_pins.o(.constdata) - gpio_cfg_uart1a 0x00001ff4 Data 12 mxc_pins.o(.constdata) - gpio_cfg_uart1b 0x00002000 Data 12 mxc_pins.o(.constdata) - gpio_cfg_uart1c 0x0000200c Data 12 mxc_pins.o(.constdata) - gpio_cfg_i2c0 0x00002018 Data 12 mxc_pins.o(.constdata) - gpio_cfg_i2c1 0x00002024 Data 12 mxc_pins.o(.constdata) - gpio_cfg_spi17y 0x00002030 Data 12 mxc_pins.o(.constdata) - gpio_cfg_spimss1a 0x0000203c Data 12 mxc_pins.o(.constdata) - gpio_cfg_spimss1b 0x00002048 Data 12 mxc_pins.o(.constdata) - gpio_cfg_i2s1a 0x00002054 Data 12 mxc_pins.o(.constdata) - gpio_cfg_i2s1b 0x00002060 Data 12 mxc_pins.o(.constdata) - gpio_cfg_swd 0x0000206c Data 12 mxc_pins.o(.constdata) - gpio_cfg_rtc 0x00002078 Data 12 mxc_pins.o(.constdata) - FONTS 0x00002084 Data 480 ssd1306.o(.constdata) - INIT_SSD1306_ADAFRUIT 0x00002264 Data 44 ssd1306.o(.constdata) - INIT_SSD1306 0x00002290 Data 44 ssd1306.o(.constdata) - Region$$Table$$Base 0x000022bc Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x000022dc Number 0 anon$$obj.o(Region$$Table) - SystemCoreClock 0x20000038 Data 4 system_max32660.o(.data) - _counter 0x2000006c Data 4 ssd1306.o(.data) - __stdout 0x20000070 Data 4 stdout.o(.data) - __initial_sp 0x20002720 Data 0 startup_max32660.o(STACK) + strcmp 0x000001e3 Thumb Code 28 strcmp.o(.text) + strcpy 0x000001ff Thumb Code 18 strcpy.o(.text) + strtok_r 0x00000211 Thumb Code 60 strtok_r.o(.text) + _strtok$wrapper 0x0000024d Thumb Code 4 strtok_r.o(.text) + strtoul 0x00000255 Thumb Code 114 strtoul.o(.text) + __scatterload 0x000002c9 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x000002c9 Thumb Code 0 init.o(.text) + __aeabi_uidiv 0x000002ed Thumb Code 0 uidiv.o(.text) + __aeabi_uidivmod 0x000002ed Thumb Code 44 uidiv.o(.text) + __aeabi_llsl 0x00000319 Thumb Code 30 llshl.o(.text) + _ll_shift_l 0x00000319 Thumb Code 0 llshl.o(.text) + __aeabi_llsr 0x00000337 Thumb Code 32 llushr.o(.text) + _ll_ushift_r 0x00000337 Thumb Code 0 llushr.o(.text) + __rt_ctype_table 0x00000359 Thumb Code 4 ctype_o.o(.text) + isspace 0x00000361 Thumb Code 18 isspace_o.o(.text) + _strtoul 0x00000373 Thumb Code 158 _strtoul.o(.text) + __strtof_int 0x00000411 Thumb Code 26 strtof.o(.text) + __I$use$fp 0x0000042b Thumb Code 0 iusefp.o(.text) + __aeabi_dadd 0x0000042b Thumb Code 322 dadd.o(.text) + __aeabi_dsub 0x0000056d Thumb Code 6 dadd.o(.text) + __aeabi_drsub 0x00000573 Thumb Code 6 dadd.o(.text) + __aeabi_dmul 0x00000579 Thumb Code 228 dmul.o(.text) + __aeabi_ddiv 0x0000065d Thumb Code 222 ddiv.o(.text) + __aeabi_d2ulz 0x0000073b Thumb Code 48 dfixul.o(.text) + __aeabi_cdrcmple 0x0000076d Thumb Code 48 cdrcmple.o(.text) + __aeabi_lasr 0x0000079d Thumb Code 36 llsshr.o(.text) + _ll_sshift_r 0x0000079d Thumb Code 0 llsshr.o(.text) + _chval 0x000007c1 Thumb Code 28 _chval.o(.text) + __strtod_int 0x00000813 Thumb Code 90 strtod.o(.text) + _double_round 0x00000879 Thumb Code 30 depilogue.o(.text) + _double_epilogue 0x00000897 Thumb Code 156 depilogue.o(.text) + _scanf_real 0x00000a5d Thumb Code 0 scanf_fp.o(.text) + _scanf_really_real 0x00000a5d Thumb Code 556 scanf_fp.o(.text) + _sgetc 0x00000c95 Thumb Code 30 _sgetc.o(.text) + _sbackspace 0x00000cb3 Thumb Code 34 _sgetc.o(.text) + __aeabi_cdcmpeq 0x00000cd5 Thumb Code 0 cdcmple.o(.text) + __aeabi_cdcmple 0x00000cd5 Thumb Code 48 cdcmple.o(.text) + __aeabi_d2f 0x00000d05 Thumb Code 56 d2f.o(.text) + __fp_status 0x00000d3d Thumb Code 4 fpstat.o(.text) + __ieee_status 0x00000d3d Thumb Code 0 fpstat.o(.text) + _float_round 0x00000d41 Thumb Code 18 fepilogue.o(.text) + _float_epilogue 0x00000d53 Thumb Code 92 fepilogue.o(.text) + __aeabi_ul2d 0x00000daf Thumb Code 24 dfltul.o(.text) + __main_after_scatterload 0x00000dc7 Thumb Code 12 system_max32660.o(i.$Sub$$__main_after_scatterload) + App_CLI_Initialization 0x00000dd5 Thumb Code 18 app_cli.o(i.App_CLI_Initialization) + App_Gpio_I2C_Initialization 0x00000e05 Thumb Code 60 app_gpio_i2c.o(i.App_Gpio_I2C_Initialization) + App_Gpio_I2C_Stop 0x00000e8f Thumb Code 52 app_gpio_i2c.o(i.App_Gpio_I2C_Stop) + App_Led_Initialization 0x00000ec5 Thumb Code 82 app_gpio_led.o(i.App_Led_Initialization) + App_Led_OutputSet 0x00000f71 Thumb Code 62 app_gpio_led.o(i.App_Led_OutputSet) + App_Uart_Get_Recv_Data 0x0000106d Thumb Code 26 app_uart.o(i.App_Uart_Get_Recv_Data) + App_Uart_Initialization 0x0000108d Thumb Code 198 app_uart.o(i.App_Uart_Initialization) + App_Uart_Transmit 0x000011d1 Thumb Code 16 app_uart.o(i.App_Uart_Transmit) + App_Uart_Transmit_Len 0x000011e5 Thumb Code 26 app_uart.o(i.App_Uart_Transmit_Len) + Board_Init 0x000011ff Thumb Code 4 system_max32660.o(i.Board_Init) + GPIO_Config 0x00001205 Thumb Code 242 gpio.o(i.GPIO_Config) + I2C0_Master_Initialization 0x000012fd Thumb Code 92 app_i2c0.o(i.I2C0_Master_Initialization) + I2C_Init 0x00001391 Thumb Code 368 i2c.o(i.I2C_Init) + I2C_SetTimeout 0x00001529 Thumb Code 38 i2c.o(i.I2C_SetTimeout) + I2C_Shutdown 0x00001651 Thumb Code 106 i2c.o(i.I2C_Shutdown) + ICC_Enable 0x000016c9 Thumb Code 34 icc.o(i.ICC_Enable) + LP_SetOperatingVoltage 0x00001709 Thumb Code 232 lp.o(i.LP_SetOperatingVoltage) + NVIC_SetRAM 0x00001855 Thumb Code 22 nvic_table.o(i.NVIC_SetRAM) + NVIC_SetVector 0x00001879 Thumb Code 56 nvic_table.o(i.NVIC_SetVector) + PreInit 0x000018b9 Thumb Code 4 system_max32660.o(i.PreInit) + RingBuffer_Dequeue 0x000018bd Thumb Code 64 app_ring_buffer.o(i.RingBuffer_Dequeue) + RingBuffer_Enqueue 0x000018fd Thumb Code 66 app_ring_buffer.o(i.RingBuffer_Enqueue) + RingBuffer_GetData 0x0000193f Thumb Code 14 app_ring_buffer.o(i.RingBuffer_GetData) + RingBuffer_Get_DataSize 0x0000194d Thumb Code 48 app_ring_buffer.o(i.RingBuffer_Get_DataSize) + RingBuffer_Initialization 0x0000197d Thumb Code 32 app_ring_buffer.o(i.RingBuffer_Initialization) + RingBuffer_PopData 0x0000199d Thumb Code 40 app_ring_buffer.o(i.RingBuffer_PopData) + RingBuffer_isEmpty 0x000019c5 Thumb Code 16 app_ring_buffer.o(i.RingBuffer_isEmpty) + RingBuffer_isFull 0x000019d5 Thumb Code 34 app_ring_buffer.o(i.RingBuffer_isFull) + SW_Timer_Callback_Process 0x000019f9 Thumb Code 136 sw_timer.o(i.SW_Timer_Callback_Process) + SW_Timer_Callback_Register 0x00001a85 Thumb Code 86 sw_timer.o(i.SW_Timer_Callback_Register) + SYS_ClockDisable 0x00001ae1 Thumb Code 42 mxc_sys.o(i.SYS_ClockDisable) + SYS_ClockEnable 0x00001b0b Thumb Code 42 mxc_sys.o(i.SYS_ClockEnable) + SYS_Clock_Select 0x00001b35 Thumb Code 556 mxc_sys.o(i.SYS_Clock_Select) + SYS_I2C_GetFreq 0x00001d99 Thumb Code 10 mxc_sys.o(i.SYS_I2C_GetFreq) + SYS_I2C_Init 0x00001da9 Thumb Code 58 mxc_sys.o(i.SYS_I2C_Init) + SYS_I2C_Shutdown 0x00001df5 Thumb Code 100 mxc_sys.o(i.SYS_I2C_Shutdown) + SYS_TMR_Init 0x00001e69 Thumb Code 74 mxc_sys.o(i.SYS_TMR_Init) + SYS_UART_Init 0x00001ec5 Thumb Code 122 mxc_sys.o(i.SYS_UART_Init) + SysTick_Handler 0x00001f61 Thumb Code 8 mxc_delay.o(i.SysTick_Handler) + SystemCoreClockSet 0x00001f69 Thumb Code 80 system_func.o(i.SystemCoreClockSet) + SystemCoreClockUpdate 0x00001fbd Thumb Code 80 system_max32660.o(i.SystemCoreClockUpdate) + SystemInit 0x00002021 Thumb Code 132 system_max32660.o(i.SystemInit) + SystemTimer_Get_TickCount 0x00002155 Thumb Code 6 system_func.o(i.SystemTimer_Get_TickCount) + TMR_Config 0x0000217d Thumb Code 42 tmr.o(i.TMR_Config) + TMR_Disable 0x000021a7 Thumb Code 10 tmr.o(i.TMR_Disable) + TMR_Enable 0x000021b1 Thumb Code 10 tmr.o(i.TMR_Enable) + TMR_Init 0x000021bb Thumb Code 42 tmr.o(i.TMR_Init) + TMR_IntClear 0x000021e5 Thumb Code 6 tmr.o(i.TMR_IntClear) + Test_Process 0x000021eb Thumb Code 2 main.o(i.Test_Process) + UART_Busy 0x000021ed Thumb Code 76 uart.o(i.UART_Busy) + UART_ClearFlags 0x00002245 Thumb Code 4 uart.o(i.UART_ClearFlags) + UART_Handler 0x00002249 Thumb Code 86 uart.o(i.UART_Handler) + UART_Init 0x000022b1 Thumb Code 198 uart.o(i.UART_Init) + UART_NumReadAvail 0x0000238d Thumb Code 10 uart.o(i.UART_NumReadAvail) + UART_NumWriteAvail 0x00002397 Thumb Code 14 uart.o(i.UART_NumWriteAvail) + UART_ReadAsync 0x000023a5 Thumb Code 150 uart.o(i.UART_ReadAsync) + UART_WriteByte 0x00002519 Thumb Code 16 uart.o(i.UART_WriteByte) + __0vsnprintf 0x000025b1 Thumb Code 46 printfa.o(i.__0vsnprintf) + __1vsnprintf 0x000025b1 Thumb Code 0 printfa.o(i.__0vsnprintf) + __2vsnprintf 0x000025b1 Thumb Code 0 printfa.o(i.__0vsnprintf) + __c89vsnprintf 0x000025b1 Thumb Code 0 printfa.o(i.__0vsnprintf) + vsnprintf 0x000025b1 Thumb Code 0 printfa.o(i.__0vsnprintf) + __aeabi_errno_addr 0x000025e5 Thumb Code 4 errno.o(i.__aeabi_errno_addr) + __rt_errno_addr 0x000025e5 Thumb Code 0 errno.o(i.__aeabi_errno_addr) + __hardfp___mathlib_tofloat 0x000025f1 Thumb Code 232 narrow.o(i.__hardfp___mathlib_tofloat) + __hardfp_strtof 0x000026e9 Thumb Code 26 strtof.o(i.__hardfp_strtof) + __mathlib_narrow 0x00002709 Thumb Code 18 narrow.o(i.__mathlib_narrow) + __scatterload_copy 0x0000271b Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x00002729 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x0000272b Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + __set_errno 0x00002739 Thumb Code 6 errno.o(i.__set_errno) + _is_digit 0x000028c9 Thumb Code 14 scanf_fp.o(i._is_digit) + cliAdd 0x00002ff5 Thumb Code 94 app_cli.o(i.cliAdd) + cliInit 0x0000312d Thumb Code 80 app_cli.o(i.cliInit) + cliMain 0x000032dd Thumb Code 22 app_cli.o(i.cliMain) + cliMemoryDump 0x000032f9 Thumb Code 220 app_cli.o(i.cliMemoryDump) + cliPrintf 0x00003479 Thumb Code 50 app_cli.o(i.cliPrintf) + cliShowList 0x00003525 Thumb Code 62 app_cli.o(i.cliShowList) + cliShowLog 0x000035ad Thumb Code 144 app_cli.o(i.cliShowLog) + frexp 0x00003a89 Thumb Code 118 frexp.o(i.frexp) + main 0x00003b15 Thumb Code 68 main.o(i.main) + mxc_delay 0x00003b65 Thumb Code 116 mxc_delay.o(i.mxc_delay) + mxc_delay_check 0x00003be5 Thumb Code 72 mxc_delay.o(i.mxc_delay_check) + mxc_delay_handler 0x00003c39 Thumb Code 76 mxc_delay.o(i.mxc_delay_handler) + mxc_delay_start 0x00003d45 Thumb Code 72 mxc_delay.o(i.mxc_delay_start) + mxc_delay_stop 0x00003d91 Thumb Code 20 mxc_delay.o(i.mxc_delay_stop) + mxc_free_lock 0x00003dad Thumb Code 10 mxc_lock.o(i.mxc_free_lock) + mxc_get_lock 0x00003db7 Thumb Code 32 mxc_lock.o(i.mxc_get_lock) + gpio_cfg_tmr0 0x00003e20 Data 12 mxc_pins.o(.constdata) + gpio_cfg_uart0rtscts 0x00003e2c Data 12 mxc_pins.o(.constdata) + gpio_cfg_uart0a 0x00003e38 Data 12 mxc_pins.o(.constdata) + gpio_cfg_uart1rtscts 0x00003e44 Data 12 mxc_pins.o(.constdata) + gpio_cfg_uart1a 0x00003e50 Data 12 mxc_pins.o(.constdata) + gpio_cfg_uart1b 0x00003e5c Data 12 mxc_pins.o(.constdata) + gpio_cfg_uart1c 0x00003e68 Data 12 mxc_pins.o(.constdata) + gpio_cfg_i2c0 0x00003e74 Data 12 mxc_pins.o(.constdata) + gpio_cfg_i2c1 0x00003e80 Data 12 mxc_pins.o(.constdata) + gpio_cfg_spi17y 0x00003e8c Data 12 mxc_pins.o(.constdata) + gpio_cfg_spimss1a 0x00003e98 Data 12 mxc_pins.o(.constdata) + gpio_cfg_spimss1b 0x00003ea4 Data 12 mxc_pins.o(.constdata) + gpio_cfg_i2s1a 0x00003eb0 Data 12 mxc_pins.o(.constdata) + gpio_cfg_i2s1b 0x00003ebc Data 12 mxc_pins.o(.constdata) + gpio_cfg_swd 0x00003ec8 Data 12 mxc_pins.o(.constdata) + gpio_cfg_rtc 0x00003ed4 Data 12 mxc_pins.o(.constdata) + __ctype_table 0x00003ee0 Data 129 ctype_o.o(.constdata) + Region$$Table$$Base 0x00003f70 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x00003f90 Number 0 anon$$obj.o(Region$$Table) + sys_i2c_cfg 0x20000034 Data 4 app_i2c0.o(.data) + SystemCoreClock 0x2000003c Data 4 system_max32660.o(.data) + cli_node 0x200005cc Data 1092 app_cli.o(.bss) + __initial_sp 0x20002d20 Data 0 startup_max32660.o(STACK) @@ -1699,177 +2015,229 @@ Memory Map of the image Image Entry point : 0x0000011d - Load Region LR_IROM1 (Base: 0x00000000, Size: 0x00002350, Max: 0x00040000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x00000000, Size: 0x00004004, Max: 0x00040000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x000022dc, Max: 0x00040000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00003f90, Max: 0x00040000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x00000000 0x00000000 0x0000011c Data RO 768 RESET startup_max32660.o - 0x0000011c 0x0000011c 0x00000000 Code RO 3037 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x0000011c 0x0000011c 0x00000004 Code RO 3310 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x00000120 0x00000120 0x00000004 Code RO 3038 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x00000124 0x00000124 0x00000000 Code RO 3314 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x00000124 0x00000124 0x00000000 Code RO 3316 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x00000124 0x00000124 0x00000008 Code RO 3317 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x0000012c 0x0000012c 0x00000004 Code RO 3324 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) - 0x00000130 0x00000130 0x00000000 Code RO 3319 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) - 0x00000130 0x00000130 0x00000000 Code RO 3321 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) - 0x00000130 0x00000130 0x00000004 Code RO 3311 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) - 0x00000134 0x00000134 0x00000028 Code RO 769 .text startup_max32660.o - 0x0000015c 0x0000015c 0x00000062 Code RO 3041 .text mc_w.l(uldiv.o) - 0x000001be 0x000001be 0x00000024 Code RO 3043 .text mc_w.l(memcpya.o) - 0x000001e2 0x000001e2 0x00000024 Code RO 3045 .text mc_w.l(memseta.o) - 0x00000206 0x00000206 0x00000002 PAD - 0x00000208 0x00000208 0x00000024 Code RO 3325 .text mc_w.l(init.o) - 0x0000022c 0x0000022c 0x0000002c Code RO 3328 .text mc_w.l(uidiv.o) - 0x00000258 0x00000258 0x0000001e Code RO 3330 .text mc_w.l(llshl.o) - 0x00000276 0x00000276 0x00000020 Code RO 3332 .text mc_w.l(llushr.o) - 0x00000296 0x00000296 0x0000000c Code RO 701 i.$Sub$$__main_after_scatterload system_max32660.o - 0x000002a2 0x000002a2 0x00000002 PAD - 0x000002a4 0x000002a4 0x00000018 Code RO 426 i.App_Gpio_I2C_Delay app_gpio_i2c.o - 0x000002bc 0x000002bc 0x0000004c Code RO 427 i.App_Gpio_I2C_Initialization app_gpio_i2c.o - 0x00000308 0x00000308 0x00000014 Code RO 428 i.App_Gpio_I2C_Port_H app_gpio_i2c.o - 0x0000031c 0x0000031c 0x0000001c Code RO 429 i.App_Gpio_I2C_Port_Input app_gpio_i2c.o - 0x00000338 0x00000338 0x00000014 Code RO 430 i.App_Gpio_I2C_Port_L app_gpio_i2c.o - 0x0000034c 0x0000034c 0x0000001e Code RO 431 i.App_Gpio_I2C_Port_Output app_gpio_i2c.o - 0x0000036a 0x0000036a 0x00000002 PAD - 0x0000036c 0x0000036c 0x00000020 Code RO 432 i.App_Gpio_I2C_Port_Read app_gpio_i2c.o - 0x0000038c 0x0000038c 0x0000003c Code RO 435 i.App_Gpio_I2C_Start app_gpio_i2c.o - 0x000003c8 0x000003c8 0x0000003e Code RO 436 i.App_Gpio_I2C_Stop app_gpio_i2c.o - 0x00000406 0x00000406 0x00000090 Code RO 438 i.App_Gpio_I2C_WriteData app_gpio_i2c.o - 0x00000496 0x00000496 0x00000002 PAD - 0x00000498 0x00000498 0x0000005c Code RO 379 i.App_Led_Initialization app_gpio_led.o - 0x000004f4 0x000004f4 0x00000028 Code RO 380 i.App_Led_Off app_gpio_led.o - 0x0000051c 0x0000051c 0x00000028 Code RO 381 i.App_Led_On app_gpio_led.o - 0x00000544 0x00000544 0x00000044 Code RO 382 i.App_Led_OutputSet app_gpio_led.o - 0x00000588 0x00000588 0x00000080 Code RO 383 i.App_Led_Output_Process app_gpio_led.o - 0x00000608 0x00000608 0x00000038 Code RO 602 i.App_Uart_Data_Transmit_Check app_uart.o - 0x00000640 0x00000640 0x000000ec Code RO 605 i.App_Uart_Initialization app_uart.o - 0x0000072c 0x0000072c 0x00000010 Code RO 606 i.App_Uart_Interrupt_Handler app_uart.o - 0x0000073c 0x0000073c 0x0000002c Code RO 607 i.App_Uart_Read_Callback app_uart.o - 0x00000768 0x00000768 0x00000028 Code RO 608 i.App_Uart_Read_Callback_Initialization app_uart.o - 0x00000790 0x00000790 0x00000004 Code RO 702 i.Board_Init system_max32660.o - 0x00000794 0x00000794 0x000000f8 Code RO 953 i.GPIO_Config gpio.o - 0x0000088c 0x0000088c 0x00000030 Code RO 1269 i.ICC_Enable icc.o - 0x000008bc 0x000008bc 0x00000010 Code RO 1272 i.ICC_Ready icc.o - 0x000008cc 0x000008cc 0x000000f0 Code RO 1366 i.LP_SetOperatingVoltage lp.o - 0x000009bc 0x000009bc 0x00000018 Code RO 610 i.NVIC_ClearPendingIRQ app_uart.o - 0x000009d4 0x000009d4 0x00000018 Code RO 611 i.NVIC_DisableIRQ app_uart.o - 0x000009ec 0x000009ec 0x00000016 Code RO 213 i.NVIC_EnableIRQ system_func.o - 0x00000a02 0x00000a02 0x00000016 Code RO 612 i.NVIC_EnableIRQ app_uart.o - 0x00000a18 0x00000a18 0x00000024 Code RO 2020 i.NVIC_SetRAM nvic_table.o - 0x00000a3c 0x00000a3c 0x00000040 Code RO 2021 i.NVIC_SetVector nvic_table.o - 0x00000a7c 0x00000a7c 0x00000004 Code RO 703 i.PreInit system_max32660.o - 0x00000a80 0x00000a80 0x00000040 Code RO 528 i.RingBuffer_Dequeue app_ring_buffer.o - 0x00000ac0 0x00000ac0 0x00000042 Code RO 529 i.RingBuffer_Enqueue app_ring_buffer.o - 0x00000b02 0x00000b02 0x0000000e Code RO 530 i.RingBuffer_GetData app_ring_buffer.o - 0x00000b10 0x00000b10 0x00000030 Code RO 531 i.RingBuffer_Get_DataSize app_ring_buffer.o - 0x00000b40 0x00000b40 0x00000020 Code RO 532 i.RingBuffer_Initialization app_ring_buffer.o - 0x00000b60 0x00000b60 0x00000028 Code RO 533 i.RingBuffer_PopData app_ring_buffer.o - 0x00000b88 0x00000b88 0x00000010 Code RO 534 i.RingBuffer_isEmpty app_ring_buffer.o - 0x00000b98 0x00000b98 0x00000022 Code RO 535 i.RingBuffer_isFull app_ring_buffer.o - 0x00000bba 0x00000bba 0x00000002 PAD - 0x00000bbc 0x00000bbc 0x00000014 Code RO 2878 i.SSD1306_ClearScreen ssd1306.o - 0x00000bd0 0x00000bd0 0x00000054 Code RO 2879 i.SSD1306_DrawChar ssd1306.o - 0x00000c24 0x00000c24 0x000000c4 Code RO 2880 i.SSD1306_DrawLine ssd1306.o - 0x00000ce8 0x00000ce8 0x00000048 Code RO 2881 i.SSD1306_DrawPixel ssd1306.o - 0x00000d30 0x00000d30 0x0000001a Code RO 2882 i.SSD1306_DrawString ssd1306.o - 0x00000d4a 0x00000d4a 0x00000002 PAD - 0x00000d4c 0x00000d4c 0x00000070 Code RO 2883 i.SSD1306_Init ssd1306.o - 0x00000dbc 0x00000dbc 0x00000032 Code RO 2884 i.SSD1306_InverseScreen ssd1306.o - 0x00000dee 0x00000dee 0x00000032 Code RO 2885 i.SSD1306_NormalScreen ssd1306.o - 0x00000e20 0x00000e20 0x0000002e Code RO 2886 i.SSD1306_Send_Command ssd1306.o - 0x00000e4e 0x00000e4e 0x0000002c Code RO 2887 i.SSD1306_Send_StartAndSLAW ssd1306.o - 0x00000e7a 0x00000e7a 0x00000002 PAD - 0x00000e7c 0x00000e7c 0x00000010 Code RO 2888 i.SSD1306_SetPosition ssd1306.o - 0x00000e8c 0x00000e8c 0x0000003c Code RO 2889 i.SSD1306_UpdatePosition ssd1306.o - 0x00000ec8 0x00000ec8 0x0000005c Code RO 2890 i.SSD1306_UpdateScreen ssd1306.o - 0x00000f24 0x00000f24 0x0000008c Code RO 269 i.SW_Timer_Callback_Process sw_timer.o - 0x00000fb0 0x00000fb0 0x0000005c Code RO 270 i.SW_Timer_Callback_Register sw_timer.o - 0x0000100c 0x0000100c 0x0000002a Code RO 1772 i.SYS_ClockDisable mxc_sys.o - 0x00001036 0x00001036 0x0000002a Code RO 1774 i.SYS_ClockEnable mxc_sys.o - 0x00001060 0x00001060 0x00000234 Code RO 1776 i.SYS_Clock_Select mxc_sys.o - 0x00001294 0x00001294 0x0000002e Code RO 1777 i.SYS_Clock_Timeout mxc_sys.o - 0x000012c2 0x000012c2 0x00000002 PAD - 0x000012c4 0x000012c4 0x0000005c Code RO 1802 i.SYS_TMR_Init mxc_sys.o - 0x00001320 0x00001320 0x0000009c Code RO 1804 i.SYS_UART_Init mxc_sys.o - 0x000013bc 0x000013bc 0x00000008 Code RO 1667 i.SysTick_Handler mxc_delay.o - 0x000013c4 0x000013c4 0x00000054 Code RO 214 i.SystemCoreClockSet system_func.o - 0x00001418 0x00001418 0x00000064 Code RO 704 i.SystemCoreClockUpdate system_max32660.o - 0x0000147c 0x0000147c 0x00000094 Code RO 705 i.SystemInit system_max32660.o - 0x00001510 0x00001510 0x00000088 Code RO 215 i.SystemTimerInitialization system_func.o - 0x00001598 0x00001598 0x00000018 Code RO 216 i.SystemTimer_GetPeriodCount system_func.o - 0x000015b0 0x000015b0 0x0000000c Code RO 217 i.SystemTimer_Get_TickCount system_func.o - 0x000015bc 0x000015bc 0x0000001c Code RO 218 i.SystemTimer_Interrput_Handler system_func.o - 0x000015d8 0x000015d8 0x0000002a Code RO 2458 i.TMR_Config tmr.o - 0x00001602 0x00001602 0x0000000a Code RO 2459 i.TMR_Disable tmr.o - 0x0000160c 0x0000160c 0x0000000a Code RO 2460 i.TMR_Enable tmr.o - 0x00001616 0x00001616 0x0000002a Code RO 2466 i.TMR_Init tmr.o - 0x00001640 0x00001640 0x00000006 Code RO 2467 i.TMR_IntClear tmr.o - 0x00001646 0x00001646 0x00000016 Code RO 2989 i.TWI_MT_Send_Data ssd1306_i2c.o - 0x0000165c 0x0000165c 0x00000018 Code RO 2990 i.TWI_MT_Send_SLAW ssd1306_i2c.o - 0x00001674 0x00001674 0x0000000a Code RO 2991 i.TWI_MT_Start ssd1306_i2c.o - 0x0000167e 0x0000167e 0x00000008 Code RO 2992 i.TWI_Stop ssd1306_i2c.o - 0x00001686 0x00001686 0x00000002 PAD - 0x00001688 0x00001688 0x00000040 Code RO 3 i.Test_Process main.o - 0x000016c8 0x000016c8 0x00000058 Code RO 2643 i.UART_Busy uart.o - 0x00001720 0x00001720 0x00000004 Code RO 2644 i.UART_ClearFlags uart.o - 0x00001724 0x00001724 0x00000068 Code RO 2650 i.UART_Handler uart.o - 0x0000178c 0x0000178c 0x000000dc Code RO 2651 i.UART_Init uart.o - 0x00001868 0x00001868 0x0000000a Code RO 2652 i.UART_NumReadAvail uart.o - 0x00001872 0x00001872 0x0000000e Code RO 2653 i.UART_NumWriteAvail uart.o - 0x00001880 0x00001880 0x000000a4 Code RO 2656 i.UART_ReadAsync uart.o - 0x00001924 0x00001924 0x000000d0 Code RO 2658 i.UART_ReadHandler uart.o - 0x000019f4 0x000019f4 0x00000010 Code RO 2662 i.UART_WriteByte uart.o - 0x00001a04 0x00001a04 0x00000088 Code RO 2663 i.UART_WriteHandler uart.o - 0x00001a8c 0x00001a8c 0x00000020 Code RO 3094 i.__0printf$1 mc_w.l(printf1.o) - 0x00001aac 0x00001aac 0x00000028 Code RO 3096 i.__0sprintf$1 mc_w.l(printf1.o) - 0x00001ad4 0x00001ad4 0x0000000e Code RO 3351 i.__scatterload_copy mc_w.l(handlers.o) - 0x00001ae2 0x00001ae2 0x00000002 Code RO 3352 i.__scatterload_null mc_w.l(handlers.o) - 0x00001ae4 0x00001ae4 0x0000000e Code RO 3353 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x00001af2 0x00001af2 0x00000002 PAD - 0x00001af4 0x00001af4 0x00000154 Code RO 3101 i._printf_core mc_w.l(printf1.o) - 0x00001c48 0x00001c48 0x0000000a Code RO 3103 i._sputc mc_w.l(printf1.o) - 0x00001c52 0x00001c52 0x00000002 PAD - 0x00001c54 0x00001c54 0x00000018 Code RO 613 i.fputc app_uart.o - 0x00001c6c 0x00001c6c 0x000000e4 Code RO 4 i.main main.o - 0x00001d50 0x00001d50 0x00000080 Code RO 1668 i.mxc_delay mxc_delay.o - 0x00001dd0 0x00001dd0 0x00000054 Code RO 1669 i.mxc_delay_check mxc_delay.o - 0x00001e24 0x00001e24 0x00000058 Code RO 1670 i.mxc_delay_handler mxc_delay.o - 0x00001e7c 0x00001e7c 0x000000b4 Code RO 1671 i.mxc_delay_init mxc_delay.o - 0x00001f30 0x00001f30 0x0000004c Code RO 1672 i.mxc_delay_start mxc_delay.o - 0x00001f7c 0x00001f7c 0x0000001c Code RO 1673 i.mxc_delay_stop mxc_delay.o - 0x00001f98 0x00001f98 0x0000000a Code RO 1724 i.mxc_free_lock mxc_lock.o - 0x00001fa2 0x00001fa2 0x00000020 Code RO 1725 i.mxc_get_lock mxc_lock.o - 0x00001fc2 0x00001fc2 0x00000002 PAD - 0x00001fc4 0x00001fc4 0x000000c0 Data RO 1750 .constdata mxc_pins.o - 0x00002084 0x00002084 0x00000238 Data RO 2892 .constdata ssd1306.o - 0x000022bc 0x000022bc 0x00000020 Data RO 3349 Region$$Table anon$$obj.o + 0x00000000 0x00000000 0x0000011c Data RO 1007 RESET startup_max32660.o + 0x0000011c 0x0000011c 0x00000000 Code RO 3328 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x0000011c 0x0000011c 0x00000004 Code RO 3611 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x00000120 0x00000120 0x00000004 Code RO 3329 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x00000124 0x00000124 0x00000000 Code RO 3615 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x00000124 0x00000124 0x00000000 Code RO 3617 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x00000124 0x00000124 0x00000008 Code RO 3618 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x0000012c 0x0000012c 0x00000004 Code RO 3625 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) + 0x00000130 0x00000130 0x00000000 Code RO 3620 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) + 0x00000130 0x00000130 0x00000000 Code RO 3622 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) + 0x00000130 0x00000130 0x00000004 Code RO 3612 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x00000134 0x00000134 0x00000028 Code RO 1008 .text startup_max32660.o + 0x0000015c 0x0000015c 0x00000062 Code RO 3333 .text mc_w.l(uldiv.o) + 0x000001be 0x000001be 0x00000024 Code RO 3335 .text mc_w.l(memcpya.o) + 0x000001e2 0x000001e2 0x0000001c Code RO 3339 .text mc_w.l(strcmp.o) + 0x000001fe 0x000001fe 0x00000012 Code RO 3341 .text mc_w.l(strcpy.o) + 0x00000210 0x00000210 0x00000044 Code RO 3343 .text mc_w.l(strtok_r.o) + 0x00000254 0x00000254 0x00000072 Code RO 3609 .text mc_w.l(strtoul.o) + 0x000002c6 0x000002c6 0x00000002 PAD + 0x000002c8 0x000002c8 0x00000024 Code RO 3626 .text mc_w.l(init.o) + 0x000002ec 0x000002ec 0x0000002c Code RO 3629 .text mc_w.l(uidiv.o) + 0x00000318 0x00000318 0x0000001e Code RO 3631 .text mc_w.l(llshl.o) + 0x00000336 0x00000336 0x00000020 Code RO 3633 .text mc_w.l(llushr.o) + 0x00000356 0x00000356 0x00000002 PAD + 0x00000358 0x00000358 0x00000008 Code RO 3635 .text mc_w.l(ctype_o.o) + 0x00000360 0x00000360 0x00000012 Code RO 3657 .text mc_w.l(isspace_o.o) + 0x00000372 0x00000372 0x0000009e Code RO 3670 .text mc_w.l(_strtoul.o) + 0x00000410 0x00000410 0x0000001a Code RO 3672 .text mc_w.l(strtof.o) + 0x0000042a 0x0000042a 0x00000000 Code RO 3674 .text mc_w.l(iusefp.o) + 0x0000042a 0x0000042a 0x0000014e Code RO 3675 .text mf_w.l(dadd.o) + 0x00000578 0x00000578 0x000000e4 Code RO 3677 .text mf_w.l(dmul.o) + 0x0000065c 0x0000065c 0x000000de Code RO 3679 .text mf_w.l(ddiv.o) + 0x0000073a 0x0000073a 0x00000030 Code RO 3681 .text mf_w.l(dfixul.o) + 0x0000076a 0x0000076a 0x00000002 PAD + 0x0000076c 0x0000076c 0x00000030 Code RO 3683 .text mf_w.l(cdrcmple.o) + 0x0000079c 0x0000079c 0x00000024 Code RO 3693 .text mc_w.l(llsshr.o) + 0x000007c0 0x000007c0 0x0000001c Code RO 3695 .text mc_w.l(_chval.o) + 0x000007dc 0x000007dc 0x0000009c Code RO 3697 .text mc_w.l(strtod.o) + 0x00000878 0x00000878 0x000000ba Code RO 3699 .text mf_w.l(depilogue.o) + 0x00000932 0x00000932 0x00000002 PAD + 0x00000934 0x00000934 0x00000360 Code RO 3709 .text mc_w.l(scanf_fp.o) + 0x00000c94 0x00000c94 0x00000040 Code RO 3713 .text mc_w.l(_sgetc.o) + 0x00000cd4 0x00000cd4 0x00000030 Code RO 3715 .text mf_w.l(cdcmple.o) + 0x00000d04 0x00000d04 0x00000038 Code RO 3717 .text mf_w.l(d2f.o) + 0x00000d3c 0x00000d3c 0x00000004 Code RO 3719 .text mf_w.l(fpstat.o) + 0x00000d40 0x00000d40 0x0000006e Code RO 3724 .text mf_w.l(fepilogue.o) + 0x00000dae 0x00000dae 0x00000018 Code RO 3726 .text mf_w.l(dfltul.o) + 0x00000dc6 0x00000dc6 0x0000000c Code RO 940 i.$Sub$$__main_after_scatterload system_max32660.o + 0x00000dd2 0x00000dd2 0x00000002 PAD + 0x00000dd4 0x00000dd4 0x00000018 Code RO 776 i.App_CLI_Initialization app_cli.o + 0x00000dec 0x00000dec 0x00000018 Code RO 421 i.App_Gpio_I2C_Delay app_gpio_i2c.o + 0x00000e04 0x00000e04 0x00000044 Code RO 422 i.App_Gpio_I2C_Initialization app_gpio_i2c.o + 0x00000e48 0x00000e48 0x00000014 Code RO 423 i.App_Gpio_I2C_Port_H app_gpio_i2c.o + 0x00000e5c 0x00000e5c 0x00000014 Code RO 425 i.App_Gpio_I2C_Port_L app_gpio_i2c.o + 0x00000e70 0x00000e70 0x0000001e Code RO 426 i.App_Gpio_I2C_Port_Output app_gpio_i2c.o + 0x00000e8e 0x00000e8e 0x00000034 Code RO 431 i.App_Gpio_I2C_Stop app_gpio_i2c.o + 0x00000ec2 0x00000ec2 0x00000002 PAD + 0x00000ec4 0x00000ec4 0x0000005c Code RO 378 i.App_Led_Initialization app_gpio_led.o + 0x00000f20 0x00000f20 0x00000028 Code RO 379 i.App_Led_Off app_gpio_led.o + 0x00000f48 0x00000f48 0x00000028 Code RO 380 i.App_Led_On app_gpio_led.o + 0x00000f70 0x00000f70 0x00000044 Code RO 381 i.App_Led_OutputSet app_gpio_led.o + 0x00000fb4 0x00000fb4 0x00000080 Code RO 382 i.App_Led_Output_Process app_gpio_led.o + 0x00001034 0x00001034 0x00000038 Code RO 589 i.App_Uart_Data_Transmit_Check app_uart.o + 0x0000106c 0x0000106c 0x00000020 Code RO 591 i.App_Uart_Get_Recv_Data app_uart.o + 0x0000108c 0x0000108c 0x000000ec Code RO 592 i.App_Uart_Initialization app_uart.o + 0x00001178 0x00001178 0x00000010 Code RO 593 i.App_Uart_Interrupt_Handler app_uart.o + 0x00001188 0x00001188 0x00000020 Code RO 595 i.App_Uart_Read_Callback app_uart.o + 0x000011a8 0x000011a8 0x00000028 Code RO 596 i.App_Uart_Read_Callback_Initialization app_uart.o + 0x000011d0 0x000011d0 0x00000014 Code RO 597 i.App_Uart_Transmit app_uart.o + 0x000011e4 0x000011e4 0x0000001a Code RO 598 i.App_Uart_Transmit_Len app_uart.o + 0x000011fe 0x000011fe 0x00000004 Code RO 941 i.Board_Init system_max32660.o + 0x00001202 0x00001202 0x00000002 PAD + 0x00001204 0x00001204 0x000000f8 Code RO 1192 i.GPIO_Config gpio.o + 0x000012fc 0x000012fc 0x0000006c Code RO 696 i.I2C0_Master_Initialization app_i2c0.o + 0x00001368 0x00001368 0x00000028 Code RO 1302 i.I2C_FreeCallback i2c.o + 0x00001390 0x00001390 0x00000180 Code RO 1304 i.I2C_Init i2c.o + 0x00001510 0x00001510 0x00000018 Code RO 1309 i.I2C_Recover i2c.o + 0x00001528 0x00001528 0x00000030 Code RO 1310 i.I2C_SetTimeout i2c.o + 0x00001558 0x00001558 0x000000f8 Code RO 1311 i.I2C_Setspeed i2c.o + 0x00001650 0x00001650 0x00000078 Code RO 1312 i.I2C_Shutdown i2c.o + 0x000016c8 0x000016c8 0x00000030 Code RO 1508 i.ICC_Enable icc.o + 0x000016f8 0x000016f8 0x00000010 Code RO 1511 i.ICC_Ready icc.o + 0x00001708 0x00001708 0x000000f0 Code RO 1605 i.LP_SetOperatingVoltage lp.o + 0x000017f8 0x000017f8 0x00000018 Code RO 599 i.NVIC_ClearPendingIRQ app_uart.o + 0x00001810 0x00001810 0x00000018 Code RO 600 i.NVIC_DisableIRQ app_uart.o + 0x00001828 0x00001828 0x00000016 Code RO 220 i.NVIC_EnableIRQ system_func.o + 0x0000183e 0x0000183e 0x00000016 Code RO 601 i.NVIC_EnableIRQ app_uart.o + 0x00001854 0x00001854 0x00000024 Code RO 2259 i.NVIC_SetRAM nvic_table.o + 0x00001878 0x00001878 0x00000040 Code RO 2260 i.NVIC_SetVector nvic_table.o + 0x000018b8 0x000018b8 0x00000004 Code RO 942 i.PreInit system_max32660.o + 0x000018bc 0x000018bc 0x00000040 Code RO 519 i.RingBuffer_Dequeue app_ring_buffer.o + 0x000018fc 0x000018fc 0x00000042 Code RO 520 i.RingBuffer_Enqueue app_ring_buffer.o + 0x0000193e 0x0000193e 0x0000000e Code RO 521 i.RingBuffer_GetData app_ring_buffer.o + 0x0000194c 0x0000194c 0x00000030 Code RO 522 i.RingBuffer_Get_DataSize app_ring_buffer.o + 0x0000197c 0x0000197c 0x00000020 Code RO 523 i.RingBuffer_Initialization app_ring_buffer.o + 0x0000199c 0x0000199c 0x00000028 Code RO 524 i.RingBuffer_PopData app_ring_buffer.o + 0x000019c4 0x000019c4 0x00000010 Code RO 525 i.RingBuffer_isEmpty app_ring_buffer.o + 0x000019d4 0x000019d4 0x00000022 Code RO 526 i.RingBuffer_isFull app_ring_buffer.o + 0x000019f6 0x000019f6 0x00000002 PAD + 0x000019f8 0x000019f8 0x0000008c Code RO 272 i.SW_Timer_Callback_Process sw_timer.o + 0x00001a84 0x00001a84 0x0000005c Code RO 273 i.SW_Timer_Callback_Register sw_timer.o + 0x00001ae0 0x00001ae0 0x0000002a Code RO 2011 i.SYS_ClockDisable mxc_sys.o + 0x00001b0a 0x00001b0a 0x0000002a Code RO 2013 i.SYS_ClockEnable mxc_sys.o + 0x00001b34 0x00001b34 0x00000234 Code RO 2015 i.SYS_Clock_Select mxc_sys.o + 0x00001d68 0x00001d68 0x0000002e Code RO 2016 i.SYS_Clock_Timeout mxc_sys.o + 0x00001d96 0x00001d96 0x00000002 PAD + 0x00001d98 0x00001d98 0x00000010 Code RO 2022 i.SYS_I2C_GetFreq mxc_sys.o + 0x00001da8 0x00001da8 0x0000004c Code RO 2023 i.SYS_I2C_Init mxc_sys.o + 0x00001df4 0x00001df4 0x00000074 Code RO 2024 i.SYS_I2C_Shutdown mxc_sys.o + 0x00001e68 0x00001e68 0x0000005c Code RO 2041 i.SYS_TMR_Init mxc_sys.o + 0x00001ec4 0x00001ec4 0x0000009c Code RO 2043 i.SYS_UART_Init mxc_sys.o + 0x00001f60 0x00001f60 0x00000008 Code RO 1906 i.SysTick_Handler mxc_delay.o + 0x00001f68 0x00001f68 0x00000054 Code RO 221 i.SystemCoreClockSet system_func.o + 0x00001fbc 0x00001fbc 0x00000064 Code RO 943 i.SystemCoreClockUpdate system_max32660.o + 0x00002020 0x00002020 0x00000094 Code RO 944 i.SystemInit system_max32660.o + 0x000020b4 0x000020b4 0x00000088 Code RO 222 i.SystemTimerInitialization system_func.o + 0x0000213c 0x0000213c 0x00000018 Code RO 223 i.SystemTimer_GetPeriodCount system_func.o + 0x00002154 0x00002154 0x0000000c Code RO 224 i.SystemTimer_Get_TickCount system_func.o + 0x00002160 0x00002160 0x0000001c Code RO 225 i.SystemTimer_Interrput_Handler system_func.o + 0x0000217c 0x0000217c 0x0000002a Code RO 2697 i.TMR_Config tmr.o + 0x000021a6 0x000021a6 0x0000000a Code RO 2698 i.TMR_Disable tmr.o + 0x000021b0 0x000021b0 0x0000000a Code RO 2699 i.TMR_Enable tmr.o + 0x000021ba 0x000021ba 0x0000002a Code RO 2705 i.TMR_Init tmr.o + 0x000021e4 0x000021e4 0x00000006 Code RO 2706 i.TMR_IntClear tmr.o + 0x000021ea 0x000021ea 0x00000002 Code RO 3 i.Test_Process main.o + 0x000021ec 0x000021ec 0x00000058 Code RO 2882 i.UART_Busy uart.o + 0x00002244 0x00002244 0x00000004 Code RO 2883 i.UART_ClearFlags uart.o + 0x00002248 0x00002248 0x00000068 Code RO 2889 i.UART_Handler uart.o + 0x000022b0 0x000022b0 0x000000dc Code RO 2890 i.UART_Init uart.o + 0x0000238c 0x0000238c 0x0000000a Code RO 2891 i.UART_NumReadAvail uart.o + 0x00002396 0x00002396 0x0000000e Code RO 2892 i.UART_NumWriteAvail uart.o + 0x000023a4 0x000023a4 0x000000a4 Code RO 2895 i.UART_ReadAsync uart.o + 0x00002448 0x00002448 0x000000d0 Code RO 2897 i.UART_ReadHandler uart.o + 0x00002518 0x00002518 0x00000010 Code RO 2901 i.UART_WriteByte uart.o + 0x00002528 0x00002528 0x00000088 Code RO 2902 i.UART_WriteHandler uart.o + 0x000025b0 0x000025b0 0x00000034 Code RO 3586 i.__0vsnprintf mc_w.l(printfa.o) + 0x000025e4 0x000025e4 0x00000008 Code RO 3663 i.__aeabi_errno_addr mc_w.l(errno.o) + 0x000025ec 0x000025ec 0x00000004 PAD + 0x000025f0 0x000025f0 0x000000f8 Code RO 3685 i.__hardfp___mathlib_tofloat m_wm.l(narrow.o) + 0x000026e8 0x000026e8 0x00000020 Code RO 3322 i.__hardfp_strtof m_wm.l(strtof.o) + 0x00002708 0x00002708 0x00000012 Code RO 3686 i.__mathlib_narrow m_wm.l(narrow.o) + 0x0000271a 0x0000271a 0x0000000e Code RO 3730 i.__scatterload_copy mc_w.l(handlers.o) + 0x00002728 0x00002728 0x00000002 Code RO 3731 i.__scatterload_null mc_w.l(handlers.o) + 0x0000272a 0x0000272a 0x0000000e Code RO 3732 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x00002738 0x00002738 0x0000000c Code RO 3665 i.__set_errno mc_w.l(errno.o) + 0x00002744 0x00002744 0x00000184 Code RO 3588 i._fp_digits mc_w.l(printfa.o) + 0x000028c8 0x000028c8 0x0000000e Code RO 3711 i._is_digit mc_w.l(scanf_fp.o) + 0x000028d6 0x000028d6 0x00000002 PAD + 0x000028d8 0x000028d8 0x000006b4 Code RO 3589 i._printf_core mc_w.l(printfa.o) + 0x00002f8c 0x00002f8c 0x00000024 Code RO 3590 i._printf_post_padding mc_w.l(printfa.o) + 0x00002fb0 0x00002fb0 0x0000002e Code RO 3591 i._printf_pre_padding mc_w.l(printfa.o) + 0x00002fde 0x00002fde 0x00000016 Code RO 3592 i._snputc mc_w.l(printfa.o) + 0x00002ff4 0x00002ff4 0x00000064 Code RO 777 i.cliAdd app_cli.o + 0x00003058 0x00003058 0x00000030 Code RO 778 i.cliArgsGetData app_cli.o + 0x00003088 0x00003088 0x00000048 Code RO 779 i.cliArgsGetFloat app_cli.o + 0x000030d0 0x000030d0 0x00000024 Code RO 780 i.cliArgsGetStr app_cli.o + 0x000030f4 0x000030f4 0x00000038 Code RO 781 i.cliArgsIsStr app_cli.o + 0x0000312c 0x0000312c 0x00000078 Code RO 783 i.cliInit app_cli.o + 0x000031a4 0x000031a4 0x00000058 Code RO 785 i.cliLineAdd app_cli.o + 0x000031fc 0x000031fc 0x000000c8 Code RO 786 i.cliLineChange app_cli.o + 0x000032c4 0x000032c4 0x00000018 Code RO 787 i.cliLineClean app_cli.o + 0x000032dc 0x000032dc 0x0000001c Code RO 788 i.cliMain app_cli.o + 0x000032f8 0x000032f8 0x00000120 Code RO 789 i.cliMemoryDump app_cli.o + 0x00003418 0x00003418 0x00000060 Code RO 790 i.cliParseArgs app_cli.o + 0x00003478 0x00003478 0x00000038 Code RO 791 i.cliPrintf app_cli.o + 0x000034b0 0x000034b0 0x00000074 Code RO 793 i.cliRunCmd app_cli.o + 0x00003524 0x00003524 0x00000088 Code RO 794 i.cliShowList app_cli.o + 0x000035ac 0x000035ac 0x00000114 Code RO 795 i.cliShowLog app_cli.o + 0x000036c0 0x000036c0 0x00000024 Code RO 796 i.cliShowPrompt app_cli.o + 0x000036e4 0x000036e4 0x00000034 Code RO 797 i.cliToUpper app_cli.o + 0x00003718 0x00003718 0x0000036c Code RO 798 i.cliUpdate app_cli.o + 0x00003a84 0x00003a84 0x00000004 PAD + 0x00003a88 0x00003a88 0x0000008c Code RO 3703 i.frexp m_wm.l(frexp.o) + 0x00003b14 0x00003b14 0x00000050 Code RO 4 i.main main.o + 0x00003b64 0x00003b64 0x00000080 Code RO 1907 i.mxc_delay mxc_delay.o + 0x00003be4 0x00003be4 0x00000054 Code RO 1908 i.mxc_delay_check mxc_delay.o + 0x00003c38 0x00003c38 0x00000058 Code RO 1909 i.mxc_delay_handler mxc_delay.o + 0x00003c90 0x00003c90 0x000000b4 Code RO 1910 i.mxc_delay_init mxc_delay.o + 0x00003d44 0x00003d44 0x0000004c Code RO 1911 i.mxc_delay_start mxc_delay.o + 0x00003d90 0x00003d90 0x0000001c Code RO 1912 i.mxc_delay_stop mxc_delay.o + 0x00003dac 0x00003dac 0x0000000a Code RO 1963 i.mxc_free_lock mxc_lock.o + 0x00003db6 0x00003db6 0x00000020 Code RO 1964 i.mxc_get_lock mxc_lock.o + 0x00003dd6 0x00003dd6 0x00000034 Code RO 800 i.uartPrintf app_cli.o + 0x00003e0a 0x00003e0a 0x00000014 Code RO 801 i.uartWrite app_cli.o + 0x00003e1e 0x00003e1e 0x00000002 PAD + 0x00003e20 0x00003e20 0x000000c0 Data RO 1989 .constdata mxc_pins.o + 0x00003ee0 0x00003ee0 0x00000081 Data RO 3636 .constdata mc_w.l(ctype_o.o) + 0x00003f61 0x00003f61 0x00000003 PAD + 0x00003f64 0x00003f64 0x00000004 Data RO 3637 .constdata mc_w.l(ctype_o.o) + 0x00003f68 0x00003f68 0x00000007 Data RO 803 .conststring app_cli.o + 0x00003f6f 0x00003f6f 0x00000001 PAD + 0x00003f70 0x00003f70 0x00000020 Data RO 3728 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x000022dc, Size: 0x00002720, Max: 0x00018000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x00003f90, Size: 0x00002d20, Max: 0x00018000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x000022dc 0x00000004 Data RW 5 .data main.o - 0x20000004 0x000022e0 0x00000008 Data RW 219 .data system_func.o - 0x2000000c 0x000022e8 0x00000020 Data RW 384 .data app_gpio_led.o - 0x2000002c 0x00002308 0x00000004 Data RW 439 .data app_gpio_i2c.o - 0x20000030 0x0000230c 0x00000008 Data RW 616 .data app_uart.o - 0x20000038 0x00002314 0x00000004 Data RW 706 .data system_max32660.o - 0x2000003c 0x00002318 0x00000004 PAD - 0x20000040 0x0000231c 0x0000001c Data RW 1674 .data mxc_delay.o - 0x2000005c 0x00002338 0x00000010 Data RW 2666 .data uart.o - 0x2000006c 0x00002348 0x00000004 Data RW 2893 .data ssd1306.o - 0x20000070 0x0000234c 0x00000004 Data RW 3327 .data mc_w.l(stdout.o) - 0x20000074 - 0x000000a0 Zero RW 272 .bss sw_timer.o - 0x20000114 - 0x000002b8 Zero RW 615 .bss app_uart.o - 0x200003cc 0x00002350 0x00000034 PAD - 0x20000400 - 0x0000011c Zero RW 2022 .bss nvic_table.o - 0x2000051c - 0x00000200 Zero RW 2891 .bss ssd1306.o - 0x2000071c 0x00002350 0x00000004 PAD - 0x20000720 - 0x00002000 Zero RW 766 STACK startup_max32660.o + 0x20000000 0x00003f90 0x00000008 Data RW 226 .data system_func.o + 0x20000008 0x00003f98 0x00000020 Data RW 383 .data app_gpio_led.o + 0x20000028 0x00003fb8 0x00000004 Data RW 434 .data app_gpio_i2c.o + 0x2000002c 0x00003fbc 0x00000008 Data RW 605 .data app_uart.o + 0x20000034 0x00003fc4 0x00000004 Data RW 697 .data app_i2c0.o + 0x20000038 0x00003fc8 0x00000004 Data RW 804 .data app_cli.o + 0x2000003c 0x00003fcc 0x00000004 Data RW 945 .data system_max32660.o + 0x20000040 0x00003fd0 0x0000001c Data RW 1913 .data mxc_delay.o + 0x2000005c 0x00003fec 0x00000010 Data RW 2905 .data uart.o + 0x2000006c 0x00003ffc 0x00000004 Data RW 3344 .data mc_w.l(strtok_r.o) + 0x20000070 0x00004000 0x00000004 Data RW 3666 .data mc_w.l(errno.o) + 0x20000074 - 0x000000a0 Zero RW 275 .bss sw_timer.o + 0x20000114 - 0x000004b8 Zero RW 604 .bss app_uart.o + 0x200005cc - 0x00000444 Zero RW 802 .bss app_cli.o + 0x20000a10 - 0x00000010 Zero RW 1316 .bss i2c.o + 0x20000a20 0x00004004 0x000001e0 PAD + 0x20000c00 - 0x0000011c Zero RW 2261 .bss nvic_table.o + 0x20000d1c 0x00004004 0x00000004 PAD + 0x20000d20 - 0x00002000 Zero RW 1005 STACK startup_max32660.o ============================================================================== @@ -1879,37 +2247,45 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 496 32 0 4 0 7196 app_gpio_i2c.o - 368 40 0 32 0 3913 app_gpio_led.o - 314 0 0 0 0 6259 app_ring_buffer.o - 486 100 0 8 696 33833 app_uart.o + 2800 448 7 4 1092 16772 app_cli.o + 214 26 0 4 0 4650 app_gpio_i2c.o + 368 40 0 32 0 3881 app_gpio_led.o + 108 16 0 4 0 1155 app_i2c0.o + 314 0 0 0 0 6223 app_ring_buffer.o + 528 102 0 8 1208 33854 app_uart.o 248 12 0 0 0 1366 gpio.o + 864 58 0 0 16 6231 i2c.o 64 20 0 0 0 961 icc.o 240 8 0 0 0 689 lp.o - 292 80 0 4 0 142570 main.o + 82 12 0 0 0 144550 main.o 592 74 0 28 0 4935 mxc_delay.o 42 0 0 0 0 1675 mxc_lock.o 0 0 192 0 0 1422 mxc_pins.o - 942 60 0 0 0 8975 mxc_sys.o + 1150 100 0 0 0 10979 mxc_sys.o 100 22 0 0 284 2102 nvic_table.o - 868 48 568 4 512 10728 ssd1306.o - 64 0 0 0 0 2424 ssd1306_i2c.o 40 8 284 0 8192 812 startup_max32660.o - 232 10 0 0 160 3061 sw_timer.o - 306 34 0 8 0 30424 system_func.o + 232 10 0 0 160 3025 sw_timer.o + 306 34 0 8 0 30392 system_func.o 268 36 0 4 0 2987 system_max32660.o 110 0 0 0 0 3366 tmr.o 964 78 0 16 0 8552 uart.o ---------------------------------------------------------------------- - 7054 662 1076 112 9900 278250 Object Totals + 9650 1108 516 108 11436 290579 Object Totals 0 0 32 0 0 0 (incl. Generated) - 18 0 0 4 56 0 (incl. Padding) + 16 4 1 0 484 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + 140 22 0 0 0 132 frexp.o + 266 16 0 0 0 308 narrow.o + 32 6 0 0 0 124 strtof.o + 28 0 0 0 0 68 _chval.o + 64 0 0 0 0 84 _sgetc.o + 158 0 0 0 0 92 _strtoul.o + 8 4 133 0 0 68 ctype_o.o 0 0 0 0 0 0 entry.o 0 0 0 0 0 0 entry10a.o 0 0 0 0 0 0 entry11a.o @@ -1919,29 +2295,51 @@ Image component sizes 0 0 0 0 0 0 entry7b.o 0 0 0 0 0 0 entry8b.o 8 4 0 0 0 0 entry9a.o + 20 10 0 4 0 136 errno.o 30 0 0 0 0 0 handlers.o 36 8 0 0 0 68 init.o + 18 0 0 0 0 76 isspace_o.o + 0 0 0 0 0 0 iusefp.o 30 0 0 0 0 68 llshl.o + 36 0 0 0 0 68 llsshr.o 32 0 0 0 0 68 llushr.o 36 0 0 0 0 68 memcpya.o - 36 0 0 0 0 108 memseta.o - 422 20 0 0 0 336 printf1.o - 0 0 0 4 0 0 stdout.o + 2260 86 0 0 0 528 printfa.o + 878 12 0 0 0 216 scanf_fp.o + 28 0 0 0 0 76 strcmp.o + 18 0 0 0 0 68 strcpy.o + 156 12 0 0 0 120 strtod.o + 26 0 0 0 0 80 strtof.o + 68 4 0 4 0 96 strtok_r.o + 114 0 0 0 0 92 strtoul.o 44 0 0 0 0 80 uidiv.o 98 0 0 0 0 92 uldiv.o + 48 0 0 0 0 68 cdcmple.o + 48 0 0 0 0 68 cdrcmple.o + 56 0 0 0 0 88 d2f.o + 334 0 0 0 0 148 dadd.o + 222 0 0 0 0 100 ddiv.o + 186 0 0 0 0 176 depilogue.o + 48 0 0 0 0 68 dfixul.o + 24 0 0 0 0 76 dfltul.o + 228 0 0 0 0 96 dmul.o + 110 0 0 0 0 168 fepilogue.o + 4 0 0 0 0 68 fpstat.o ---------------------------------------------------------------------- - 794 36 0 4 0 888 Library Totals - 6 0 0 0 0 0 (incl. Padding) + 5970 192 136 8 0 4000 Library Totals + 14 4 3 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 788 36 0 4 0 888 mc_w.l + 438 44 0 0 0 564 m_wm.l + 4210 144 133 8 0 2312 mc_w.l + 1308 0 0 0 0 1124 mf_w.l ---------------------------------------------------------------------- - 794 36 0 4 0 888 Library Totals + 5970 192 136 8 0 4000 Library Totals ---------------------------------------------------------------------- @@ -1950,15 +2348,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 7848 698 1076 116 9900 269426 Grand Totals - 7848 698 1076 116 9900 269426 ELF Image Totals - 7848 698 1076 116 0 0 ROM Totals + 15620 1300 652 116 11436 281863 Grand Totals + 15620 1300 652 116 11436 281863 ELF Image Totals + 15620 1300 652 116 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 8924 ( 8.71kB) - Total RW Size (RW Data + ZI Data) 10016 ( 9.78kB) - Total ROM Size (Code + RO Data + RW Data) 9040 ( 8.83kB) + Total RO Size (Code + RO Data) 16272 ( 15.89kB) + Total RW Size (RW Data + ZI Data) 11552 ( 11.28kB) + Total ROM Size (Code + RO Data + RW Data) 16388 ( 16.00kB) ============================================================================== diff --git a/Tool/Image2Lcd/Img2Lcd.exe b/Tool/Image2Lcd/Img2Lcd.exe new file mode 100644 index 0000000..f3bcce9 Binary files /dev/null and b/Tool/Image2Lcd/Img2Lcd.exe differ diff --git a/Tool/Image2Lcd/Img2Lcd_chs.chm b/Tool/Image2Lcd/Img2Lcd_chs.chm new file mode 100644 index 0000000..3aedf90 Binary files /dev/null and b/Tool/Image2Lcd/Img2Lcd_chs.chm differ diff --git a/Tool/Image2Lcd/Img2Lcd_cht.chm b/Tool/Image2Lcd/Img2Lcd_cht.chm new file mode 100644 index 0000000..e9e74e3 Binary files /dev/null and b/Tool/Image2Lcd/Img2Lcd_cht.chm differ diff --git a/Tool/Image2Lcd/emenu.dll b/Tool/Image2Lcd/emenu.dll new file mode 100644 index 0000000..a5f86c3 Binary files /dev/null and b/Tool/Image2Lcd/emenu.dll differ diff --git a/Tool/Image2Lcd/sss.dll b/Tool/Image2Lcd/sss.dll new file mode 100644 index 0000000..78595aa Binary files /dev/null and b/Tool/Image2Lcd/sss.dll differ diff --git a/Tool/Image2Lcd/unins000.dat b/Tool/Image2Lcd/unins000.dat new file mode 100644 index 0000000..18cc316 Binary files /dev/null and b/Tool/Image2Lcd/unins000.dat differ diff --git a/Tool/Image2Lcd/unins000.exe b/Tool/Image2Lcd/unins000.exe new file mode 100644 index 0000000..ba57ab9 Binary files /dev/null and b/Tool/Image2Lcd/unins000.exe differ