feat(bootloader): 添加了完整的系统休眠和唤醒机制,包括:
- 实现深睡眠模式下的功耗优化 - 添加PB8引脚的外部中断唤醒功能 - 新增Flash区域用于睡眠状态管理 - 实现睡眠配置的自动检查和恢复逻辑 同时重构了OTA_SET函数,改进了Flash配置参数的写入机制, 解决了GD32 Flash特性导致的0到1写入问题,并添加了详细的 调试信息输出和错误处理。
This commit is contained in:
+12
-2
@@ -4,6 +4,7 @@
|
||||
#include "gd32c10x.h"
|
||||
#include "initial.h"
|
||||
#include "sys/OTA.h"
|
||||
#include "sys/initial.h"
|
||||
#include "sys/systick.h"
|
||||
#include <cstdio>
|
||||
#include <gd32c10x_fmc.h>
|
||||
@@ -14,9 +15,10 @@ extern OTAHandler ota;
|
||||
|
||||
void BootloaderSystem::initHardware() {
|
||||
systick_config(); // 系统时钟初始化
|
||||
USART0_init(); // 调试串口初始化
|
||||
// USART0_init(); // 调试串口初始化
|
||||
|
||||
CAN0_transmiter.init();
|
||||
check_sleep();
|
||||
}
|
||||
|
||||
void BootloaderSystem::run() {
|
||||
@@ -26,12 +28,16 @@ void BootloaderSystem::run() {
|
||||
u32 app_check = *flash_ptr;
|
||||
if (app_check == OTA_AVAL and
|
||||
app_enable == OTA_AVAL) { // APP已确认且激活,直接进入
|
||||
#if OTA_DEBUG
|
||||
printf("Normal Mode\r\n");
|
||||
#endif
|
||||
// 正常模式:跳转到APP
|
||||
ota.jumpToApplication();
|
||||
} else if (app_check == OTA_AVAL and
|
||||
app_enable == OTA_NOT_AVAL) { // 手动禁用APP,进入OTA模式
|
||||
#if OTA_DEBUG
|
||||
printf("OTA Mode1\r\n");
|
||||
#endif
|
||||
// OTA模式
|
||||
while (1) {
|
||||
CAN0_transmiter.communication_check();
|
||||
@@ -44,12 +50,16 @@ void BootloaderSystem::run() {
|
||||
u32 back_check = *flash_ptr;
|
||||
if (back_check == OTA_AVAL and
|
||||
back_aval == OTA_AVAL) { // backup已确认且激活,复制到主APP区域
|
||||
#if OTA_DEBUG
|
||||
printf("OTA Mode3\r\n");
|
||||
#endif
|
||||
CAN0_transmiter.sendBackup();
|
||||
move_app_data(); // 恢复BACKUP
|
||||
ota.jumpToApplication(); // 跳转到APP
|
||||
} else { // backup无效,进入OTA模式
|
||||
} else { // backup无效,进入OTA模式
|
||||
#if OTA_DEBUG
|
||||
printf("OTA Mode4\r\n");
|
||||
#endif
|
||||
// OTA模式
|
||||
while (1) {
|
||||
CAN0_transmiter.communication_check();
|
||||
|
||||
+66
-23
@@ -26,26 +26,40 @@ inline fmc_state_enum write_ADDRESS(u32 address, u32 data) {
|
||||
return fmc_status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 设置OTA配置参数到Flash
|
||||
*
|
||||
* 此函数用于更新存储在Flash中的OTA相关标志位(如APP可用、启用、校验等)。
|
||||
* GD32的Flash特性是:只能将1写为0,不能将0写为1。若要将0变为1,必须先擦除整个页面。
|
||||
* 因此,本函数通过读取同一页内的所有参数,擦除该页,然后重新写入有效的参数来实现“写1”操作。
|
||||
*
|
||||
* @param addr: 要设置的Flash地址
|
||||
* @param data: 要写入的数据 (通常为OTA_AVAL=0x00000000 或 OTA_NOT_AVAL=0xFFFFFFFF)
|
||||
* @retval FLASH_EEPROM_OK (0) 表示成功, 其他值表示失败
|
||||
*/
|
||||
u8 OTA_SET(u32 addr, u32 data) {
|
||||
fmc_state_enum fmc_status;
|
||||
u32 temp_val[OTA_CONFIG_NUM];
|
||||
u32 temp_val[OTA_CONFIG_NUM]; // 临时数组,用于存储当前所有配置参数的值
|
||||
volatile u32 *flash_ptr = (volatile u32 *)addr;
|
||||
|
||||
// 1. 检查目标地址的值是否已与期望值相同,如果相同则无需操作
|
||||
temp_val[0] = *flash_ptr;
|
||||
if (temp_val[0] == data) { // 如果相同
|
||||
return FLASH_EEPROM_OK; // 成功
|
||||
if (temp_val[0] == data) {
|
||||
return FLASH_EEPROM_OK; // 值已正确,直接返回成功
|
||||
}
|
||||
|
||||
fmc_unlock();
|
||||
// 如果不同,且要写0,直接写
|
||||
// 2. 尝试直接写入数据。这适用于将1修改为0的情况(因为Flash允许1->0)
|
||||
if (data == OTA_AVAL) {
|
||||
fmc_status = write_ADDRESS(addr, data);
|
||||
fmc_lock();
|
||||
// 如果写入成功,则返回成功
|
||||
if (fmc_status == FMC_READY) {
|
||||
return FLASH_EEPROM_OK; // 成功可以直接退出
|
||||
return FLASH_EEPROM_OK;
|
||||
}
|
||||
// 如果写入失败(例如地址已被写为0),则继续执行后续的擦除-重写流程
|
||||
}
|
||||
|
||||
// 如果不同或写入出错,要写1,需要重置,然后再写
|
||||
// 3. 对于需要将0改回1的操作,必须先擦除整个Flash页
|
||||
// 首先读取同一页内所有相关配置参数的当前状态
|
||||
flash_ptr = (volatile u32 *)n_APP_LATEST_AVAL_ADDR;
|
||||
temp_val[0] = *flash_ptr;
|
||||
flash_ptr = (volatile u32 *)n_APP_BACKUP_AVAL_ADDR;
|
||||
@@ -58,27 +72,50 @@ u8 OTA_SET(u32 addr, u32 data) {
|
||||
temp_val[4] = *flash_ptr;
|
||||
flash_ptr = (volatile u32 *)n_APP_BACKUP_CHECK_ADDR;
|
||||
temp_val[5] = *flash_ptr;
|
||||
|
||||
#if EEP_DEBUG
|
||||
printf("OTA_SET\r\n");
|
||||
printf("0x%x_0x%x_0x%x_0x%x\r\n", temp_val[0], temp_val[1], temp_val[2],
|
||||
temp_val[3]);
|
||||
printf("OTA_SET - Start updating configuration\r\n");
|
||||
// 修复:完整输出所有6个配置项的值,便于调试
|
||||
printf("LatestAval:0x%x, BackupAval:0x%x, LatestEn:0x%x, "
|
||||
"BackupEn:0x%x, LatestCheck:0x%x, BackupCheck:0x%x\r\n",
|
||||
temp_val[0], temp_val[1], temp_val[2], temp_val[3], temp_val[4], temp_val[5]);
|
||||
#endif
|
||||
fmc_status = fmc_page_erase(n_APP_LATEST_AVAL_ADDR); // 擦除页
|
||||
|
||||
// 4. 擦除包含所有配置参数的Flash页
|
||||
fmc_status = fmc_page_erase(n_APP_LATEST_AVAL_ADDR);
|
||||
if (fmc_status != FMC_READY) {
|
||||
return FLASH_EEPROM_ERROR; // 擦除错误退出
|
||||
#if EEP_DEBUG
|
||||
printf("OTA_SET - Page erase failed! Status: %d\r\n", fmc_status);
|
||||
#endif
|
||||
return FLASH_EEPROM_ERROR;
|
||||
}
|
||||
|
||||
// 5. 重新写入所有之前为有效(OTA_AVAL)的配置项
|
||||
// 注意:不包括当前正在设置的地址,因为它将在最后单独处理
|
||||
for (int i = 0; i < OTA_CONFIG_NUM; i++) {
|
||||
if (temp_val[i] == OTA_AVAL and
|
||||
n_APP_LATEST_AVAL_ADDR + 4 * i != addr) {
|
||||
fmc_status = write_ADDRESS(n_APP_LATEST_AVAL_ADDR + 4 * i,
|
||||
OTA_AVAL); // 把需要写入0的写入0
|
||||
u32 current_addr = n_APP_LATEST_AVAL_ADDR + 4 * i;
|
||||
if (temp_val[i] == OTA_AVAL && current_addr != addr) {
|
||||
fmc_status = write_ADDRESS(current_addr, OTA_AVAL);
|
||||
if (fmc_status != FMC_READY) {
|
||||
fmc_lock();
|
||||
return FLASH_EEPROM_ERROR; // 写入错误退出
|
||||
#if EEP_DEBUG
|
||||
printf("OTA_SET - Write backup value failed at 0x%08X!\r\n", current_addr);
|
||||
#endif
|
||||
return FLASH_EEPROM_ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
fmc_lock();
|
||||
|
||||
// 6. 最后,写入本次调用的目标数据
|
||||
// 即使addr为0(理论上无效),也检查一下以避免潜在问题
|
||||
if (addr != 0) {
|
||||
fmc_status = write_ADDRESS(addr, data);
|
||||
if (fmc_status != FMC_READY) {
|
||||
#if EEP_DEBUG
|
||||
printf("OTA_SET - Final write to target address 0x%08X failed!\r\n", addr);
|
||||
#endif
|
||||
return FLASH_EEPROM_ERROR;
|
||||
}
|
||||
}
|
||||
return FLASH_EEPROM_OK;
|
||||
}
|
||||
|
||||
@@ -124,8 +161,10 @@ void OTAHandler::process() {
|
||||
u32 if_aval = *flash_ptr;
|
||||
send_error_frame(OTA_ERROR_TIMEOUT); // OTA超时
|
||||
if (if_checked == OTA_AVAL and if_aval == OTA_AVAL) {
|
||||
fmc_unlock();
|
||||
OTA_SET(n_APP_LATEST_AVAL_ADDR,
|
||||
OTA_AVAL); // 实际可用,设置APP为启用
|
||||
fmc_lock();
|
||||
jumpToApplication();
|
||||
}
|
||||
}
|
||||
@@ -178,8 +217,11 @@ void OTAHandler::jumpToApplication() {
|
||||
}
|
||||
printf("jumping1\r\n");
|
||||
#endif
|
||||
fmc_unlock();
|
||||
OTA_SET(n_APP_LATEST_AVAL_ADDR, OTA_AVAL); // 设置APP为可用
|
||||
OTA_SET(n_APP_LATEST_EN_ADDR, OTA_AVAL); // 设置APP为激活
|
||||
fmc_lock();
|
||||
|
||||
// 1. 关闭所有中断
|
||||
__disable_irq();
|
||||
for (int i = 0; i < 8; i++) {
|
||||
@@ -238,11 +280,12 @@ void OTAHandler::jumpToApplication() {
|
||||
* @retval 无
|
||||
*/
|
||||
void OTAHandler::eraseApplicationArea() {
|
||||
// 擦除APP区域
|
||||
fmc_unlock();
|
||||
OTA_SET(n_APP_LATEST_CHECK_ADDR, OTA_NOT_AVAL); // 设置APP为未确认
|
||||
OTA_SET(n_APP_LATEST_EN_ADDR, OTA_NOT_AVAL); // 设置APP为未激活
|
||||
OTA_SET(n_APP_LATEST_AVAL_ADDR, OTA_NOT_AVAL); // 设置APP为不可用
|
||||
// 擦除APP区域
|
||||
fmc_unlock();
|
||||
|
||||
|
||||
// 擦除前禁用中断,防止中断处理程序执行期间发生Flash操作导致问题
|
||||
__disable_irq();
|
||||
@@ -485,8 +528,8 @@ void OTAHandler::handleOTAMessage(u32 id, u8 *data, u8 len) {
|
||||
if (memcmp(plaintext, expected, 16) != 0) {
|
||||
// 验证失败 - 可能密钥错误或攻击
|
||||
ota_error = OTA_ERROR_INVALID_KEY;
|
||||
send_error_frame(OTA_ERROR_INVALID_KEY); // 验证失败
|
||||
ota_state = OTA_STATE_IDLE;
|
||||
send_error_frame(OTA_ERROR_INVALID_KEY); // 验证失败
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -58,5 +58,6 @@ void calculate_crc32_with_key(const u8 *key, const u8 *data,
|
||||
void send_error_frame(u8 error);
|
||||
bool validateApplication();
|
||||
fmc_state_enum move_app_data();
|
||||
u8 OTA_SET(u32 addr, u32 data);
|
||||
|
||||
#endif
|
||||
@@ -5,6 +5,7 @@
|
||||
#define EEPDEBUG 0
|
||||
#define DEBUG_OTA 0
|
||||
#define CAN_DEBUG 0
|
||||
#define SLEEP_DEBUG 0
|
||||
|
||||
// Flash分区配置
|
||||
constexpr u32 BOOTLOADER_SIZE = 0x4000; // 16KB
|
||||
@@ -13,6 +14,11 @@ constexpr u32 APPLATEST_START_ADDR = 0x08011000; // APP起始地址
|
||||
constexpr u32 APPBACK_START_ADDR = 0x08005000; // APPBACK起始地址
|
||||
constexpr u32 APP_MAX_SIZE = 0xC000; // 48KB
|
||||
constexpr u32 FMC_PAGE_SIZE = 0x400; // 1KB
|
||||
constexpr u32 SLEEP_CONFIG_START = 0x0801D400; // 睡眠配置起始地址
|
||||
constexpr u32 SLEEP_CONFIG_END = 0x0801D800; // 睡眠配置结束地址
|
||||
constexpr u32 FLASH_EMPTY = 0xFFFFFFFF; // 空数据
|
||||
constexpr u32 SLEEP_ENABLE = 0x11111111; // 睡眠使能
|
||||
constexpr u32 SLEEP_DISABLE = 0x00000000; // 睡眠禁止
|
||||
|
||||
|
||||
// BOOT 相关
|
||||
|
||||
+165
-2
@@ -1,11 +1,17 @@
|
||||
#include "initial.h"
|
||||
#include "OTA.h"
|
||||
#include "config.h"
|
||||
#include "core_cmFunc.h"
|
||||
#include "gd32c10x.h"
|
||||
#include "gd32c10x_gpio.h"
|
||||
#include "gd32c10x_rcu.h"
|
||||
#include "main.h"
|
||||
#include "systick.h"
|
||||
#include <cstdio>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include "config.h"
|
||||
|
||||
extern BootloaderSystem sys;
|
||||
|
||||
/* retarget the C library printf function to the USART */
|
||||
u8 USART0_init() {
|
||||
@@ -36,7 +42,6 @@ void unused_pin_init() {
|
||||
gpio_bit_reset(GPIOC, GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 扫描APP地址范围内的Flash内容
|
||||
* @param print_content 是否打印Flash内容,默认为true
|
||||
@@ -134,6 +139,164 @@ void scanAppFlashContent(bool print_content = true, u32 page_count = 0) {
|
||||
#endif
|
||||
}
|
||||
|
||||
/*!
|
||||
\brief prepare system to enter deep sleep mode
|
||||
\param[in] none
|
||||
\param[out] none
|
||||
\retval none
|
||||
*/
|
||||
void enter_deep_sleep() {
|
||||
// 关闭不必要的外设时钟
|
||||
rcu_periph_clock_disable(RCU_TIMER0); // 关闭定时器时钟
|
||||
rcu_periph_clock_disable(RCU_TIMER1);
|
||||
rcu_periph_clock_disable(RCU_SPI0); // 关闭SPI时钟
|
||||
rcu_periph_clock_disable(RCU_I2C0); // 关闭I2C时钟
|
||||
rcu_periph_clock_disable(RCU_ADC0); // 关闭ADC时钟
|
||||
// 注意不要关闭GPIOB和AF的时钟,因为需要它们来处理唤醒中断
|
||||
|
||||
// 设置深睡眠模式下的电压以进一步降低功耗
|
||||
rcu_deepsleep_voltage_set(RCU_DEEPSLEEP_V_0_8); // 设置最低电压
|
||||
|
||||
// 配置PB8为输入模式,用于外部中断
|
||||
rcu_periph_clock_enable(RCU_GPIOB);
|
||||
rcu_periph_clock_enable(RCU_AF);
|
||||
gpio_init(GPIOB, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_8);
|
||||
|
||||
// 配置EXTI中断(连接到PB8引脚)
|
||||
gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOB,
|
||||
GPIO_PIN_SOURCE_8); // 配置GPIOB的PIN8作为EXTI8的源
|
||||
exti_init(EXTI_8, EXTI_INTERRUPT, EXTI_TRIG_RISING); // 边沿触发
|
||||
exti_interrupt_enable(EXTI_8);
|
||||
nvic_irq_enable(EXTI5_9_IRQn, 0, 0); //
|
||||
|
||||
// 确保中断标志已被清除
|
||||
exti_interrupt_flag_clear(EXTI_8);
|
||||
__enable_irq();
|
||||
delay_1ms(10);
|
||||
// 进入深度睡眠
|
||||
pmu_to_deepsleepmode(PMU_LDO_LOWPOWER, WFI_CMD);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 写地址
|
||||
* @return fmc_state_enum
|
||||
*/
|
||||
fmc_state_enum write_ADDRESS(u32 address, u32 data) {
|
||||
fmc_unlock();
|
||||
fmc_flag_clear(FMC_FLAG_PGERR | FMC_FLAG_PGAERR | FMC_FLAG_WPERR);
|
||||
|
||||
// 确保使用对齐地址
|
||||
fmc_state_enum fmc_status = fmc_word_program(address, data);
|
||||
|
||||
fmc_lock();
|
||||
return fmc_status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief EXTI5_9中断处理函数
|
||||
* @param 无
|
||||
* @retval 无
|
||||
*/
|
||||
void EXTI5_9_IRQHandler(void) {
|
||||
if (exti_interrupt_flag_get(EXTI_8) != RESET) {
|
||||
// 清除中断标志
|
||||
exti_interrupt_flag_clear(EXTI_8);
|
||||
// 禁用EXTI线8的中断,防止重复触发
|
||||
exti_interrupt_disable(EXTI_8);
|
||||
#if SLEEP_DEBUG
|
||||
printf("MCU wake up\r\n");
|
||||
#endif
|
||||
OTA_SET(n_APP_LATEST_EN_ADDR, OTA_AVAL); // 设置APP为不激活
|
||||
// 遍历睡眠存储区
|
||||
for (u32 address = SLEEP_CONFIG_END - SIZE_U32;
|
||||
address >= SLEEP_CONFIG_START; address -= SIZE_U32) {
|
||||
volatile u32 *flash_ptr = (volatile u32 *)address;
|
||||
u32 sleep_check = *flash_ptr;
|
||||
if (sleep_check == FLASH_EMPTY and
|
||||
address > SLEEP_CONFIG_START) { // 空则跳过该次循环
|
||||
continue;
|
||||
} else if (
|
||||
sleep_check == SLEEP_ENABLE and
|
||||
address >
|
||||
SLEEP_CONFIG_START) { // 如果检查到睡眠启用,写入非启用
|
||||
#if SLEEP_DEBUG
|
||||
printf("boot sleep found %08x at %08x\r\n", sleep_check,
|
||||
address);
|
||||
#endif
|
||||
if (address == SLEEP_CONFIG_END - SIZE_U32) {
|
||||
fmc_unlock();
|
||||
fmc_state_enum fmc_status =
|
||||
fmc_page_erase(SLEEP_CONFIG_START); // 擦除已满的页
|
||||
if (fmc_status != FMC_READY) { // 擦除失败报错
|
||||
fmc_lock();
|
||||
return;
|
||||
}
|
||||
address = SLEEP_CONFIG_START - SIZE_U32; // 重新开始写入
|
||||
}
|
||||
fmc_state_enum fmc_status =
|
||||
write_ADDRESS(address + SIZE_U32, SLEEP_DISABLE);
|
||||
if (fmc_status != FMC_READY) { // 写入失败报错
|
||||
;
|
||||
}
|
||||
break; // 完成,跳出遍历
|
||||
} else if (sleep_check == SLEEP_DISABLE) { // 已经是非休眠则跳出遍历
|
||||
break;
|
||||
} else {
|
||||
fmc_state_enum fmc_status =
|
||||
write_ADDRESS(address, SLEEP_DISABLE);
|
||||
if (fmc_status != FMC_READY) { // 写入失败报错
|
||||
;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 唤醒后软重启,确保正常初始化
|
||||
system_soft_reset();
|
||||
}
|
||||
}
|
||||
|
||||
int check_sleep() {
|
||||
#if SLEEP_DEBUG
|
||||
printf("sleep check\r\n");
|
||||
#endif
|
||||
for (u32 address = SLEEP_CONFIG_END - SIZE_U32;
|
||||
address >= SLEEP_CONFIG_START; address -= SIZE_U32) { // 遍历睡眠存储区
|
||||
volatile u32 *flash_ptr = (volatile u32 *)address;
|
||||
u32 sleep_check = *flash_ptr;
|
||||
#if SLEEP_DEBUG
|
||||
printf("sleep check %8x-----%x\r\n", address, sleep_check);
|
||||
#endif
|
||||
if (sleep_check == FLASH_EMPTY) { // 空则跳过
|
||||
continue;
|
||||
} else if (sleep_check == SLEEP_ENABLE) { // 睡眠使能则继续休眠
|
||||
#if SLEEP_DEBUG
|
||||
printf("sleep enable\r\n");
|
||||
#endif
|
||||
enter_deep_sleep();
|
||||
return 0;
|
||||
} else if (sleep_check == SLEEP_DISABLE) { // 禁用睡眠则跳出
|
||||
#if SLEEP_DEBUG
|
||||
printf("sleep disable\r\n");
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
// 遍历到头都未找到,写入第一次的数据
|
||||
#if SLEEP_DEBUG
|
||||
printf("boot sleep not found\r\n");
|
||||
#endif
|
||||
fmc_state_enum fmc_status =
|
||||
write_ADDRESS(SLEEP_CONFIG_START, SLEEP_DISABLE);
|
||||
if (fmc_status != FMC_READY) { // 写入失败报错
|
||||
#if SLEEP_DEBUG
|
||||
printf("boot sleep write error\r\n");
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
return 2; // 第一次启动
|
||||
}
|
||||
|
||||
// // 发送单个字节到串口 (用于调试)
|
||||
// void uart_send_byte(uint8_t data) {
|
||||
// // 实际的串口发送代码
|
||||
|
||||
@@ -15,7 +15,9 @@ u8 USART0_init(void);
|
||||
u16 get_reset_cause(void);
|
||||
void unused_pin_init();
|
||||
void print_system_clock_info(void);
|
||||
|
||||
void enter_deep_sleep(void);
|
||||
int check_sleep(void);
|
||||
void EXTI5_9_IRQHandler(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Binary file not shown.
@@ -6,164 +6,169 @@ Memory Map of the image
|
||||
|
||||
Image Entry point : 0x08000165
|
||||
|
||||
Load Region LR_ROM0 (Base: 0x08000000, Size: 0x00004a30, Max: 0x08005000, ABSOLUTE)
|
||||
Load Region LR_ROM0 (Base: 0x08000000, Size: 0x00004d50, Max: 0x08005000, ABSOLUTE)
|
||||
|
||||
Execution Region ER_ROM0 (Base: 0x08000000, Size: 0x00004934, Max: 0x08005000, ABSOLUTE)
|
||||
Execution Region ER_ROM0 (Base: 0x08000000, Size: 0x00004c58, Max: 0x08005000, ABSOLUTE)
|
||||
|
||||
Base Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x08000000 0x00000150 Data RO 879 RESET startup_gd32c10x.o
|
||||
0x08000150 0x00000000 Code RO 1043 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||
0x08000150 0x00000004 Code RO 1470 .ARM.Collect$$$$00000003 mc_w.l(entry4.o)
|
||||
0x08000154 0x00000004 Code RO 1473 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
|
||||
0x08000158 0x00000000 Code RO 1475 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
|
||||
0x08000158 0x00000000 Code RO 1477 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||
0x08000158 0x00000008 Code RO 1478 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
||||
0x08000160 0x00000000 Code RO 1480 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
|
||||
0x08000160 0x00000000 Code RO 1482 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
|
||||
0x08000160 0x00000004 Code RO 1471 .ARM.Collect$$$$00002714 mc_w.l(entry4.o)
|
||||
0x08000164 0x0000002c Code RO 880 * .text startup_gd32c10x.o
|
||||
0x08000190 0x00000024 Code RO 1052 .text mc_w.l(memcpya.o)
|
||||
0x080001b4 0x00000024 Code RO 1054 .text mc_w.l(memseta.o)
|
||||
0x080001d8 0x0000001a Code RO 1056 .text mc_w.l(memcmp.o)
|
||||
0x080001f2 0x00000002 Code RO 1498 .text mc_w.l(abort.o)
|
||||
0x080001f4 0x00000030 Code RO 1825 .text mc_w.l(init.o)
|
||||
0x08000224 0x0000009c Code RO 167 .text.CAN0_RX0_IRQHandler Can.o
|
||||
0x080002c0 0x0000004a Code RO 169 .text.DMA0_Channel4_IRQHandler Can.o
|
||||
0x08000000 0x00000150 Data RO 889 RESET startup_gd32c10x.o
|
||||
0x08000150 0x00000000 Code RO 1053 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||
0x08000150 0x00000004 Code RO 1480 .ARM.Collect$$$$00000003 mc_w.l(entry4.o)
|
||||
0x08000154 0x00000004 Code RO 1483 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
|
||||
0x08000158 0x00000000 Code RO 1485 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
|
||||
0x08000158 0x00000000 Code RO 1487 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||
0x08000158 0x00000008 Code RO 1488 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
||||
0x08000160 0x00000000 Code RO 1490 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
|
||||
0x08000160 0x00000000 Code RO 1492 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
|
||||
0x08000160 0x00000004 Code RO 1481 .ARM.Collect$$$$00002714 mc_w.l(entry4.o)
|
||||
0x08000164 0x0000002c Code RO 890 * .text startup_gd32c10x.o
|
||||
0x08000190 0x00000024 Code RO 1062 .text mc_w.l(memcpya.o)
|
||||
0x080001b4 0x00000024 Code RO 1064 .text mc_w.l(memseta.o)
|
||||
0x080001d8 0x0000001a Code RO 1066 .text mc_w.l(memcmp.o)
|
||||
0x080001f2 0x00000002 Code RO 1508 .text mc_w.l(abort.o)
|
||||
0x080001f4 0x00000030 Code RO 1835 .text mc_w.l(init.o)
|
||||
0x08000224 0x0000009c Code RO 177 .text.CAN0_RX0_IRQHandler Can.o
|
||||
0x080002c0 0x0000004a Code RO 179 .text.DMA0_Channel4_IRQHandler Can.o
|
||||
0x0800030a 0x00000002 PAD
|
||||
0x0800030c 0x00000026 Code RO 171 .text.DMA0_Channel5_IRQHandler Can.o
|
||||
0x0800030c 0x00000026 Code RO 181 .text.DMA0_Channel5_IRQHandler Can.o
|
||||
0x08000332 0x00000002 PAD
|
||||
0x08000334 0x00000342 Code RO 886 .text.SystemInit system_gd32c10x.o
|
||||
0x08000676 0x00000002 PAD
|
||||
0x08000678 0x00000012 Code RO 84 .text.USART0_init initial.o
|
||||
0x0800068a 0x00000002 PAD
|
||||
0x0800068c 0x00000198 Code RO 29 .text._Z11mix_columnsPh aes128.o
|
||||
0x08000824 0x000000b2 Code RO 131 .text._Z13move_app_datav OTA.o
|
||||
0x080008d6 0x00000002 PAD
|
||||
0x080008d8 0x00000238 Code RO 37 .text._Z14aes128_set_keyP14aes128_contextPKh aes128.o
|
||||
0x08000b10 0x000008e2 Code RO 35 .text._Z15inv_mix_columnsPh aes128.o
|
||||
0x080013f2 0x00000002 PAD
|
||||
0x080013f4 0x000003c8 Code RO 43 .text._Z20aes128_decrypt_blockP14aes128_contextPKhPh aes128.o
|
||||
0x080017bc 0x000003e6 Code RO 39 .text._Z20aes128_encrypt_blockP14aes128_contextPKhPh aes128.o
|
||||
0x08001ba2 0x00000002 PAD
|
||||
0x08001ba4 0x00000210 Code RO 125 .text._Z24calculate_crc32_with_keyPKhS0_Ph OTA.o
|
||||
0x08001db4 0x0000002c Code RO 45 .text._Z26aes128_ecb_decrypt_48bytesP14aes128_contextPKhPh aes128.o
|
||||
0x08001de0 0x00000182 Code RO 107 .text._Z7OTA_SETjj OTA.o
|
||||
0x08001f62 0x00000002 PAD
|
||||
0x08001f64 0x0000046c Code RO 123 .text._ZN10OTAHandler16handleOTAMessageEjPhh OTA.o
|
||||
0x080023d0 0x000000a8 Code RO 115 .text._ZN10OTAHandler17jumpToApplicationEv OTA.o
|
||||
0x08002478 0x00000080 Code RO 119 .text._ZN10OTAHandler20eraseApplicationAreaEv OTA.o
|
||||
0x080024f8 0x0000005a Code RO 121 .text._ZN10OTAHandler20writeApplicationDataEjPhj OTA.o
|
||||
0x08002552 0x00000002 PAD
|
||||
0x08002554 0x00000098 Code RO 111 .text._ZN10OTAHandler7processEv OTA.o
|
||||
0x080025ec 0x00000028 Code RO 909 .text._ZN10__cxxabiv121__isOurExceptionClassEPK21_Unwind_Control_Block libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002614 0x00000060 Code RO 937 .text._ZN10__cxxabiv1L22__cxa_end_cleanup_implEv libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002674 0x0000004c Code RO 163 .text._ZN14CAN_transmiter10sendBackupEv Can.o
|
||||
0x080026c0 0x0000008c Code RO 159 .text._ZN14CAN_transmiter12sendDATA_ACKEjPh Can.o
|
||||
0x0800274c 0x0000014e Code RO 161 .text._ZN14CAN_transmiter15CANFD_AsyncSendEjhPh Can.o
|
||||
0x0800289a 0x00000002 PAD
|
||||
0x0800289c 0x0000004e Code RO 157 .text._ZN14CAN_transmiter19communication_checkEv Can.o
|
||||
0x080028ea 0x00000002 PAD
|
||||
0x080028ec 0x00000038 Code RO 155 .text._ZN14CAN_transmiter4initEv Can.o
|
||||
0x08002924 0x000000d4 Code RO 6 .text._ZN16BootloaderSystem3runEv main.o
|
||||
0x080029f8 0x00000074 Code RO 980 .text._ZSt11__terminatePFvvE libcppabi_wx.l(cxa_handlers.cpp.o)
|
||||
0x08002a6c 0x00000030 Code RO 971 .text._ZSt9terminatev libcppabi_wx.l(cxa_handlers.cpp.o)
|
||||
0x08002a9c 0x0000000a Code RO 966 .text.__clang_call_terminate libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002aa6 0x00000002 PAD
|
||||
0x08002aa8 0x0000006c Code RO 914 .text.__cxa_begin_catch libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002b14 0x0000000a Code RO 1337 .text.__cxa_get_globals libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x08002b1e 0x0000000a Code RO 1339 .text.__cxa_get_globals_fast libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x08002b28 0x00000026 Code RO 220 .text.can_deinit gd32c10x_can.o
|
||||
0x08002b4e 0x00000002 PAD
|
||||
0x08002b50 0x00000114 Code RO 226 .text.can_fd_init gd32c10x_can.o
|
||||
0x08002c64 0x000000b2 Code RO 228 .text.can_filter_init gd32c10x_can.o
|
||||
0x08002d16 0x00000002 PAD
|
||||
0x08002d18 0x00000176 Code RO 224 .text.can_init gd32c10x_can.o
|
||||
0x08002e8e 0x00000002 PAD
|
||||
0x08002e90 0x00000008 Code RO 270 .text.can_interrupt_enable gd32c10x_can.o
|
||||
0x08002e98 0x00000016 Code RO 280 .text.can_interrupt_flag_clear gd32c10x_can.o
|
||||
0x08002eae 0x00000002 PAD
|
||||
0x08002eb0 0x00000066 Code RO 278 .text.can_interrupt_flag_get gd32c10x_can.o
|
||||
0x08002f16 0x00000002 PAD
|
||||
0x08002f18 0x000001f4 Code RO 254 .text.can_message_receive gd32c10x_can.o
|
||||
0x0800310c 0x000001f0 Code RO 248 .text.can_message_transmit gd32c10x_can.o
|
||||
0x080032fc 0x00000018 Code RO 258 .text.can_receive_message_length_get gd32c10x_can.o
|
||||
0x08003314 0x00000072 Code RO 222 .text.can_struct_para_init gd32c10x_can.o
|
||||
0x08003386 0x00000002 PAD
|
||||
0x08003388 0x000001b0 Code RO 153 .text.canfd_config Can.o
|
||||
0x08003538 0x00000066 Code RO 306 .text.crc_block_data_calculate gd32c10x_crc.o
|
||||
0x0800359e 0x00000002 PAD
|
||||
0x080035a0 0x00000012 Code RO 296 .text.crc_data_register_reset gd32c10x_crc.o
|
||||
0x080035b2 0x00000002 PAD
|
||||
0x080035b4 0x00000018 Code RO 294 .text.crc_deinit gd32c10x_crc.o
|
||||
0x080035cc 0x00000024 Code RO 66 .text.delay_1ms systick.o
|
||||
0x080035f0 0x00000028 Code RO 64 .text.delay_1us systick.o
|
||||
0x08003618 0x00000018 Code RO 68 .text.delay_decrement systick.o
|
||||
0x08003630 0x00000024 Code RO 360 .text.dma_channel_disable gd32c10x_dma.o
|
||||
0x08003654 0x00000024 Code RO 358 .text.dma_channel_enable gd32c10x_dma.o
|
||||
0x08003678 0x00000074 Code RO 348 .text.dma_init gd32c10x_dma.o
|
||||
0x080036ec 0x00000022 Code RO 394 .text.dma_interrupt_enable gd32c10x_dma.o
|
||||
0x0800370e 0x00000002 PAD
|
||||
0x08003710 0x0000000e Code RO 392 .text.dma_interrupt_flag_clear gd32c10x_dma.o
|
||||
0x0800371e 0x00000002 PAD
|
||||
0x08003720 0x0000003a Code RO 390 .text.dma_interrupt_flag_get gd32c10x_dma.o
|
||||
0x0800375a 0x00000002 PAD
|
||||
0x0800375c 0x0000001a Code RO 346 .text.dma_struct_para_init gd32c10x_dma.o
|
||||
0x08003776 0x00000002 PAD
|
||||
0x08003778 0x0000000c Code RO 502 .text.fmc_flag_clear gd32c10x_fmc.o
|
||||
0x08003784 0x00000012 Code RO 464 .text.fmc_lock gd32c10x_fmc.o
|
||||
0x08003796 0x00000002 PAD
|
||||
0x08003798 0x00000166 Code RO 468 .text.fmc_page_erase gd32c10x_fmc.o
|
||||
0x080038fe 0x00000002 PAD
|
||||
0x08003900 0x00000026 Code RO 462 .text.fmc_unlock gd32c10x_fmc.o
|
||||
0x08003926 0x00000002 PAD
|
||||
0x08003928 0x000001aa Code RO 474 .text.fmc_word_program gd32c10x_fmc.o
|
||||
0x08003ad2 0x00000002 PAD
|
||||
0x08003ad4 0x0000002c Code RO 86 .text.fputc initial.o
|
||||
0x08003b00 0x00000098 Code RO 203 .text.gd_eval_com_init gd32c10x_eval.o
|
||||
0x08003b98 0x00000004 Code RO 558 .text.gpio_bit_reset gd32c10x_gpio.o
|
||||
0x08003b9c 0x000002c0 Code RO 554 .text.gpio_init gd32c10x_gpio.o
|
||||
0x08003e5c 0x00000080 Code RO 572 .text.gpio_pin_remap_config gd32c10x_gpio.o
|
||||
0x08003edc 0x0000001e Code RO 8 .text.main main.o
|
||||
0x08003efa 0x00000002 PAD
|
||||
0x08003efc 0x00000060 Code RO 601 .text.nvic_irq_enable gd32c10x_misc.o
|
||||
0x08003f5c 0x0000001c Code RO 605 .text.nvic_vector_table_set gd32c10x_misc.o
|
||||
0x08003f78 0x00000012 Code RO 723 .text.rcu_all_reset_flag_clear gd32c10x_rcu.o
|
||||
0x08003f8a 0x00000002 PAD
|
||||
0x08003f8c 0x0000010c Code RO 751 .text.rcu_clock_freq_get gd32c10x_rcu.o
|
||||
0x08004098 0x00000020 Code RO 671 .text.rcu_periph_clock_disable gd32c10x_rcu.o
|
||||
0x080040b8 0x0000001e Code RO 669 .text.rcu_periph_clock_enable gd32c10x_rcu.o
|
||||
0x080040d6 0x00000002 PAD
|
||||
0x080040d8 0x00000020 Code RO 679 .text.rcu_periph_reset_disable gd32c10x_rcu.o
|
||||
0x080040f8 0x0000001e Code RO 677 .text.rcu_periph_reset_enable gd32c10x_rcu.o
|
||||
0x08004116 0x00000002 PAD
|
||||
0x08004118 0x00000014 Code RO 685 .text.rcu_system_clock_source_config gd32c10x_rcu.o
|
||||
0x0800412c 0x00000048 Code RO 62 .text.systick_config systick.o
|
||||
0x08004174 0x00000006 Code RO 1322 .text.unlikely.abort_message libcppabi_wx.l(abort_message.cpp.o)
|
||||
0x0800417a 0x00000002 PAD
|
||||
0x0800417c 0x0000006a Code RO 767 .text.usart_baudrate_set gd32c10x_usart.o
|
||||
0x080041e6 0x00000002 PAD
|
||||
0x080041e8 0x00000008 Code RO 793 .text.usart_data_transmit gd32c10x_usart.o
|
||||
0x080041f0 0x0000007a Code RO 765 .text.usart_deinit gd32c10x_usart.o
|
||||
0x0800426a 0x00000002 PAD
|
||||
0x0800426c 0x0000000a Code RO 775 .text.usart_enable gd32c10x_usart.o
|
||||
0x08004276 0x00000002 PAD
|
||||
0x08004278 0x00000010 Code RO 855 .text.usart_flag_get gd32c10x_usart.o
|
||||
0x08004288 0x00000014 Code RO 781 .text.usart_receive_config gd32c10x_usart.o
|
||||
0x0800429c 0x00000014 Code RO 779 .text.usart_transmit_config gd32c10x_usart.o
|
||||
0x080042b0 0x0000000e Code RO 1914 i.__scatterload_copy mc_w.l(handlers.o)
|
||||
0x080042be 0x00000002 Code RO 1915 i.__scatterload_null mc_w.l(handlers.o)
|
||||
0x080042c0 0x0000000e Code RO 1916 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
||||
0x080042ce 0x00000002 PAD
|
||||
0x080042d0 0x00000024 Code RO 1046 i.puts mc_w.l(puts.o)
|
||||
0x080042f4 0x00000100 Data RO 50 .rodata._ZL4sbox aes128.o
|
||||
0x080043f4 0x00000010 Data RO 135 .rodata._ZL8K_master OTA.o
|
||||
0x08004404 0x00000400 Data RO 137 .rodata._ZZ24calculate_crc32_with_keyPKhS0_PhE9crc_table OTA.o
|
||||
0x08004804 0x00000008 Data RO 753 .rodata.cst8 gd32c10x_rcu.o
|
||||
0x0800480c 0x00000007 Data RO 282 .rodata.g_can_fdlength_table gd32c10x_can.o
|
||||
0x08004813 0x00000100 Data RO 49 .rodata.inv_sbox aes128.o
|
||||
0x08004913 0x00000001 PAD
|
||||
0x08004914 0x00000020 Data RO 1913 Region$$Table anon$$obj.o
|
||||
0x08000334 0x0000016a Code RO 99 .text.EXTI5_9_IRQHandler initial.o
|
||||
0x0800049e 0x00000002 PAD
|
||||
0x080004a0 0x00000342 Code RO 896 .text.SystemInit system_gd32c10x.o
|
||||
0x080007e2 0x00000002 PAD
|
||||
0x080007e4 0x00000198 Code RO 29 .text._Z11mix_columnsPh aes128.o
|
||||
0x0800097c 0x000000b2 Code RO 141 .text._Z13move_app_datav OTA.o
|
||||
0x08000a2e 0x00000002 PAD
|
||||
0x08000a30 0x00000238 Code RO 37 .text._Z14aes128_set_keyP14aes128_contextPKh aes128.o
|
||||
0x08000c68 0x000008e2 Code RO 35 .text._Z15inv_mix_columnsPh aes128.o
|
||||
0x0800154a 0x00000002 PAD
|
||||
0x0800154c 0x000003c8 Code RO 43 .text._Z20aes128_decrypt_blockP14aes128_contextPKhPh aes128.o
|
||||
0x08001914 0x000003e6 Code RO 39 .text._Z20aes128_encrypt_blockP14aes128_contextPKhPh aes128.o
|
||||
0x08001cfa 0x00000002 PAD
|
||||
0x08001cfc 0x00000210 Code RO 135 .text._Z24calculate_crc32_with_keyPKhS0_Ph OTA.o
|
||||
0x08001f0c 0x0000002c Code RO 45 .text._Z26aes128_ecb_decrypt_48bytesP14aes128_contextPKhPh aes128.o
|
||||
0x08001f38 0x00000176 Code RO 117 .text._Z7OTA_SETjj OTA.o
|
||||
0x080020ae 0x00000002 PAD
|
||||
0x080020b0 0x00000464 Code RO 133 .text._ZN10OTAHandler16handleOTAMessageEjPhh OTA.o
|
||||
0x08002514 0x000000b0 Code RO 125 .text._ZN10OTAHandler17jumpToApplicationEv OTA.o
|
||||
0x080025c4 0x00000080 Code RO 129 .text._ZN10OTAHandler20eraseApplicationAreaEv OTA.o
|
||||
0x08002644 0x0000005a Code RO 131 .text._ZN10OTAHandler20writeApplicationDataEjPhj OTA.o
|
||||
0x0800269e 0x00000002 PAD
|
||||
0x080026a0 0x000000a0 Code RO 121 .text._ZN10OTAHandler7processEv OTA.o
|
||||
0x08002740 0x00000028 Code RO 919 .text._ZN10__cxxabiv121__isOurExceptionClassEPK21_Unwind_Control_Block libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002768 0x00000060 Code RO 947 .text._ZN10__cxxabiv1L22__cxa_end_cleanup_implEv libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x080027c8 0x0000004c Code RO 173 .text._ZN14CAN_transmiter10sendBackupEv Can.o
|
||||
0x08002814 0x0000008c Code RO 169 .text._ZN14CAN_transmiter12sendDATA_ACKEjPh Can.o
|
||||
0x080028a0 0x0000014e Code RO 171 .text._ZN14CAN_transmiter15CANFD_AsyncSendEjhPh Can.o
|
||||
0x080029ee 0x00000002 PAD
|
||||
0x080029f0 0x0000004e Code RO 167 .text._ZN14CAN_transmiter19communication_checkEv Can.o
|
||||
0x08002a3e 0x00000002 PAD
|
||||
0x08002a40 0x00000038 Code RO 165 .text._ZN14CAN_transmiter4initEv Can.o
|
||||
0x08002a78 0x00000086 Code RO 6 .text._ZN16BootloaderSystem3runEv main.o
|
||||
0x08002afe 0x00000002 PAD
|
||||
0x08002b00 0x00000074 Code RO 990 .text._ZSt11__terminatePFvvE libcppabi_wx.l(cxa_handlers.cpp.o)
|
||||
0x08002b74 0x00000030 Code RO 981 .text._ZSt9terminatev libcppabi_wx.l(cxa_handlers.cpp.o)
|
||||
0x08002ba4 0x0000000a Code RO 976 .text.__clang_call_terminate libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002bae 0x00000002 PAD
|
||||
0x08002bb0 0x0000006c Code RO 924 .text.__cxa_begin_catch libcppabi_wx.l(cxa_exception.cpp.o)
|
||||
0x08002c1c 0x0000000a Code RO 1347 .text.__cxa_get_globals libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x08002c26 0x0000000a Code RO 1349 .text.__cxa_get_globals_fast libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x08002c30 0x00000026 Code RO 230 .text.can_deinit gd32c10x_can.o
|
||||
0x08002c56 0x00000002 PAD
|
||||
0x08002c58 0x00000114 Code RO 236 .text.can_fd_init gd32c10x_can.o
|
||||
0x08002d6c 0x000000b2 Code RO 238 .text.can_filter_init gd32c10x_can.o
|
||||
0x08002e1e 0x00000002 PAD
|
||||
0x08002e20 0x00000176 Code RO 234 .text.can_init gd32c10x_can.o
|
||||
0x08002f96 0x00000002 PAD
|
||||
0x08002f98 0x00000008 Code RO 280 .text.can_interrupt_enable gd32c10x_can.o
|
||||
0x08002fa0 0x00000016 Code RO 290 .text.can_interrupt_flag_clear gd32c10x_can.o
|
||||
0x08002fb6 0x00000002 PAD
|
||||
0x08002fb8 0x00000066 Code RO 288 .text.can_interrupt_flag_get gd32c10x_can.o
|
||||
0x0800301e 0x00000002 PAD
|
||||
0x08003020 0x000001f4 Code RO 264 .text.can_message_receive gd32c10x_can.o
|
||||
0x08003214 0x000001f0 Code RO 258 .text.can_message_transmit gd32c10x_can.o
|
||||
0x08003404 0x00000018 Code RO 268 .text.can_receive_message_length_get gd32c10x_can.o
|
||||
0x0800341c 0x00000072 Code RO 232 .text.can_struct_para_init gd32c10x_can.o
|
||||
0x0800348e 0x00000002 PAD
|
||||
0x08003490 0x000001b0 Code RO 163 .text.canfd_config Can.o
|
||||
0x08003640 0x00000238 Code RO 101 .text.check_sleep initial.o
|
||||
0x08003878 0x00000066 Code RO 316 .text.crc_block_data_calculate gd32c10x_crc.o
|
||||
0x080038de 0x00000002 PAD
|
||||
0x080038e0 0x00000012 Code RO 306 .text.crc_data_register_reset gd32c10x_crc.o
|
||||
0x080038f2 0x00000002 PAD
|
||||
0x080038f4 0x00000018 Code RO 304 .text.crc_deinit gd32c10x_crc.o
|
||||
0x0800390c 0x00000024 Code RO 66 .text.delay_1ms systick.o
|
||||
0x08003930 0x00000028 Code RO 64 .text.delay_1us systick.o
|
||||
0x08003958 0x00000018 Code RO 68 .text.delay_decrement systick.o
|
||||
0x08003970 0x00000024 Code RO 370 .text.dma_channel_disable gd32c10x_dma.o
|
||||
0x08003994 0x00000024 Code RO 368 .text.dma_channel_enable gd32c10x_dma.o
|
||||
0x080039b8 0x00000074 Code RO 358 .text.dma_init gd32c10x_dma.o
|
||||
0x08003a2c 0x00000022 Code RO 404 .text.dma_interrupt_enable gd32c10x_dma.o
|
||||
0x08003a4e 0x00000002 PAD
|
||||
0x08003a50 0x0000000e Code RO 402 .text.dma_interrupt_flag_clear gd32c10x_dma.o
|
||||
0x08003a5e 0x00000002 PAD
|
||||
0x08003a60 0x0000003a Code RO 400 .text.dma_interrupt_flag_get gd32c10x_dma.o
|
||||
0x08003a9a 0x00000002 PAD
|
||||
0x08003a9c 0x0000001a Code RO 356 .text.dma_struct_para_init gd32c10x_dma.o
|
||||
0x08003ab6 0x00000002 PAD
|
||||
0x08003ab8 0x00000096 Code RO 95 .text.enter_deep_sleep initial.o
|
||||
0x08003b4e 0x00000002 PAD
|
||||
0x08003b50 0x00000090 Code RO 421 .text.exti_init gd32c10x_exti.o
|
||||
0x08003be0 0x00000012 Code RO 425 .text.exti_interrupt_disable gd32c10x_exti.o
|
||||
0x08003bf2 0x00000002 PAD
|
||||
0x08003bf4 0x00000010 Code RO 423 .text.exti_interrupt_enable gd32c10x_exti.o
|
||||
0x08003c04 0x0000000c Code RO 441 .text.exti_interrupt_flag_clear gd32c10x_exti.o
|
||||
0x08003c10 0x00000012 Code RO 439 .text.exti_interrupt_flag_get gd32c10x_exti.o
|
||||
0x08003c22 0x00000002 PAD
|
||||
0x08003c24 0x0000000c Code RO 512 .text.fmc_flag_clear gd32c10x_fmc.o
|
||||
0x08003c30 0x00000012 Code RO 474 .text.fmc_lock gd32c10x_fmc.o
|
||||
0x08003c42 0x00000002 PAD
|
||||
0x08003c44 0x00000166 Code RO 478 .text.fmc_page_erase gd32c10x_fmc.o
|
||||
0x08003daa 0x00000002 PAD
|
||||
0x08003dac 0x00000026 Code RO 472 .text.fmc_unlock gd32c10x_fmc.o
|
||||
0x08003dd2 0x00000002 PAD
|
||||
0x08003dd4 0x000001aa Code RO 484 .text.fmc_word_program gd32c10x_fmc.o
|
||||
0x08003f7e 0x00000002 PAD
|
||||
0x08003f80 0x0000002c Code RO 88 .text.fputc initial.o
|
||||
0x08003fac 0x00000004 Code RO 568 .text.gpio_bit_reset gd32c10x_gpio.o
|
||||
0x08003fb0 0x00000048 Code RO 584 .text.gpio_exti_source_select gd32c10x_gpio.o
|
||||
0x08003ff8 0x000002c0 Code RO 564 .text.gpio_init gd32c10x_gpio.o
|
||||
0x080042b8 0x00000080 Code RO 582 .text.gpio_pin_remap_config gd32c10x_gpio.o
|
||||
0x08004338 0x0000001e Code RO 8 .text.main main.o
|
||||
0x08004356 0x00000002 PAD
|
||||
0x08004358 0x00000060 Code RO 611 .text.nvic_irq_enable gd32c10x_misc.o
|
||||
0x080043b8 0x0000001c Code RO 615 .text.nvic_vector_table_set gd32c10x_misc.o
|
||||
0x080043d4 0x000000c6 Code RO 644 .text.pmu_to_deepsleepmode gd32c10x_pmu.o
|
||||
0x0800449a 0x00000002 PAD
|
||||
0x0800449c 0x00000012 Code RO 733 .text.rcu_all_reset_flag_clear gd32c10x_rcu.o
|
||||
0x080044ae 0x00000002 PAD
|
||||
0x080044b0 0x00000010 Code RO 759 .text.rcu_deepsleep_voltage_set gd32c10x_rcu.o
|
||||
0x080044c0 0x00000020 Code RO 681 .text.rcu_periph_clock_disable gd32c10x_rcu.o
|
||||
0x080044e0 0x0000001e Code RO 679 .text.rcu_periph_clock_enable gd32c10x_rcu.o
|
||||
0x080044fe 0x00000002 PAD
|
||||
0x08004500 0x00000020 Code RO 689 .text.rcu_periph_reset_disable gd32c10x_rcu.o
|
||||
0x08004520 0x0000001e Code RO 687 .text.rcu_periph_reset_enable gd32c10x_rcu.o
|
||||
0x0800453e 0x00000002 PAD
|
||||
0x08004540 0x00000014 Code RO 695 .text.rcu_system_clock_source_config gd32c10x_rcu.o
|
||||
0x08004554 0x00000020 Code RO 70 .text.system_soft_reset systick.o
|
||||
0x08004574 0x00000048 Code RO 62 .text.systick_config systick.o
|
||||
0x080045bc 0x00000006 Code RO 1332 .text.unlikely.abort_message libcppabi_wx.l(abort_message.cpp.o)
|
||||
0x080045c2 0x00000002 PAD
|
||||
0x080045c4 0x00000008 Code RO 803 .text.usart_data_transmit gd32c10x_usart.o
|
||||
0x080045cc 0x00000010 Code RO 865 .text.usart_flag_get gd32c10x_usart.o
|
||||
0x080045dc 0x0000000e Code RO 1924 i.__scatterload_copy mc_w.l(handlers.o)
|
||||
0x080045ea 0x00000002 Code RO 1925 i.__scatterload_null mc_w.l(handlers.o)
|
||||
0x080045ec 0x0000000e Code RO 1926 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
||||
0x080045fa 0x00000002 PAD
|
||||
0x080045fc 0x00000024 Code RO 1056 i.puts mc_w.l(puts.o)
|
||||
0x08004620 0x00000100 Data RO 50 .rodata._ZL4sbox aes128.o
|
||||
0x08004720 0x00000010 Data RO 145 .rodata._ZL8K_master OTA.o
|
||||
0x08004730 0x00000400 Data RO 147 .rodata._ZZ24calculate_crc32_with_keyPKhS0_PhE9crc_table OTA.o
|
||||
0x08004b30 0x00000007 Data RO 292 .rodata.g_can_fdlength_table gd32c10x_can.o
|
||||
0x08004b37 0x00000100 Data RO 49 .rodata.inv_sbox aes128.o
|
||||
0x08004c37 0x00000001 PAD
|
||||
0x08004c38 0x00000020 Data RO 1923 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_NOINIT (Base: 0x20000000, Size: 0x00000000, Max: 0x00007200, ABSOLUTE, UNINIT)
|
||||
@@ -171,32 +176,36 @@ Memory Map of the image
|
||||
**** No section assigned to this execution region ****
|
||||
|
||||
|
||||
Execution Region RW_RAM0 (Base: 0x20000000, Size: 0x00000a68, Max: 0x00007200, ABSOLUTE)
|
||||
Execution Region RW_RAM0 (Base: 0x20000000, Size: 0x00000a78, Max: 0x00007200, ABSOLUTE)
|
||||
|
||||
Base Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x20000000 0x00000004 Data RW 1484 .data mc_w.l(stdout.o)
|
||||
0x20000004 0x000000e8 Data RW 175 .data.CAN0_transmiter Can.o
|
||||
0x200000ec 0x00000004 Data RW 892 .data.SystemCoreClock system_gd32c10x.o
|
||||
0x200000f0 0x00000004 Data RW 1332 .data.__cxa_terminate_handler libcppabi_wx.l(cxa_default_handlers.cpp.o)
|
||||
0x20000000 0x00000004 Data RW 1494 .data mc_w.l(stdout.o)
|
||||
0x20000004 0x000000e8 Data RW 185 .data.CAN0_transmiter Can.o
|
||||
0x200000ec 0x00000004 Data RW 902 .data.SystemCoreClock system_gd32c10x.o
|
||||
0x200000f0 0x00000004 Data RW 1342 .data.__cxa_terminate_handler libcppabi_wx.l(cxa_default_handlers.cpp.o)
|
||||
0x200000f4 0x00000004 PAD
|
||||
0x200000f8 0x00000004 Zero RW 72 .bss._ZL5delay systick.o
|
||||
0x200000fc 0x0000000c Zero RW 1341 .bss._ZN10__cxxabiv1L10eh_globalsE libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x20000108 0x00000001 Zero RW 134 .bss._ZZN10OTAHandler7processEvE4zero OTA.o
|
||||
0x200000fc 0x0000000c Zero RW 1351 .bss._ZN10__cxxabiv1L10eh_globalsE libcppabi_wx.l(cxa_exception_storage.cpp.o)
|
||||
0x20000108 0x00000001 Zero RW 144 .bss._ZZN10OTAHandler7processEvE4zero OTA.o
|
||||
0x20000109 0x00000007 PAD
|
||||
0x20000110 0x00000008 Zero RW 178 .bss.can_rx_buffer Can.o
|
||||
0x20000118 0x00000008 Zero RW 179 .bss.can_tx_buffer Can.o
|
||||
0x20000120 0x0000001c Zero RW 176 .bss.dma_rx_parameter Can.o
|
||||
0x2000013c 0x0000001c Zero RW 177 .bss.dma_tx_parameter Can.o
|
||||
0x20000158 0x00000110 Zero RW 133 .bss.ota OTA.o
|
||||
0x20000268 0x00000800 Zero RW 877 STACK startup_gd32c10x.o
|
||||
0x20000110 0x00000008 Zero RW 188 .bss.can_rx_buffer Can.o
|
||||
0x20000118 0x00000008 Zero RW 189 .bss.can_tx_buffer Can.o
|
||||
0x20000120 0x0000001c Zero RW 186 .bss.dma_rx_parameter Can.o
|
||||
0x2000013c 0x0000001c Zero RW 187 .bss.dma_tx_parameter Can.o
|
||||
0x20000158 0x00000110 Zero RW 143 .bss.ota OTA.o
|
||||
0x20000268 0x00000004 Zero RW 660 .bss.pmu_to_deepsleepmode.reg_snap.0 gd32c10x_pmu.o
|
||||
0x2000026c 0x00000004 Zero RW 661 .bss.pmu_to_deepsleepmode.reg_snap.1 gd32c10x_pmu.o
|
||||
0x20000270 0x00000004 Zero RW 662 .bss.pmu_to_deepsleepmode.reg_snap.2 gd32c10x_pmu.o
|
||||
0x20000274 0x00000004 Zero RW 663 .bss.pmu_to_deepsleepmode.reg_snap.3 gd32c10x_pmu.o
|
||||
0x20000278 0x00000800 Zero RW 887 STACK startup_gd32c10x.o
|
||||
|
||||
|
||||
Execution Region ARM_LIB_HEAP (Base: 0x20000a68, Size: 0x00000c00, Max: 0x00000c00, ABSOLUTE)
|
||||
Execution Region ARM_LIB_HEAP (Base: 0x20000a78, Size: 0x00000c00, Max: 0x00000c00, ABSOLUTE)
|
||||
|
||||
Base Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x20000a68 0x00000c00 Zero RW 1 ARM_LIB_HEAP.bss anon$$obj.o
|
||||
0x20000a78 0x00000c00 Zero RW 1 ARM_LIB_HEAP.bss anon$$obj.o
|
||||
|
||||
|
||||
Execution Region ARM_LIB_STACK (Base: 0x20007e00, Size: 0x00000200, Max: 0x00000200, ABSOLUTE)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+32
-32
@@ -9,37 +9,37 @@
|
||||
348 454 7890673262972338 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-patch b54a62060b325746
|
||||
454 11714 7890673375515811 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-configure 708efa7dee4d8c45
|
||||
454 11714 7890673375515811 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-configure 708efa7dee4d8c45
|
||||
16 610 7895013364034272 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-build c3a3e5728b3e60b8
|
||||
611 965 7895013369978332 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-database 206b709820348205
|
||||
16 610 7895013364034272 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.bin c3a3e5728b3e60b8
|
||||
17 765 7898538833564373 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-build c3a3e5728b3e60b8
|
||||
765 1235 7898538841046670 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-database 206b709820348205
|
||||
17 765 7898538833564373 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.bin c3a3e5728b3e60b8
|
||||
12517 12632 7890673384727863 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-executes 9db191f9941f966f
|
||||
16 610 7895013364034272 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf c3a3e5728b3e60b8
|
||||
16 610 7895013364034272 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.hex c3a3e5728b3e60b8
|
||||
16 610 7895013364034272 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf.map c3a3e5728b3e60b8
|
||||
1219 1475 7895013377912928 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-done 39cd38b08f3cacb9
|
||||
1052 1219 7895013375379742 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-test 57275ea8426097a0
|
||||
16 610 7895013364034272 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-build c3a3e5728b3e60b8
|
||||
17 765 7898538833564373 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf c3a3e5728b3e60b8
|
||||
17 765 7898538833564373 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.hex c3a3e5728b3e60b8
|
||||
17 765 7898538833564373 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf.map c3a3e5728b3e60b8
|
||||
1584 1920 7898538851672615 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-done 39cd38b08f3cacb9
|
||||
1350 1584 7898538848264121 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-test 57275ea8426097a0
|
||||
17 765 7898538833564373 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-build c3a3e5728b3e60b8
|
||||
12517 12632 7890673384727863 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-executes 9db191f9941f966f
|
||||
611 965 7895013369978332 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-database 206b709820348205
|
||||
965 1052 7895013373522590 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-install 66d6e5c354af78e4
|
||||
965 1052 7895013373522590 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-install 66d6e5c354af78e4
|
||||
1052 1219 7895013375379742 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-test 57275ea8426097a0
|
||||
1219 1475 7895013377912928 CMakeFiles/Robot_V2.Release+GD32C103CB-complete 39cd38b08f3cacb9
|
||||
1219 1475 7895013377912928 G:/Robot_v2/BOOT/tmp/CMakeFiles/Robot_V2.Release+GD32C103CB-complete 39cd38b08f3cacb9
|
||||
1219 1475 7895013377912928 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-done 39cd38b08f3cacb9
|
||||
25 646 7895017860180482 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-build c3a3e5728b3e60b8
|
||||
25 646 7895017860180482 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.bin c3a3e5728b3e60b8
|
||||
25 646 7895017860180482 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf c3a3e5728b3e60b8
|
||||
25 646 7895017860180482 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.hex c3a3e5728b3e60b8
|
||||
25 646 7895017860180482 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf.map c3a3e5728b3e60b8
|
||||
25 646 7895017860180482 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-build c3a3e5728b3e60b8
|
||||
646 1016 7895017866381069 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-database 206b709820348205
|
||||
646 1016 7895017866381069 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-database 206b709820348205
|
||||
1016 1107 7895017870088090 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-install 66d6e5c354af78e4
|
||||
1016 1107 7895017870088090 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-install 66d6e5c354af78e4
|
||||
1107 1282 7895017872033117 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-test 57275ea8426097a0
|
||||
1107 1282 7895017872033117 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-test 57275ea8426097a0
|
||||
1282 1534 7895017874612525 CMakeFiles/Robot_V2.Release+GD32C103CB-complete 39cd38b08f3cacb9
|
||||
1282 1534 7895017874612525 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-done 39cd38b08f3cacb9
|
||||
1282 1534 7895017874612525 G:/Robot_v2/BOOT/tmp/CMakeFiles/Robot_V2.Release+GD32C103CB-complete 39cd38b08f3cacb9
|
||||
1282 1534 7895017874612525 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-done 39cd38b08f3cacb9
|
||||
765 1235 7898538841046670 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-database 206b709820348205
|
||||
1235 1350 7898538845745543 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-install 66d6e5c354af78e4
|
||||
1235 1350 7898538845745543 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-install 66d6e5c354af78e4
|
||||
1350 1584 7898538848264121 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-test 57275ea8426097a0
|
||||
1584 1920 7898538851672615 CMakeFiles/Robot_V2.Release+GD32C103CB-complete 39cd38b08f3cacb9
|
||||
1584 1920 7898538851672615 G:/Robot_v2/BOOT/tmp/CMakeFiles/Robot_V2.Release+GD32C103CB-complete 39cd38b08f3cacb9
|
||||
1584 1920 7898538851672615 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-done 39cd38b08f3cacb9
|
||||
22 688 7898542356380091 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-build c3a3e5728b3e60b8
|
||||
22 688 7898542356380091 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.bin c3a3e5728b3e60b8
|
||||
22 688 7898542356380091 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf c3a3e5728b3e60b8
|
||||
22 688 7898542356380091 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.hex c3a3e5728b3e60b8
|
||||
22 688 7898542356380091 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf.map c3a3e5728b3e60b8
|
||||
22 688 7898542356380091 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-build c3a3e5728b3e60b8
|
||||
689 1199 7898542363038860 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-database 206b709820348205
|
||||
689 1199 7898542363038860 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-database 206b709820348205
|
||||
1199 1329 7898542368145370 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-install 66d6e5c354af78e4
|
||||
1199 1329 7898542368145370 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-install 66d6e5c354af78e4
|
||||
1329 1570 7898542370829013 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-test 57275ea8426097a0
|
||||
1329 1570 7898542370829013 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-test 57275ea8426097a0
|
||||
1570 1942 7898542374385250 CMakeFiles/Robot_V2.Release+GD32C103CB-complete 39cd38b08f3cacb9
|
||||
1570 1942 7898542374385250 Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-done 39cd38b08f3cacb9
|
||||
1570 1942 7898542374385250 G:/Robot_v2/BOOT/tmp/CMakeFiles/Robot_V2.Release+GD32C103CB-complete 39cd38b08f3cacb9
|
||||
1570 1942 7898542374385250 G:/Robot_v2/BOOT/tmp/Robot_V2.Release+GD32C103CB/src/Robot_V2.Release+GD32C103CB-stamp/Robot_V2.Release+GD32C103CB-done 39cd38b08f3cacb9
|
||||
|
||||
Binary file not shown.
+32
-58
@@ -1,63 +1,37 @@
|
||||
# ninja log v6
|
||||
11 153 7895004933873799 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/systick.o 90049e3a9997d47e
|
||||
12 140 7895004222602512 CMakeFiles/Group_Source_Files.dir/G_/Robot_v2/BOOT/Robot_V2/main.o a1e7d66abb20e63f
|
||||
17 243 7898520560347988 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/systick.o 90049e3a9997d47e
|
||||
12 214 7898538835079594 CMakeFiles/Group_Source_Files.dir/G_/Robot_v2/BOOT/Robot_V2/main.o a1e7d66abb20e63f
|
||||
15 248 7894986578859319 CMakeFiles/Group_Source_Files.dir/G_/Robot_v2/BOOT/Robot_V2/sys/aes128.o de648e3137990e90
|
||||
25 291 7891598951708147 CMakeFiles/GigaDevice_Device_EVAL_GD32C10x_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_eval.o 9a409ccbbaf0b506
|
||||
36 291 7891598951814065 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_DBG_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_dbg.o afbddcf2f39ba5cd
|
||||
62 322 7891598952075669 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_PMU_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_pmu.o 90d7d435f1eb4630
|
||||
15 187 7895004938817331 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
15 253 7892513536767814 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_CRC_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_crc.o 67890dbd6b26def8
|
||||
318 979 7898450940065152 CMakeFiles/GigaDevice_Device_EVAL_GD32C10x_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_eval.o 9a409ccbbaf0b506
|
||||
329 941 7898450940171303 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_DBG_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_dbg.o afbddcf2f39ba5cd
|
||||
354 972 7898450940426548 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_PMU_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_pmu.o 90d7d435f1eb4630
|
||||
16 244 7898533609381306 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
326 965 7898450940141310 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_CRC_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_crc.o 67890dbd6b26def8
|
||||
95 288 7890673377735646 CMakeFiles/GigaDevice_Device_Startup_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/startup_gd32c10x.o 7333d2a666947fb3
|
||||
43 285 7891598951884515 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_EXTI_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_exti.o dc69558be82ddab3
|
||||
18 281 7895000588759319 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/initial.o 671120909b55a6ec
|
||||
51 321 7891598951964792 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_FWDGT_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_fwdgt.o 77d2407664c0b50e
|
||||
58 306 7891598952039121 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_MISC_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_misc.o 249b986db23681a2
|
||||
27 283 7894990979359886 CMakeFiles/GigaDevice_Device_Startup_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/system_gd32c10x.o 59beee78be430f18
|
||||
54 338 7891598952001653 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_GPIO_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_gpio.o 54f1765925ee6320
|
||||
39 340 7891598951846954 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_DMA_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_dma.o d976b2f727d5d643
|
||||
68 335 7891598952142156 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_USART_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_usart.o 25d66ba79c0b0dee
|
||||
24 307 7895000588819409 CMakeFiles/Group_device.dir/G_/Robot_v2/BOOT/Robot_V2/device/Can.o 45fb475e6531516a
|
||||
65 372 7891598952109689 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_RCU_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_rcu.o 8a38055acf3e9414
|
||||
12 220 7895005693998201 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/OTA.o d3ceecf5eb5da62f
|
||||
29 390 7891598951738894 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_CAN_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_can.o faa264156fd20815
|
||||
336 950 7898450940246370 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_EXTI_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_exti.o dc69558be82ddab3
|
||||
15 185 7898532550017042 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/initial.o 671120909b55a6ec
|
||||
343 987 7898450940321436 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_FWDGT_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_fwdgt.o 77d2407664c0b50e
|
||||
350 946 7898450940386505 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_MISC_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_misc.o 249b986db23681a2
|
||||
366 1006 7898450940551577 CMakeFiles/GigaDevice_Device_Startup_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/system_gd32c10x.o 59beee78be430f18
|
||||
346 990 7898450940351442 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_GPIO_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_gpio.o 54f1765925ee6320
|
||||
333 1029 7898450940216383 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_DMA_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_dma.o d976b2f727d5d643
|
||||
363 1020 7898450940511597 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_USART_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_usart.o 25d66ba79c0b0dee
|
||||
22 181 7898532550082108 CMakeFiles/Group_device.dir/G_/Robot_v2/BOOT/Robot_V2/device/Can.o 45fb475e6531516a
|
||||
359 1036 7898450940466528 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_RCU_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_rcu.o 8a38055acf3e9414
|
||||
16 300 7898538835124656 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/OTA.o d3ceecf5eb5da62f
|
||||
322 1080 7898450940110203 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_CAN_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_can.o faa264156fd20815
|
||||
21 426 7891478081486856 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/flash.o b46fd0fc5d6515ff
|
||||
47 462 7891598951927716 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_FMC_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_fmc.o bf3ed2250296db4a
|
||||
220 479 7895005697805054 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf f808250924f73eee
|
||||
220 479 7895005697805054 ac6_linker_script.sct f808250924f73eee
|
||||
220 479 7895005697805054 G:/Robot_v2/BOOT/tmp/1/ac6_linker_script.sct f808250924f73eee
|
||||
15 187 7895004938817331 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
340 1106 7898450940286391 CMakeFiles/GigaDevice_Device_GD32C10x_StdPeripherals_FMC_1_0_0.dir/G_/Robot_v2/BOOT/Robot_V2/RTE/Device/GD32C103CB/gd32c10x_fmc.o bf3ed2250296db4a
|
||||
300 513 7898538839414868 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf f808250924f73eee
|
||||
300 513 7898538839414868 ac6_linker_script.sct f808250924f73eee
|
||||
300 513 7898538839414868 G:/Robot_v2/BOOT/tmp/1/ac6_linker_script.sct f808250924f73eee
|
||||
16 244 7898533609381306 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
14 5581 7891491160826172 build.ninja d9a30fa45660d8a5
|
||||
19 206 7895005700071618 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
19 206 7895005700071618 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
10 211 7895007152465347 CMakeFiles/Group_Source_Files.dir/G_/Robot_v2/BOOT/Robot_V2/main.o a1e7d66abb20e63f
|
||||
14 300 7895007152505353 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/OTA.o d3ceecf5eb5da62f
|
||||
301 523 7895007156836378 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf f808250924f73eee
|
||||
301 523 7895007156836378 ac6_linker_script.sct f808250924f73eee
|
||||
301 523 7895007156836378 G:/Robot_v2/BOOT/tmp/1/ac6_linker_script.sct f808250924f73eee
|
||||
17 198 7895007158950261 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
17 198 7895007158950261 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
2 194 7895008710790451 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
2 194 7895008710790451 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
2 201 7895009096657921 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
2 201 7895009096657921 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
10 148 7895011684472706 CMakeFiles/Group_Source_Files.dir/G_/Robot_v2/BOOT/Robot_V2/main.o a1e7d66abb20e63f
|
||||
14 201 7895011684512705 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/OTA.o d3ceecf5eb5da62f
|
||||
201 421 7895011687930635 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf f808250924f73eee
|
||||
201 421 7895011687930635 ac6_linker_script.sct f808250924f73eee
|
||||
201 421 7895011687930635 G:/Robot_v2/BOOT/tmp/1/ac6_linker_script.sct f808250924f73eee
|
||||
14 188 7895011689951545 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
14 188 7895011689951545 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
11 145 7895013365288308 CMakeFiles/Group_Source_Files.dir/G_/Robot_v2/BOOT/Robot_V2/main.o a1e7d66abb20e63f
|
||||
15 199 7895013365328307 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/OTA.o d3ceecf5eb5da62f
|
||||
199 409 7895013368607659 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf f808250924f73eee
|
||||
199 409 7895013368607659 ac6_linker_script.sct f808250924f73eee
|
||||
199 409 7895013368607659 G:/Robot_v2/BOOT/tmp/1/ac6_linker_script.sct f808250924f73eee
|
||||
14 182 7895013370499091 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
14 182 7895013370499091 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
11 159 7895017861448755 CMakeFiles/Group_Source_Files.dir/G_/Robot_v2/BOOT/Robot_V2/main.o a1e7d66abb20e63f
|
||||
16 215 7895017861494273 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/OTA.o d3ceecf5eb5da62f
|
||||
216 432 7895017865000695 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf f808250924f73eee
|
||||
216 432 7895017865000695 ac6_linker_script.sct f808250924f73eee
|
||||
216 432 7895017865000695 G:/Robot_v2/BOOT/tmp/1/ac6_linker_script.sct f808250924f73eee
|
||||
13 193 7895017866924446 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
13 193 7895017866924446 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
16 234 7898538841628138 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
16 234 7898538841628138 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
12 204 7898542357914601 CMakeFiles/Group_sys.dir/G_/Robot_v2/BOOT/Robot_V2/sys/OTA.o d3ceecf5eb5da62f
|
||||
204 424 7898542361335068 G:/Robot_v2/BOOT/out/Robot_V2/GD32C103CB/Release/Robot_V2.axf f808250924f73eee
|
||||
204 424 7898542361335068 ac6_linker_script.sct f808250924f73eee
|
||||
204 424 7898542361335068 G:/Robot_v2/BOOT/tmp/1/ac6_linker_script.sct f808250924f73eee
|
||||
17 264 7898542363703619 CMakeFiles/database cd32a3f4a99f5b2a
|
||||
17 264 7898542363703619 G:/Robot_v2/BOOT/tmp/1/CMakeFiles/database cd32a3f4a99f5b2a
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user