9.10commit

存在故障的定时器设定,平均每秒延迟1.4秒
This commit is contained in:
Shocky 2025-09-10 18:07:54 +08:00
parent 77e6088821
commit 83d56969fb
29 changed files with 4988 additions and 4344 deletions

View File

@ -1,6 +1,10 @@
{ {
"files.associations": { "files.associations": {
"ens1_gpio.h": "c", "ens1_gpio.h": "c",
"ens1_boost.h": "c" "ens1_boost.h": "c",
"ens_current_calibration.h": "c",
"ens1_timer.h": "c",
"my_header.h": "c",
"ens1_wavegen.h": "c"
} }
} }

File diff suppressed because one or more lines are too long

View File

@ -197,6 +197,54 @@
<ExecCommand></ExecCommand> <ExecCommand></ExecCommand>
<Expression>\\ENS001_BASIC_PRJ\USER/mian.c\36</Expression> <Expression>\\ENS001_BASIC_PRJ\USER/mian.c\36</Expression>
</Bp> </Bp>
<Bp>
<Number>3</Number>
<Type>0</Type>
<LineNumber>410</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\FWLIB\source\ENS1_TIMER.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>4</Number>
<Type>0</Type>
<LineNumber>430</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\FWLIB\source\ENS1_TIMER.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>5</Number>
<Type>0</Type>
<LineNumber>431</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\FWLIB\source\ENS1_TIMER.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint> </Breakpoint>
<WatchWindow1> <WatchWindow1>
<Ww> <Ww>

View File

@ -2,9 +2,11 @@
#define ENS1_TIMER_H #define ENS1_TIMER_H
#include "CMSDK_CM0.h" #include "CMSDK_CM0.h"
#include "my_header.h" #include "my_header.h"
extern uint8_t ems_control_count; // 电刺激控制计数器
extern uint8_t ems_state ; // 电刺激状态0=关闭1=开启
// 时间管理标志位结构体 // 时间管理标志位结构体
typedef struct { typedef struct {
uint8_t T_1ms; // 1ms周期标志
uint8_t T_2ms; // 2ms周期标志 uint8_t T_2ms; // 2ms周期标志
uint8_t T_6ms; // 6ms周期标志 uint8_t T_6ms; // 6ms周期标志
uint8_t T_10ms; // 10ms周期标志 uint8_t T_10ms; // 10ms周期标志
@ -15,6 +17,7 @@ typedef struct {
// 时间管理计数器结构体 // 时间管理计数器结构体
typedef struct { typedef struct {
uint8_t t_1ms; // 1ms计数器
uint8_t t_2ms; // 2ms计数器 uint8_t t_2ms; // 2ms计数器
uint8_t t_6ms; // 6ms计数器 uint8_t t_6ms; // 6ms计数器
uint8_t t_10ms; // 10ms计数器 uint8_t t_10ms; // 10ms计数器
@ -58,7 +61,7 @@ extern void CMSDK_dualtimer_setup_oneshot(CMSDK_DUALTIMER_TypeDef *CMSDK_DUALTIM
extern void CMSDK_RTC_Init_Calender(uint16_t prescaler, uint8_t data_mode, uint8_t hour_mode, uint32_t init_time, uint32_t init_date); extern void CMSDK_RTC_Init_Calender(uint16_t prescaler, uint8_t data_mode, uint8_t hour_mode, uint32_t init_time, uint32_t init_date);
extern void CMSDK_RTC_Config_Alarm(uint16_t prescaler, uint8_t data_mode, uint8_t hour_mode, uint32_t init_time, uint32_t init_date, uint32_t alarm_time, uint32_t alarm_date) ; extern void CMSDK_RTC_Config_Alarm(uint16_t prescaler, uint8_t data_mode, uint8_t hour_mode, uint32_t init_time, uint32_t init_date, uint32_t alarm_time, uint32_t alarm_date) ;
extern void CMSDK_RTC_Config_PeriodWake(uint8_t clock_sel, uint16_t prescaler, uint16_t period_time); extern void CMSDK_RTC_Config_PeriodWake(uint8_t clock_sel, uint16_t prescaler, uint16_t period_time);
extern void Fuse_result(void);
// 时间管理函数声明 // 时间管理函数声明
extern void Time_Manager_Init(void); extern void Time_Manager_Init(void);
extern void Time_Manager_Process(void); extern void Time_Manager_Process(void);

View File

@ -49,7 +49,9 @@ typedef struct {
uint8_t ramp_down_time; // 缓出时间2秒 uint8_t ramp_down_time; // 缓出时间2秒
uint8_t enable_ramp; // 启用渐进控制 uint8_t enable_ramp; // 启用渐进控制
} EMS_Config_TypeDef; } EMS_Config_TypeDef;
extern uint16_t time_count;
extern float waves_per_step;
extern EMS_Config_TypeDef g_ems_config;
// 电刺激控制函数 // 电刺激控制函数
void EMS_Configure(EMS_Config_TypeDef *config); void EMS_Configure(EMS_Config_TypeDef *config);
void EMS_Start(void); void EMS_Start(void);
@ -57,5 +59,5 @@ void EMS_Stop(void);
void EMS_UpdateIntensity(uint16_t intensity); void EMS_UpdateIntensity(uint16_t intensity);
void EMS_Process(void); void EMS_Process(void);
void EMS_Process_Ramp(void); // 缓进缓出处理函数 void EMS_Process_Ramp(void); // 缓进缓出处理函数
extern EMS_Config_TypeDef ems_config;
#endif #endif

View File

@ -2,19 +2,19 @@
#include "ENS_CURRENT_CALIBRATION.h" #include "ENS_CURRENT_CALIBRATION.h"
#include "ENS1_CLOCK.h" #include "ENS1_CLOCK.h"
#include <string.h> #include <string.h>
uint8_t ems_control_count = 0; // 电刺激控制计数器
void TIMER0_Init(uint32_t Int_Period) //定时器中断周期 单位ms uint8_t ems_state = 0; // 电刺激状态0=关闭1=开启
uint16_t time_count = 0;
void TIMER0_Init(uint32_t Int_Period) //形参,输入中断触发周期 单位ms
{ {
PCLK_Enable(TIMER0_PCLK_EN); PCLK_Enable(TIMER0_PCLK_EN);
NVIC_DisableIRQ(TIMER0_IRQn); NVIC_DisableIRQ(TIMER0_IRQn);
NVIC_ClearPendingIRQ(TIMER0_IRQn); NVIC_ClearPendingIRQ(TIMER0_IRQn);
CMSDK_timer_Init(CMSDK_TIMER0,(uint32_t)(APB_Clock_Freq / 1000 *Int_Period) , 1); //
uint32_t reload_value = (uint32_t)(APB_Clock_Freq / 1000 * Int_Period);
CMSDK_timer_Init(CMSDK_TIMER0, reload_value, 1); //
NVIC_EnableIRQ(TIMER0_IRQn); NVIC_EnableIRQ(TIMER0_IRQn);
} }
void TIMER1_Init(uint32_t Int_Period) void TIMER1_Init(uint32_t Int_Period)
{ {
PCLK_Enable(TIMER1_PCLK_EN); PCLK_Enable(TIMER1_PCLK_EN);
@ -376,6 +376,67 @@ void CMSDK_timer_Init_ExtEnable(CMSDK_TIMER_TypeDef *CMSDK_TIMER, uint32_t reloa
return; return;
} }
void Fuse_result(void)
{
// 获取时间标志位
Time_Flag_TypeDef* time_flags = Time_Manager_GetFlags();
// 处理电刺激(在主循环中运行)
// 注意这里不再直接调用EMS_Process(),而是通过状态控制
if (time_flags->T_1ms) {
// 1ms周期任务 - 高频控制任务
time_count++;
EMS_Process();
time_flags->T_1ms = 0; // 清除标志位
}
// 基于时间标志位执行不同周期的任务
if (time_flags->T_2ms) {
// 2ms周期任务 - 高频控制任务
time_flags->T_2ms = 0; // 清除标志位
}
if (time_flags->T_10ms) {
// 10ms周期任务 - 中频控制任务
time_flags->T_10ms = 0; // 清除标志位
}
if (time_flags->T_100ms) {
// 100ms周期任务 - 低频控制任务
time_flags->T_100ms = 0; // 清除标志位
}
if (time_flags->T_1s) {
GPIO_Overturn(GPIO_19);
// 1s周期任务 - 超低频任务
ems_control_count++; // 每秒递增计数器
// 间断性放电控制逻辑
if (ems_control_count <= 10) {
// 前10秒开启电刺激
if (ems_state == 0) {
ems_state = 1;
EMS_Start(); // 启动电刺激
}
// 处理电刺激
} else if (ems_control_count <= 20) {
// 后10秒关闭电刺激
if (ems_state == 1) {
ems_state = 0;
EMS_Stop(); // 停止电刺激
}
} else {
// 重置计数器,开始新的周期
ems_control_count = 0;
}
time_flags->T_1s = 0; // 清除标志位
}
// 定时器中断处理在 TIMER0_Handler() 中
}
@ -406,6 +467,7 @@ void Time_Manager_Init(void)
void Time_Manager_Process(void) void Time_Manager_Process(void)
{ {
// 所有计数器递增 // 所有计数器递增
g_time_counters.t_1ms++;
g_time_counters.t_2ms++; g_time_counters.t_2ms++;
g_time_counters.t_6ms++; g_time_counters.t_6ms++;
g_time_counters.t_10ms++; g_time_counters.t_10ms++;
@ -414,6 +476,13 @@ void Time_Manager_Process(void)
g_time_counters.t_1s++; g_time_counters.t_1s++;
// 2ms控制周期 // 2ms控制周期
if (g_time_counters.t_1ms >= 1)
{
g_time_counters.t_1ms = 0;
g_time_flags.T_1ms = 1;
/* code */
}
if (g_time_counters.t_2ms >= 2) { if (g_time_counters.t_2ms >= 2) {
g_time_counters.t_2ms = 0; g_time_counters.t_2ms = 0;
g_time_flags.T_2ms = 1; g_time_flags.T_2ms = 1;
@ -448,6 +517,7 @@ void Time_Manager_Process(void)
g_time_counters.t_1s = 0; g_time_counters.t_1s = 0;
g_time_flags.T_1s = 1; g_time_flags.T_1s = 1;
} }
Fuse_result();
} }
/** /**
@ -483,7 +553,6 @@ uint32_t time_flag =0;
void TIMER0_Handler(void){ void TIMER0_Handler(void){
CMSDK_TIMER0->INTCLEAR = 1; CMSDK_TIMER0->INTCLEAR = 1;
timer0_irq_occurred++; timer0_irq_occurred++;
// 调用时间管理处理函数 // 调用时间管理处理函数
Time_Manager_Process(); Time_Manager_Process();

View File

@ -21,14 +21,26 @@ Modification: 初版
#include "ENS1_WAVEGEN.h" #include "ENS1_WAVEGEN.h"
#include "ENS1_CLOCK.h" #include "ENS1_CLOCK.h"
#include "ENS1_BOOST.h" #include "ENS1_BOOST.h"
EMS_Config_TypeDef ems_config = {
.frequency = 100, // 100Hz
.duration = 1000, // 1000ms
.intensity = 128, // 中等强度
.rest_time = 100, // 100ms休息时间
.silent_time = 50, // 50ms静默时间
// 缓进缓出控制参数
.ramp_up_time = 2, // 缓进时间2秒
.hold_time = 6, // 保持时间6秒
.ramp_down_time = 2, // 缓出时间2秒·
.enable_ramp = 1 // 启用渐进控制
};
// 全局变量 // 全局变量
static EMS_Config_TypeDef g_ems_config = {0}; EMS_Config_TypeDef g_ems_config = {0};
static volatile uint8_t g_ems_running = 0; static volatile uint8_t g_ems_running = 0;
static volatile uint32_t g_ems_count = 0; static volatile uint32_t g_ems_count = 0;
float waves_per_step = 0;
// 缓进缓出控制变量 // 缓进缓出控制变量
static volatile uint16_t g_current_intensity = 0; // 当前强度 static volatile float g_current_intensity = 0; // 当前强度
static volatile uint8_t g_ramp_phase = 0; // 渐进阶段0=缓进, 1=保持, 2=缓出 static volatile uint8_t g_ramp_phase = 0; // 渐进阶段0=缓进, 1=保持, 2=缓出
static volatile uint32_t g_wave_counter = 0; // 方波周期计数器 static volatile uint32_t g_wave_counter = 0; // 方波周期计数器
static volatile uint32_t g_ramp_step_counter = 0; // 缓进步进计数器 static volatile uint32_t g_ramp_step_counter = 0; // 缓进步进计数器
@ -147,7 +159,6 @@ void wavegen_Init(void)
void wavegen_Start(void) void wavegen_Start(void)
{ {
g_ems_running = 1; g_ems_running = 1;
g_ems_count = 0;
// 初始化缓进缓出控制 // 初始化缓进缓出控制
if (g_ems_config.enable_ramp) if (g_ems_config.enable_ramp)
@ -182,7 +193,6 @@ void EMS_Start(void)
void EMS_Stop(void) void EMS_Stop(void)
{ {
g_ems_running = 0; g_ems_running = 0;
g_ems_count = 0; // 重置计数器
g_current_intensity = 0; // 重置强度 g_current_intensity = 0; // 重置强度
g_ramp_phase = 0; // 重置渐进阶段 g_ramp_phase = 0; // 重置渐进阶段
g_wave_counter = 0; // 重置方波计数器 g_wave_counter = 0; // 重置方波计数器
@ -199,90 +209,69 @@ void EMS_UpdateIntensity(uint16_t intensity)
// 缓进缓出处理函数(在电刺激处理中调用) // 缓进缓出处理函数(在电刺激处理中调用)
void EMS_Process_Ramp(void) void EMS_Process_Ramp(void)
{ {
if (!g_ems_config.enable_ramp || !g_ems_running)
if(ems_state)
{ {
return; // 如果未启用缓进缓出或未运行,直接返回 float up_period = ems_config.ramp_up_time;
} float down_period = ems_config.ramp_down_time;
if (!g_ems_config.enable_ramp || !g_ems_running)
// 计算每个强度步进需要的方波周期数
// 2秒 = 2000000微秒每个方波周期100微秒所以2秒内有20000个方波周期
// 需要从0增加到128所以每156.25个方波周期增加1个强度单位
uint32_t waves_per_step = 0;
uint32_t total_waves_ramp_up = g_ems_config.ramp_up_time * 5; // 缓进阶段总方波周期数
uint32_t total_waves_ramp_down = g_ems_config.ramp_down_time * 1; // 缓出阶段总方波周期数
uint32_t total_waves_hold = g_ems_config.hold_time * 5; // 保持阶段总方波周期数
if (g_ems_config.intensity > 0)
{
waves_per_step = total_waves_ramp_up / g_ems_config.intensity; // 每个强度步进需要的方波周期数
}
g_wave_counter++; // 每次调用增加一个方波周期计数
switch (g_ramp_phase)
{
case 0: // 缓进阶段
if (g_ramp_step_counter < total_waves_ramp_up)
{ {
// 检查是否需要增加强度 return; // 如果未启用缓进缓出或未运行,直接返回
if (g_wave_counter >= waves_per_step) }
switch (g_ramp_phase)
{
case 0: // 缓进阶段
{ {
g_wave_counter = 0; // 重置方波计数器 if ( time_count <= ems_config.ramp_up_time*1000 )
if (g_current_intensity < g_ems_config.intensity)
{ {
g_current_intensity++; if (g_current_intensity < g_ems_config.intensity)
{
g_current_intensity += waves_per_step;
}
} }
}
g_ramp_step_counter++;
}
else
{
// 缓进完成,进入保持阶段
g_ramp_phase = 1;
g_ramp_step_counter = 0;
g_current_intensity = g_ems_config.intensity; // 确保达到最大强度
}
break;
case 1: // 保持阶段 else
if (g_ramp_step_counter < total_waves_hold) {
{ // 缓进完成,进入保持阶段
// 保持最大强度 g_ramp_phase = 1;
g_current_intensity = g_ems_config.intensity; g_current_intensity = g_ems_config.intensity; // 确保达到最大强度
g_ramp_step_counter++; }
}
else
{
// 保持完成,进入缓出阶段
g_ramp_phase = 2;
g_ramp_step_counter = 0;
g_wave_counter = 0; // 重置方波计数器
}
break;
case 2: // 缓出阶段 break;
if (g_ramp_step_counter < total_waves_ramp_down) }
{ case 1:
// 检查是否需要减少强度
if (g_wave_counter >= waves_per_step)
{ {
g_wave_counter = 0; // 重置方波计数器 if(time_count <= (ems_config.ramp_up_time+ems_config.hold_time)*1000)
if (g_current_intensity > 0)
{ {
g_current_intensity--;
}
}
g_ramp_step_counter++;
}
else
{
// 缓出完成,停止电刺激
g_current_intensity = 0;
// 这里不直接停止,让主循环控制停止 g_current_intensity = g_ems_config.intensity;
}
else g_ramp_phase = 2;
break;
}
case 2:
{
if(time_count <= (ems_config.ramp_up_time+ems_config.hold_time+ems_config.ramp_down_time)*1000)
{
if (g_current_intensity > 0)
{
g_current_intensity -= waves_per_step;
}
}
else
{
g_ramp_phase = 0;
}
break;
}
} }
break;
} }
else time_count = 0;
} }
// 电刺激主循环处理函数(在主循环中调用) // 电刺激主循环处理函数(在主循环中调用)
@ -290,31 +279,9 @@ void EMS_Process(void)
{ {
if (g_ems_running) if (g_ems_running)
{ {
g_ems_count++;
// 处理缓进缓出控制
EMS_Process_Ramp(); EMS_Process_Ramp();
// 使用当前缓进缓出的强度 // 使用当前缓进缓出的强度
uint16_t current_intensity = g_current_intensity; uint16_t current_intensity = g_current_intensity;
wavegen_driverA_sine_test(WAVE_GEN_DRVA_BLK0, current_intensity);
// 根据配置生成不同强度的方波
if (g_ems_count < 1280)
{
wavegen_driverA_sine_test(WAVE_GEN_DRVA_BLK0, current_intensity);
}
else if (g_ems_count < 1280 * 256)
{
// 休息时间
}
else if (g_ems_count < 1280 * 2)
{
wavegen_driverA_sine_test(WAVE_GEN_DRVA_BLK0, current_intensity);
}
else
{
// 重置计数器,开始新的周期
g_ems_count = 0;
}
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -10,18 +10,13 @@ Section Cross References
mian.o(i.main) refers to ens1_gpio.o(i.GPIO_Output) for GPIO_Output mian.o(i.main) refers to ens1_gpio.o(i.GPIO_Output) for GPIO_Output
mian.o(i.main) refers to ens1_uart.o(i.UART_Init) for UART_Init mian.o(i.main) refers to ens1_uart.o(i.UART_Init) for UART_Init
mian.o(i.main) refers to ens1_uart.o(i.UART_ITConfig) for UART_ITConfig mian.o(i.main) refers to ens1_uart.o(i.UART_ITConfig) for UART_ITConfig
mian.o(i.main) refers to ens1_timer.o(i.TIMER0_Init) for TIMER0_Init
mian.o(i.main) refers to ens1_timer.o(i.Time_Manager_Init) for Time_Manager_Init mian.o(i.main) refers to ens1_timer.o(i.Time_Manager_Init) for Time_Manager_Init
mian.o(i.main) refers to ens1_timer.o(i.TIMER0_Init) for TIMER0_Init
mian.o(i.main) refers to ens1_wavegen.o(i.wavegen_Init) for wavegen_Init mian.o(i.main) refers to ens1_wavegen.o(i.wavegen_Init) for wavegen_Init
mian.o(i.main) refers to ens1_wavegen.o(i.EMS_Configure) for EMS_Configure mian.o(i.main) refers to ens1_wavegen.o(i.EMS_Configure) for EMS_Configure
mian.o(i.main) refers to ens1_wavegen.o(i.EMS_Start) for EMS_Start mian.o(i.main) refers to ens1_wavegen.o(i.EMS_Start) for EMS_Start
mian.o(i.main) refers to ens1_timer.o(i.Time_Manager_GetFlags) for Time_Manager_GetFlags
mian.o(i.main) refers to ens1_wavegen.o(i.EMS_Process) for EMS_Process
mian.o(i.main) refers to ens1_wavegen.o(i.EMS_Stop) for EMS_Stop
mian.o(i.main) refers to ens1_gpio.o(i.GPIO_Overturn) for GPIO_Overturn
mian.o(i.main) refers to ens1_uart.o(.data) for UART1_Init mian.o(i.main) refers to ens1_uart.o(.data) for UART1_Init
mian.o(i.main) refers to mian.o(.constdata) for .constdata mian.o(i.main) refers to ens1_wavegen.o(.data) for ems_config
mian.o(i.main) refers to mian.o(.data) for ems_control_count
ens1_uart.o(i.UART0_Handler) refers to ens1_uart.o(i.NVIC_ClearPendingIRQ) for NVIC_ClearPendingIRQ ens1_uart.o(i.UART0_Handler) refers to ens1_uart.o(i.NVIC_ClearPendingIRQ) for NVIC_ClearPendingIRQ
ens1_uart.o(i.UART0_Handler) refers to ens1_uart.o(i.UART_INT_TYPE) for UART_INT_TYPE ens1_uart.o(i.UART0_Handler) refers to ens1_uart.o(i.UART_INT_TYPE) for UART_INT_TYPE
ens1_uart.o(i.UART0_Handler) refers to ens1_uart.o(i.UartPutc) for UartPutc ens1_uart.o(i.UART0_Handler) refers to ens1_uart.o(i.UartPutc) for UartPutc
@ -61,6 +56,12 @@ Section Cross References
ens1_timer.o(i.CMSDK_dualtimer_setup_freerunning) refers to ens1_timer.o(i.CMSDK_dualtimer_irq_clear) for CMSDK_dualtimer_irq_clear ens1_timer.o(i.CMSDK_dualtimer_setup_freerunning) refers to ens1_timer.o(i.CMSDK_dualtimer_irq_clear) for CMSDK_dualtimer_irq_clear
ens1_timer.o(i.CMSDK_dualtimer_setup_oneshot) refers to ens1_timer.o(i.CMSDK_dualtimer_irq_clear) for CMSDK_dualtimer_irq_clear ens1_timer.o(i.CMSDK_dualtimer_setup_oneshot) refers to ens1_timer.o(i.CMSDK_dualtimer_irq_clear) for CMSDK_dualtimer_irq_clear
ens1_timer.o(i.CMSDK_dualtimer_setup_periodic) refers to ens1_timer.o(i.CMSDK_dualtimer_irq_clear) for CMSDK_dualtimer_irq_clear ens1_timer.o(i.CMSDK_dualtimer_setup_periodic) refers to ens1_timer.o(i.CMSDK_dualtimer_irq_clear) for CMSDK_dualtimer_irq_clear
ens1_timer.o(i.Fuse_result) refers to ens1_timer.o(i.Time_Manager_GetFlags) for Time_Manager_GetFlags
ens1_timer.o(i.Fuse_result) refers to ens1_wavegen.o(i.EMS_Process) for EMS_Process
ens1_timer.o(i.Fuse_result) refers to ens1_gpio.o(i.GPIO_Overturn) for GPIO_Overturn
ens1_timer.o(i.Fuse_result) refers to ens1_wavegen.o(i.EMS_Start) for EMS_Start
ens1_timer.o(i.Fuse_result) refers to ens1_wavegen.o(i.EMS_Stop) for EMS_Stop
ens1_timer.o(i.Fuse_result) refers to ens1_timer.o(.data) for time_count
ens1_timer.o(i.TIMER0_Handler) refers to ens1_timer.o(i.Time_Manager_Process) for Time_Manager_Process ens1_timer.o(i.TIMER0_Handler) refers to ens1_timer.o(i.Time_Manager_Process) for Time_Manager_Process
ens1_timer.o(i.TIMER0_Handler) refers to ens1_timer.o(.data) for timer0_irq_occurred ens1_timer.o(i.TIMER0_Handler) refers to ens1_timer.o(.data) for timer0_irq_occurred
ens1_timer.o(i.TIMER0_Init) refers to ens1_clock.o(i.PCLK_Enable) for PCLK_Enable ens1_timer.o(i.TIMER0_Init) refers to ens1_clock.o(i.PCLK_Enable) for PCLK_Enable
@ -83,21 +84,27 @@ Section Cross References
ens1_timer.o(i.Time_Manager_GetFlags) refers to ens1_timer.o(.data) for g_time_flags ens1_timer.o(i.Time_Manager_GetFlags) refers to ens1_timer.o(.data) for g_time_flags
ens1_timer.o(i.Time_Manager_Init) refers to memseta.o(.text) for __aeabi_memclr4 ens1_timer.o(i.Time_Manager_Init) refers to memseta.o(.text) for __aeabi_memclr4
ens1_timer.o(i.Time_Manager_Init) refers to ens1_timer.o(.data) for g_time_flags ens1_timer.o(i.Time_Manager_Init) refers to ens1_timer.o(.data) for g_time_flags
ens1_timer.o(i.Time_Manager_Process) refers to ens1_timer.o(i.Fuse_result) for Fuse_result
ens1_timer.o(i.Time_Manager_Process) refers to ens1_timer.o(.data) for g_time_counters ens1_timer.o(i.Time_Manager_Process) refers to ens1_timer.o(.data) for g_time_counters
ens1_timer.o(i.Time_Manager_Reset) refers to ens1_timer.o(i.Time_Manager_Init) for Time_Manager_Init ens1_timer.o(i.Time_Manager_Reset) refers to ens1_timer.o(i.Time_Manager_Init) for Time_Manager_Init
ens1_wavegen.o(i.EMS_Configure) refers to memcpya.o(.text) for __aeabi_memcpy ens1_wavegen.o(i.EMS_Configure) refers to memcpya.o(.text) for __aeabi_memcpy
ens1_wavegen.o(i.EMS_Configure) refers to ens1_wavegen.o(.bss) for g_ems_config ens1_wavegen.o(i.EMS_Configure) refers to ens1_wavegen.o(.bss) for g_ems_config
ens1_wavegen.o(i.EMS_Process) refers to ens1_wavegen.o(i.EMS_Process_Ramp) for EMS_Process_Ramp ens1_wavegen.o(i.EMS_Process) refers to ens1_wavegen.o(i.EMS_Process_Ramp) for EMS_Process_Ramp
ens1_wavegen.o(i.EMS_Process) refers to ffixui.o(.text) for __aeabi_f2uiz
ens1_wavegen.o(i.EMS_Process) refers to ens1_wavegen.o(i.wavegen_driverA_sine_test) for wavegen_driverA_sine_test ens1_wavegen.o(i.EMS_Process) refers to ens1_wavegen.o(i.wavegen_driverA_sine_test) for wavegen_driverA_sine_test
ens1_wavegen.o(i.EMS_Process) refers to ens1_wavegen.o(.data) for g_ems_running ens1_wavegen.o(i.EMS_Process) refers to ens1_wavegen.o(.data) for g_ems_running
ens1_wavegen.o(i.EMS_Process_Ramp) refers to uidiv.o(.text) for __aeabi_uidivmod ens1_wavegen.o(i.EMS_Process_Ramp) refers to ffltui.o(.text) for __aeabi_ui2f
ens1_wavegen.o(i.EMS_Process_Ramp) refers to cfrcmple.o(.text) for __aeabi_cfrcmple
ens1_wavegen.o(i.EMS_Process_Ramp) refers to fadd.o(.text) for __aeabi_fadd
ens1_wavegen.o(i.EMS_Process_Ramp) refers to ens1_timer.o(.data) for ems_state
ens1_wavegen.o(i.EMS_Process_Ramp) refers to ens1_wavegen.o(.data) for ems_config
ens1_wavegen.o(i.EMS_Process_Ramp) refers to ens1_wavegen.o(.bss) for g_ems_config ens1_wavegen.o(i.EMS_Process_Ramp) refers to ens1_wavegen.o(.bss) for g_ems_config
ens1_wavegen.o(i.EMS_Process_Ramp) refers to ens1_wavegen.o(.data) for g_ems_running
ens1_wavegen.o(i.EMS_Start) refers to ens1_wavegen.o(i.wavegen_Start) for wavegen_Start ens1_wavegen.o(i.EMS_Start) refers to ens1_wavegen.o(i.wavegen_Start) for wavegen_Start
ens1_wavegen.o(i.EMS_Stop) refers to ens1_wavegen.o(i.wavegen_Stop) for wavegen_Stop ens1_wavegen.o(i.EMS_Stop) refers to ens1_wavegen.o(i.wavegen_Stop) for wavegen_Stop
ens1_wavegen.o(i.EMS_Stop) refers to ens1_wavegen.o(.data) for g_ems_running ens1_wavegen.o(i.EMS_Stop) refers to ens1_wavegen.o(.data) for g_ems_running
ens1_wavegen.o(i.EMS_UpdateIntensity) refers to ens1_wavegen.o(.bss) for g_ems_config ens1_wavegen.o(i.EMS_UpdateIntensity) refers to ens1_wavegen.o(.bss) for g_ems_config
ens1_wavegen.o(i.wavegen_Init) refers to ens1_boost.o(i.boost_voltage_select_55V) for boost_voltage_select_55V ens1_wavegen.o(i.wavegen_Init) refers to ens1_boost.o(i.boost_voltage_select_55V) for boost_voltage_select_55V
ens1_wavegen.o(i.wavegen_Start) refers to ffltui.o(.text) for __aeabi_ui2f
ens1_wavegen.o(i.wavegen_Start) refers to ens1_wavegen.o(.data) for g_ems_running ens1_wavegen.o(i.wavegen_Start) refers to ens1_wavegen.o(.data) for g_ems_running
ens1_wavegen.o(i.wavegen_Start) refers to ens1_wavegen.o(.bss) for g_ems_config ens1_wavegen.o(i.wavegen_Start) refers to ens1_wavegen.o(.bss) for g_ems_config
ens1_wavegen.o(i.wavegen_driverA_sine_test) refers to printfb.o(i.__0printf$bare) for __2printf ens1_wavegen.o(i.wavegen_driverA_sine_test) refers to printfb.o(i.__0printf$bare) for __2printf
@ -423,14 +430,20 @@ Section Cross References
mallocra.o(i.__realloc$memalign) refers to mvars.o(.data) for __microlib_freelist mallocra.o(i.__realloc$memalign) refers to mvars.o(.data) for __microlib_freelist
mallocra.o(i.internal_alloc) refers to memcpya.o(.text) for __aeabi_memcpy mallocra.o(i.internal_alloc) refers to memcpya.o(.text) for __aeabi_memcpy
mallocra.o(i.internal_alloc) refers to mvars.o(.data) for __microlib_freelist mallocra.o(i.internal_alloc) refers to mvars.o(.data) for __microlib_freelist
fadd.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
fadd.o(.text) refers to fepilogue.o(.text) for _float_epilogue
ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ddiv.o(.text) refers to depilogue.o(.text) for _double_round ddiv.o(.text) refers to depilogue.o(.text) for _double_round
ffltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
ffltui.o(.text) refers to fepilogue.o(.text) for _float_epilogue
dflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp dflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dflti.o(.text) refers to depilogue.o(.text) for _double_epilogue dflti.o(.text) refers to depilogue.o(.text) for _double_epilogue
dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dfltui.o(.text) refers to depilogue.o(.text) for _double_epilogue dfltui.o(.text) refers to depilogue.o(.text) for _double_epilogue
ffixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dfixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp dfixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dfixui.o(.text) refers to llushr.o(.text) for __aeabi_llsr dfixui.o(.text) refers to llushr.o(.text) for __aeabi_llsr
cfrcmple.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
dunder.o(i.__mathlib_dbl_divzero) refers to ddiv.o(.text) for __aeabi_ddiv dunder.o(i.__mathlib_dbl_divzero) refers to ddiv.o(.text) for __aeabi_ddiv
dunder.o(i.__mathlib_dbl_infnan) refers to dscalb.o(.text) for __ARM_scalbn dunder.o(i.__mathlib_dbl_infnan) refers to dscalb.o(.text) for __ARM_scalbn
dunder.o(i.__mathlib_dbl_infnan2) refers to dadd.o(.text) for __aeabi_dadd dunder.o(i.__mathlib_dbl_infnan2) refers to dadd.o(.text) for __aeabi_dadd
@ -580,53 +593,57 @@ Image Symbol Table
Symbol Name Value Ov Type Size Object(Section) Symbol Name Value Ov Type Size Object(Section)
../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE
../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE
../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE
../clib/microlib/errno.c 0x00000000 Number 0 errno.o ABSOLUTE ../clib/microlib/errno.c 0x00000000 Number 0 errno.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.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 entry.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 entry8a.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloc.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloc.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE
../clib/microlib/malloc/mvars.c 0x00000000 Number 0 mvars.o ABSOLUTE ../clib/microlib/malloc/mvars.c 0x00000000 Number 0 mvars.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.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 printfb.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE
../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.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 printf7.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE
../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.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/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE ../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE
../clib/microlib/stubs.s 0x00000000 Number 0 useno.o ABSOLUTE
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
../clib/microlib/stubs.s 0x00000000 Number 0 useno.o ABSOLUTE
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
../fplib/microlib/fpadd.c 0x00000000 Number 0 fadd.o ABSOLUTE
../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixui.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 dflti.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 dflti.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
../fplib/microlib/fpscalb.c 0x00000000 Number 0 dscalb.o ABSOLUTE ../fplib/microlib/fpscalb.c 0x00000000 Number 0 dscalb.o ABSOLUTE
../fplib/microlib/fpsqrt.c 0x00000000 Number 0 dsqrt.o ABSOLUTE ../fplib/microlib/fpsqrt.c 0x00000000 Number 0 dsqrt.o ABSOLUTE
@ -636,8 +653,8 @@ Image Symbol Table
../mathlib/pow.c 0x00000000 Number 0 pow_x.o ABSOLUTE ../mathlib/pow.c 0x00000000 Number 0 pow_x.o ABSOLUTE
../mathlib/pow.c 0x00000000 Number 0 pow.o ABSOLUTE ../mathlib/pow.c 0x00000000 Number 0 pow.o ABSOLUTE
../mathlib/qnan.c 0x00000000 Number 0 qnan.o ABSOLUTE ../mathlib/qnan.c 0x00000000 Number 0 qnan.o ABSOLUTE
../mathlib/sqrt.c 0x00000000 Number 0 sqrt.o ABSOLUTE
../mathlib/sqrt.c 0x00000000 Number 0 sqrt_x.o ABSOLUTE ../mathlib/sqrt.c 0x00000000 Number 0 sqrt_x.o ABSOLUTE
../mathlib/sqrt.c 0x00000000 Number 0 sqrt.o ABSOLUTE
CORE\ARM\startup_CMSDK_CM0.s 0x00000000 Number 0 startup_cmsdk_cm0.o ABSOLUTE CORE\ARM\startup_CMSDK_CM0.s 0x00000000 Number 0 startup_cmsdk_cm0.o ABSOLUTE
CORE\\system_CMSDK_CM0.c 0x00000000 Number 0 system_cmsdk_cm0.o ABSOLUTE CORE\\system_CMSDK_CM0.c 0x00000000 Number 0 system_cmsdk_cm0.o ABSOLUTE
CORE\system_CMSDK_CM0.c 0x00000000 Number 0 system_cmsdk_cm0.o ABSOLUTE CORE\system_CMSDK_CM0.c 0x00000000 Number 0 system_cmsdk_cm0.o ABSOLUTE
@ -661,6 +678,7 @@ Image Symbol Table
USER\mian.c 0x00000000 Number 0 mian.o ABSOLUTE USER\mian.c 0x00000000 Number 0 mian.o ABSOLUTE
cdcmple.s 0x00000000 Number 0 cdcmple.o ABSOLUTE cdcmple.s 0x00000000 Number 0 cdcmple.o ABSOLUTE
cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE
cfrcmple.s 0x00000000 Number 0 cfrcmple.o ABSOLUTE
dc.s 0x00000000 Number 0 dc.o ABSOLUTE dc.s 0x00000000 Number 0 dc.o ABSOLUTE
handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE
init.s 0x00000000 Number 0 init.o ABSOLUTE init.s 0x00000000 Number 0 init.o ABSOLUTE
@ -679,119 +697,120 @@ Image Symbol Table
.text 0x100000f0 Section 0 uidiv.o(.text) .text 0x100000f0 Section 0 uidiv.o(.text)
.text 0x1000011c Section 0 memcpya.o(.text) .text 0x1000011c Section 0 memcpya.o(.text)
.text 0x10000140 Section 0 memseta.o(.text) .text 0x10000140 Section 0 memseta.o(.text)
.text 0x10000164 Section 0 ddiv.o(.text) .text 0x10000164 Section 0 fadd.o(.text)
.text 0x10000254 Section 0 dflti.o(.text) .text 0x10000218 Section 0 ddiv.o(.text)
.text 0x1000027c Section 0 dfltui.o(.text) .text 0x10000308 Section 0 ffltui.o(.text)
.text 0x10000298 Section 0 dfixui.o(.text) .text 0x10000318 Section 0 dflti.o(.text)
.text 0x100002d4 Section 0 llushr.o(.text) .text 0x10000340 Section 0 dfltui.o(.text)
.text 0x100002f6 Section 0 iusefp.o(.text) .text 0x1000035c Section 0 ffixui.o(.text)
.text 0x100002f6 Section 0 depilogue.o(.text) .text 0x10000384 Section 0 dfixui.o(.text)
.text 0x100003b4 Section 0 dadd.o(.text) .text 0x100003c0 Section 20 cfrcmple.o(.text)
.text 0x10000518 Section 0 dmul.o(.text) .text 0x100003d4 Section 0 llushr.o(.text)
.text 0x100005e8 Section 0 dscalb.o(.text) .text 0x100003f6 Section 0 iusefp.o(.text)
.text 0x10000614 Section 40 cdrcmple.o(.text) .text 0x100003f6 Section 0 fepilogue.o(.text)
.text 0x1000063c Section 36 init.o(.text) .text 0x10000478 Section 0 depilogue.o(.text)
.text 0x10000660 Section 0 llshl.o(.text) .text 0x10000538 Section 0 dadd.o(.text)
.text 0x10000680 Section 0 llsshr.o(.text) .text 0x1000069c Section 0 dmul.o(.text)
.text 0x100006a6 Section 0 dsqrt.o(.text) .text 0x1000076c Section 0 dscalb.o(.text)
i.CMSDK_timer_Init 0x10000748 Section 0 ens1_timer.o(i.CMSDK_timer_Init) .text 0x10000798 Section 40 cdrcmple.o(.text)
i.ClockInit 0x10000764 Section 0 ens1_clock.o(i.ClockInit) .text 0x100007c0 Section 36 init.o(.text)
i.ClockInitSet 0x1000077c Section 0 ens1_clock.o(i.ClockInitSet) .text 0x100007e4 Section 0 llshl.o(.text)
i.EMS_Configure 0x100008e0 Section 0 ens1_wavegen.o(i.EMS_Configure) .text 0x10000804 Section 0 llsshr.o(.text)
i.EMS_Process 0x100008f8 Section 0 ens1_wavegen.o(i.EMS_Process) .text 0x1000082a Section 0 dsqrt.o(.text)
i.EMS_Process_Ramp 0x10000964 Section 0 ens1_wavegen.o(i.EMS_Process_Ramp) i.CMSDK_timer_Init 0x100008cc Section 0 ens1_timer.o(i.CMSDK_timer_Init)
i.EMS_Start 0x10000a94 Section 0 ens1_wavegen.o(i.EMS_Start) i.ClockInit 0x100008e8 Section 0 ens1_clock.o(i.ClockInit)
i.EMS_Stop 0x10000a9c Section 0 ens1_wavegen.o(i.EMS_Stop) i.ClockInitSet 0x10000900 Section 0 ens1_clock.o(i.ClockInitSet)
i.GPIO_AltFunction 0x10000adc Section 0 ens1_gpio.o(i.GPIO_AltFunction) i.EMS_Configure 0x10000a64 Section 0 ens1_wavegen.o(i.EMS_Configure)
i.GPIO_GetOutputValue 0x10000b38 Section 0 ens1_gpio.o(i.GPIO_GetOutputValue) i.EMS_Process 0x10000a7c Section 0 ens1_wavegen.o(i.EMS_Process)
i.GPIO_IO_Init 0x10000b50 Section 0 ens1_gpio.o(i.GPIO_IO_Init) i.EMS_Process_Ramp 0x10000aac Section 0 ens1_wavegen.o(i.EMS_Process_Ramp)
i.GPIO_Output 0x10000cac Section 0 ens1_gpio.o(i.GPIO_Output) i.EMS_Start 0x10000be0 Section 0 ens1_wavegen.o(i.EMS_Start)
i.GPIO_Overturn 0x10000cd4 Section 0 ens1_gpio.o(i.GPIO_Overturn) i.EMS_Stop 0x10000be8 Section 0 ens1_wavegen.o(i.EMS_Stop)
i.GPIO_ResetOutput 0x10000cfc Section 0 ens1_gpio.o(i.GPIO_ResetOutput) i.Fuse_result 0x10000c20 Section 0 ens1_timer.o(i.Fuse_result)
i.GPIO_SetOutput 0x10000d10 Section 0 ens1_gpio.o(i.GPIO_SetOutput) i.GPIO_AltFunction 0x10000cc4 Section 0 ens1_gpio.o(i.GPIO_AltFunction)
i.MTP_init 0x10000d24 Section 0 ens1_mtp.o(i.MTP_init) i.GPIO_GetOutputValue 0x10000d20 Section 0 ens1_gpio.o(i.GPIO_GetOutputValue)
i.NVIC_ClearPendingIRQ 0x10000d28 Section 0 ens1_uart.o(i.NVIC_ClearPendingIRQ) i.GPIO_IO_Init 0x10000d38 Section 0 ens1_gpio.o(i.GPIO_IO_Init)
NVIC_ClearPendingIRQ 0x10000d29 Thumb Code 14 ens1_uart.o(i.NVIC_ClearPendingIRQ) i.GPIO_Output 0x10000e94 Section 0 ens1_gpio.o(i.GPIO_Output)
i.NVIC_ClearPendingIRQ 0x10000d3c Section 0 ens1_timer.o(i.NVIC_ClearPendingIRQ) i.GPIO_Overturn 0x10000ebc Section 0 ens1_gpio.o(i.GPIO_Overturn)
NVIC_ClearPendingIRQ 0x10000d3d Thumb Code 14 ens1_timer.o(i.NVIC_ClearPendingIRQ) i.GPIO_ResetOutput 0x10000ee4 Section 0 ens1_gpio.o(i.GPIO_ResetOutput)
i.NVIC_DisableIRQ 0x10000d50 Section 0 ens1_uart.o(i.NVIC_DisableIRQ) i.GPIO_SetOutput 0x10000ef8 Section 0 ens1_gpio.o(i.GPIO_SetOutput)
NVIC_DisableIRQ 0x10000d51 Thumb Code 14 ens1_uart.o(i.NVIC_DisableIRQ) i.MTP_init 0x10000f0c Section 0 ens1_mtp.o(i.MTP_init)
i.NVIC_DisableIRQ 0x10000d64 Section 0 ens1_timer.o(i.NVIC_DisableIRQ) i.NVIC_ClearPendingIRQ 0x10000f10 Section 0 ens1_uart.o(i.NVIC_ClearPendingIRQ)
NVIC_DisableIRQ 0x10000d65 Thumb Code 14 ens1_timer.o(i.NVIC_DisableIRQ) NVIC_ClearPendingIRQ 0x10000f11 Thumb Code 14 ens1_uart.o(i.NVIC_ClearPendingIRQ)
i.NVIC_EnableIRQ 0x10000d78 Section 0 ens1_uart.o(i.NVIC_EnableIRQ) i.NVIC_ClearPendingIRQ 0x10000f24 Section 0 ens1_timer.o(i.NVIC_ClearPendingIRQ)
NVIC_EnableIRQ 0x10000d79 Thumb Code 14 ens1_uart.o(i.NVIC_EnableIRQ) NVIC_ClearPendingIRQ 0x10000f25 Thumb Code 14 ens1_timer.o(i.NVIC_ClearPendingIRQ)
i.NVIC_EnableIRQ 0x10000d8c Section 0 ens1_timer.o(i.NVIC_EnableIRQ) i.NVIC_DisableIRQ 0x10000f38 Section 0 ens1_uart.o(i.NVIC_DisableIRQ)
NVIC_EnableIRQ 0x10000d8d Thumb Code 14 ens1_timer.o(i.NVIC_EnableIRQ) NVIC_DisableIRQ 0x10000f39 Thumb Code 14 ens1_uart.o(i.NVIC_DisableIRQ)
i.PCLK_Enable 0x10000da0 Section 0 ens1_clock.o(i.PCLK_Enable) i.NVIC_DisableIRQ 0x10000f4c Section 0 ens1_timer.o(i.NVIC_DisableIRQ)
i.SystemInit 0x10000db8 Section 0 system_cmsdk_cm0.o(i.SystemInit) NVIC_DisableIRQ 0x10000f4d Thumb Code 14 ens1_timer.o(i.NVIC_DisableIRQ)
i.TIMER0_Handler 0x10000dc8 Section 0 ens1_timer.o(i.TIMER0_Handler) i.NVIC_EnableIRQ 0x10000f60 Section 0 ens1_uart.o(i.NVIC_EnableIRQ)
i.TIMER0_Init 0x10000de8 Section 0 ens1_timer.o(i.TIMER0_Init) NVIC_EnableIRQ 0x10000f61 Thumb Code 14 ens1_uart.o(i.NVIC_EnableIRQ)
i.TIMER1_Handler 0x10000e28 Section 0 ens1_timer.o(i.TIMER1_Handler) i.NVIC_EnableIRQ 0x10000f74 Section 0 ens1_timer.o(i.NVIC_EnableIRQ)
i.Time_Manager_GetFlags 0x10000e44 Section 0 ens1_timer.o(i.Time_Manager_GetFlags) NVIC_EnableIRQ 0x10000f75 Thumb Code 14 ens1_timer.o(i.NVIC_EnableIRQ)
i.Time_Manager_Init 0x10000e4c Section 0 ens1_timer.o(i.Time_Manager_Init) i.PCLK_Enable 0x10000f88 Section 0 ens1_clock.o(i.PCLK_Enable)
i.Time_Manager_Process 0x10000e68 Section 0 ens1_timer.o(i.Time_Manager_Process) i.SystemInit 0x10000fa0 Section 0 system_cmsdk_cm0.o(i.SystemInit)
i.UART0_Handler 0x10000f20 Section 0 ens1_uart.o(i.UART0_Handler) i.TIMER0_Handler 0x10000fb0 Section 0 ens1_timer.o(i.TIMER0_Handler)
i.UART1_Handler 0x10000f8c Section 0 ens1_uart.o(i.UART1_Handler) i.TIMER0_Init 0x10000fd0 Section 0 ens1_timer.o(i.TIMER0_Init)
i.UARTLine_THREmpty 0x10000fec Section 0 ens1_uart.o(i.UARTLine_THREmpty) i.TIMER1_Handler 0x10001010 Section 0 ens1_timer.o(i.TIMER1_Handler)
i.UART_INT_TYPE 0x10000ff6 Section 0 ens1_uart.o(i.UART_INT_TYPE) i.Time_Manager_GetFlags 0x1000102c Section 0 ens1_timer.o(i.Time_Manager_GetFlags)
i.UART_ITConfig 0x10001000 Section 0 ens1_uart.o(i.UART_ITConfig) i.Time_Manager_Init 0x10001034 Section 0 ens1_timer.o(i.Time_Manager_Init)
i.UART_Init 0x10001058 Section 0 ens1_uart.o(i.UART_Init) i.Time_Manager_Process 0x10001050 Section 0 ens1_timer.o(i.Time_Manager_Process)
i.UartPutc 0x10001158 Section 0 ens1_uart.o(i.UartPutc) i.UART0_Handler 0x10001128 Section 0 ens1_uart.o(i.UART0_Handler)
i.WRITE_UART_THRBuff 0x10001176 Section 0 ens1_uart.o(i.WRITE_UART_THRBuff) i.UART1_Handler 0x10001194 Section 0 ens1_uart.o(i.UART1_Handler)
i.__0printf$bare 0x1000117c Section 0 printfb.o(i.__0printf$bare) i.UARTLine_THREmpty 0x100011f4 Section 0 ens1_uart.o(i.UARTLine_THREmpty)
i.__ARM_clz 0x10001190 Section 0 depilogue.o(i.__ARM_clz) i.UART_INT_TYPE 0x100011fe Section 0 ens1_uart.o(i.UART_INT_TYPE)
i.__ARM_fpclassify 0x100011c0 Section 0 fpclassify.o(i.__ARM_fpclassify) i.UART_ITConfig 0x10001208 Section 0 ens1_uart.o(i.UART_ITConfig)
i.__kernel_poly 0x100011ec Section 0 poly.o(i.__kernel_poly) i.UART_Init 0x10001260 Section 0 ens1_uart.o(i.UART_Init)
i.__mathlib_dbl_divzero 0x10001298 Section 0 dunder.o(i.__mathlib_dbl_divzero) i.UartPutc 0x10001360 Section 0 ens1_uart.o(i.UartPutc)
i.__mathlib_dbl_infnan2 0x100012ac Section 0 dunder.o(i.__mathlib_dbl_infnan2) i.WRITE_UART_THRBuff 0x1000137e Section 0 ens1_uart.o(i.WRITE_UART_THRBuff)
i.__mathlib_dbl_invalid 0x100012b4 Section 0 dunder.o(i.__mathlib_dbl_invalid) i.__0printf$bare 0x10001384 Section 0 printfb.o(i.__0printf$bare)
i.__mathlib_dbl_overflow 0x100012c4 Section 0 dunder.o(i.__mathlib_dbl_overflow) i.__ARM_clz 0x10001398 Section 0 depilogue.o(i.__ARM_clz)
i.__mathlib_dbl_underflow 0x100012d8 Section 0 dunder.o(i.__mathlib_dbl_underflow) i.__ARM_fpclassify 0x100013c8 Section 0 fpclassify.o(i.__ARM_fpclassify)
i.__scatterload_copy 0x100012ec Section 14 handlers.o(i.__scatterload_copy) i.__kernel_poly 0x100013f4 Section 0 poly.o(i.__kernel_poly)
i.__scatterload_null 0x100012fa Section 2 handlers.o(i.__scatterload_null) i.__mathlib_dbl_divzero 0x100014a0 Section 0 dunder.o(i.__mathlib_dbl_divzero)
i.__scatterload_zeroinit 0x100012fc Section 14 handlers.o(i.__scatterload_zeroinit) i.__mathlib_dbl_infnan2 0x100014b4 Section 0 dunder.o(i.__mathlib_dbl_infnan2)
i.__set_errno 0x1000130c Section 0 errno.o(i.__set_errno) i.__mathlib_dbl_invalid 0x100014bc Section 0 dunder.o(i.__mathlib_dbl_invalid)
i._printf_core 0x10001318 Section 0 printfb.o(i._printf_core) i.__mathlib_dbl_overflow 0x100014cc Section 0 dunder.o(i.__mathlib_dbl_overflow)
_printf_core 0x10001319 Thumb Code 30 printfb.o(i._printf_core) i.__mathlib_dbl_underflow 0x100014e0 Section 0 dunder.o(i.__mathlib_dbl_underflow)
i.boost_voltage_select_55V 0x10001338 Section 0 ens1_boost.o(i.boost_voltage_select_55V) i.__scatterload_copy 0x100014f4 Section 14 handlers.o(i.__scatterload_copy)
i.fputc 0x1000134c Section 0 retarget.o(i.fputc) i.__scatterload_null 0x10001502 Section 2 handlers.o(i.__scatterload_null)
i.main 0x10001360 Section 0 mian.o(i.main) i.__scatterload_zeroinit 0x10001504 Section 14 handlers.o(i.__scatterload_zeroinit)
i.pow 0x10001458 Section 0 pow.o(i.pow) i.__set_errno 0x10001514 Section 0 errno.o(i.__set_errno)
i.sqrt 0x10001e54 Section 0 sqrt.o(i.sqrt) i._printf_core 0x10001520 Section 0 printfb.o(i._printf_core)
i.wavegen_Init 0x10001e9c Section 0 ens1_wavegen.o(i.wavegen_Init) _printf_core 0x10001521 Thumb Code 30 printfb.o(i._printf_core)
i.wavegen_Start 0x10001ec4 Section 0 ens1_wavegen.o(i.wavegen_Start) i.boost_voltage_select_55V 0x10001540 Section 0 ens1_boost.o(i.boost_voltage_select_55V)
i.wavegen_Stop 0x10001f14 Section 0 ens1_wavegen.o(i.wavegen_Stop) i.fputc 0x10001554 Section 0 retarget.o(i.fputc)
i.wavegen_driverA_sine_test 0x10001f2c Section 0 ens1_wavegen.o(i.wavegen_driverA_sine_test) i.main 0x10001568 Section 0 mian.o(i.main)
.constdata 0x10001fd4 Section 14 mian.o(.constdata) i.pow 0x100015cc Section 0 pow.o(i.pow)
.constdata 0x10001fe8 Section 136 pow.o(.constdata) i.sqrt 0x10001fc8 Section 0 sqrt.o(i.sqrt)
bp 0x10001fe8 Data 16 pow.o(.constdata) i.wavegen_Init 0x10002010 Section 0 ens1_wavegen.o(i.wavegen_Init)
dp_h 0x10001ff8 Data 16 pow.o(.constdata) i.wavegen_Start 0x10002038 Section 0 ens1_wavegen.o(i.wavegen_Start)
dp_l 0x10002008 Data 16 pow.o(.constdata) i.wavegen_Stop 0x10002084 Section 0 ens1_wavegen.o(i.wavegen_Stop)
L 0x10002018 Data 48 pow.o(.constdata) i.wavegen_driverA_sine_test 0x1000209c Section 0 ens1_wavegen.o(i.wavegen_driverA_sine_test)
P 0x10002048 Data 40 pow.o(.constdata) .constdata 0x10002148 Section 136 pow.o(.constdata)
.constdata 0x10002070 Section 8 qnan.o(.constdata) bp 0x10002148 Data 16 pow.o(.constdata)
.data 0x20000000 Section 2 mian.o(.data) dp_h 0x10002158 Data 16 pow.o(.constdata)
ems_control_count 0x20000000 Data 1 mian.o(.data) dp_l 0x10002168 Data 16 pow.o(.constdata)
ems_state 0x20000001 Data 1 mian.o(.data) L 0x10002178 Data 48 pow.o(.constdata)
.data 0x20000004 Section 30 ens1_uart.o(.data) P 0x100021a8 Data 40 pow.o(.constdata)
.data 0x20000024 Section 14 ens1_clock.o(.data) .constdata 0x100021d0 Section 8 qnan.o(.constdata)
.data 0x20000034 Section 8 retarget.o(.data) .data 0x20000000 Section 30 ens1_uart.o(.data)
.data 0x2000003c Section 28 ens1_timer.o(.data) .data 0x20000020 Section 14 ens1_clock.o(.data)
g_time_flags 0x2000003c Data 6 ens1_timer.o(.data) .data 0x20000030 Section 8 retarget.o(.data)
g_time_counters 0x20000042 Data 8 ens1_timer.o(.data) .data 0x20000038 Section 32 ens1_timer.o(.data)
.data 0x20000058 Section 20 ens1_wavegen.o(.data) g_time_flags 0x2000003c Data 7 ens1_timer.o(.data)
g_ems_running 0x20000058 Data 1 ens1_wavegen.o(.data) g_time_counters 0x20000044 Data 8 ens1_timer.o(.data)
g_ems_count 0x2000005c Data 4 ens1_wavegen.o(.data) .data 0x20000058 Section 40 ens1_wavegen.o(.data)
g_current_intensity 0x20000060 Data 2 ens1_wavegen.o(.data) g_ems_running 0x20000066 Data 1 ens1_wavegen.o(.data)
g_ramp_phase 0x20000062 Data 1 ens1_wavegen.o(.data) g_ems_count 0x20000068 Data 4 ens1_wavegen.o(.data)
g_wave_counter 0x20000064 Data 4 ens1_wavegen.o(.data) g_current_intensity 0x20000070 Data 4 ens1_wavegen.o(.data)
g_ramp_step_counter 0x20000068 Data 4 ens1_wavegen.o(.data) g_ramp_phase 0x20000074 Data 1 ens1_wavegen.o(.data)
.data 0x2000006c Section 8 system_cmsdk_cm0.o(.data) g_wave_counter 0x20000078 Data 4 ens1_wavegen.o(.data)
.data 0x20000074 Section 4 errno.o(.data) g_ramp_step_counter 0x2000007c Data 4 ens1_wavegen.o(.data)
_errno 0x20000074 Data 4 errno.o(.data) .data 0x20000080 Section 8 system_cmsdk_cm0.o(.data)
.bss 0x20000078 Section 14 ens1_wavegen.o(.bss) .data 0x20000088 Section 4 errno.o(.data)
g_ems_config 0x20000078 Data 14 ens1_wavegen.o(.bss) _errno 0x20000088 Data 4 errno.o(.data)
STACK 0x20000088 Section 512 startup_cmsdk_cm0.o(STACK) .bss 0x2000008c Section 14 ens1_wavegen.o(.bss)
STACK 0x200000a0 Section 512 startup_cmsdk_cm0.o(STACK)
Global Symbols Global Symbols
@ -864,101 +883,116 @@ Image Symbol Table
__aeabi_memclr4 0x1000014f Thumb Code 0 memseta.o(.text) __aeabi_memclr4 0x1000014f Thumb Code 0 memseta.o(.text)
__aeabi_memclr8 0x1000014f Thumb Code 0 memseta.o(.text) __aeabi_memclr8 0x1000014f Thumb Code 0 memseta.o(.text)
_memset$wrapper 0x10000153 Thumb Code 18 memseta.o(.text) _memset$wrapper 0x10000153 Thumb Code 18 memseta.o(.text)
__aeabi_ddiv 0x10000165 Thumb Code 234 ddiv.o(.text) __aeabi_fadd 0x10000165 Thumb Code 162 fadd.o(.text)
__aeabi_i2d 0x10000255 Thumb Code 34 dflti.o(.text) __aeabi_fsub 0x10000207 Thumb Code 8 fadd.o(.text)
__aeabi_ui2d 0x1000027d Thumb Code 24 dfltui.o(.text) __aeabi_frsub 0x1000020f Thumb Code 8 fadd.o(.text)
__aeabi_d2uiz 0x10000299 Thumb Code 50 dfixui.o(.text) __aeabi_ddiv 0x10000219 Thumb Code 234 ddiv.o(.text)
__aeabi_llsr 0x100002d5 Thumb Code 34 llushr.o(.text) __aeabi_ui2f 0x10000309 Thumb Code 14 ffltui.o(.text)
_ll_ushift_r 0x100002d5 Thumb Code 0 llushr.o(.text) __aeabi_i2d 0x10000319 Thumb Code 34 dflti.o(.text)
__I$use$fp 0x100002f7 Thumb Code 0 iusefp.o(.text) __aeabi_ui2d 0x10000341 Thumb Code 24 dfltui.o(.text)
_double_round 0x100002f7 Thumb Code 26 depilogue.o(.text) __aeabi_f2uiz 0x1000035d Thumb Code 40 ffixui.o(.text)
_double_epilogue 0x10000311 Thumb Code 164 depilogue.o(.text) __aeabi_d2uiz 0x10000385 Thumb Code 50 dfixui.o(.text)
__aeabi_dadd 0x100003b5 Thumb Code 328 dadd.o(.text) __aeabi_cfrcmple 0x100003c1 Thumb Code 20 cfrcmple.o(.text)
__aeabi_dsub 0x100004fd Thumb Code 12 dadd.o(.text) __aeabi_llsr 0x100003d5 Thumb Code 34 llushr.o(.text)
__aeabi_drsub 0x10000509 Thumb Code 12 dadd.o(.text) _ll_ushift_r 0x100003d5 Thumb Code 0 llushr.o(.text)
__aeabi_dmul 0x10000519 Thumb Code 202 dmul.o(.text) __I$use$fp 0x100003f7 Thumb Code 0 iusefp.o(.text)
__ARM_scalbn 0x100005e9 Thumb Code 44 dscalb.o(.text) _float_round 0x100003f7 Thumb Code 16 fepilogue.o(.text)
scalbn 0x100005e9 Thumb Code 0 dscalb.o(.text) _float_epilogue 0x10000407 Thumb Code 114 fepilogue.o(.text)
__aeabi_cdrcmple 0x10000615 Thumb Code 38 cdrcmple.o(.text) _double_round 0x10000479 Thumb Code 26 depilogue.o(.text)
__scatterload 0x1000063d Thumb Code 28 init.o(.text) _double_epilogue 0x10000493 Thumb Code 164 depilogue.o(.text)
__scatterload_rt2 0x1000063d Thumb Code 0 init.o(.text) __aeabi_dadd 0x10000539 Thumb Code 328 dadd.o(.text)
__aeabi_llsl 0x10000661 Thumb Code 32 llshl.o(.text) __aeabi_dsub 0x10000681 Thumb Code 12 dadd.o(.text)
_ll_shift_l 0x10000661 Thumb Code 0 llshl.o(.text) __aeabi_drsub 0x1000068d Thumb Code 12 dadd.o(.text)
__aeabi_lasr 0x10000681 Thumb Code 38 llsshr.o(.text) __aeabi_dmul 0x1000069d Thumb Code 202 dmul.o(.text)
_ll_sshift_r 0x10000681 Thumb Code 0 llsshr.o(.text) __ARM_scalbn 0x1000076d Thumb Code 44 dscalb.o(.text)
_dsqrt 0x100006a7 Thumb Code 162 dsqrt.o(.text) scalbn 0x1000076d Thumb Code 0 dscalb.o(.text)
CMSDK_timer_Init 0x10000749 Thumb Code 26 ens1_timer.o(i.CMSDK_timer_Init) __aeabi_cdrcmple 0x10000799 Thumb Code 38 cdrcmple.o(.text)
ClockInit 0x10000765 Thumb Code 14 ens1_clock.o(i.ClockInit) __scatterload 0x100007c1 Thumb Code 28 init.o(.text)
ClockInitSet 0x1000077d Thumb Code 348 ens1_clock.o(i.ClockInitSet) __scatterload_rt2 0x100007c1 Thumb Code 0 init.o(.text)
EMS_Configure 0x100008e1 Thumb Code 20 ens1_wavegen.o(i.EMS_Configure) __aeabi_llsl 0x100007e5 Thumb Code 32 llshl.o(.text)
EMS_Process 0x100008f9 Thumb Code 92 ens1_wavegen.o(i.EMS_Process) _ll_shift_l 0x100007e5 Thumb Code 0 llshl.o(.text)
EMS_Process_Ramp 0x10000965 Thumb Code 278 ens1_wavegen.o(i.EMS_Process_Ramp) __aeabi_lasr 0x10000805 Thumb Code 38 llsshr.o(.text)
EMS_Start 0x10000a95 Thumb Code 8 ens1_wavegen.o(i.EMS_Start) _ll_sshift_r 0x10000805 Thumb Code 0 llsshr.o(.text)
EMS_Stop 0x10000a9d Thumb Code 36 ens1_wavegen.o(i.EMS_Stop) _dsqrt 0x1000082b Thumb Code 162 dsqrt.o(.text)
GPIO_AltFunction 0x10000add Thumb Code 86 ens1_gpio.o(i.GPIO_AltFunction) CMSDK_timer_Init 0x100008cd Thumb Code 26 ens1_timer.o(i.CMSDK_timer_Init)
GPIO_GetOutputValue 0x10000b39 Thumb Code 18 ens1_gpio.o(i.GPIO_GetOutputValue) ClockInit 0x100008e9 Thumb Code 14 ens1_clock.o(i.ClockInit)
GPIO_IO_Init 0x10000b51 Thumb Code 342 ens1_gpio.o(i.GPIO_IO_Init) ClockInitSet 0x10000901 Thumb Code 348 ens1_clock.o(i.ClockInitSet)
GPIO_Output 0x10000cad Thumb Code 36 ens1_gpio.o(i.GPIO_Output) EMS_Configure 0x10000a65 Thumb Code 20 ens1_wavegen.o(i.EMS_Configure)
GPIO_Overturn 0x10000cd5 Thumb Code 40 ens1_gpio.o(i.GPIO_Overturn) EMS_Process 0x10000a7d Thumb Code 36 ens1_wavegen.o(i.EMS_Process)
GPIO_ResetOutput 0x10000cfd Thumb Code 16 ens1_gpio.o(i.GPIO_ResetOutput) EMS_Process_Ramp 0x10000aad Thumb Code 274 ens1_wavegen.o(i.EMS_Process_Ramp)
GPIO_SetOutput 0x10000d11 Thumb Code 16 ens1_gpio.o(i.GPIO_SetOutput) EMS_Start 0x10000be1 Thumb Code 8 ens1_wavegen.o(i.EMS_Start)
MTP_init 0x10000d25 Thumb Code 4 ens1_mtp.o(i.MTP_init) EMS_Stop 0x10000be9 Thumb Code 32 ens1_wavegen.o(i.EMS_Stop)
PCLK_Enable 0x10000da1 Thumb Code 20 ens1_clock.o(i.PCLK_Enable) Fuse_result 0x10000c21 Thumb Code 152 ens1_timer.o(i.Fuse_result)
SystemInit 0x10000db9 Thumb Code 8 system_cmsdk_cm0.o(i.SystemInit) GPIO_AltFunction 0x10000cc5 Thumb Code 86 ens1_gpio.o(i.GPIO_AltFunction)
TIMER0_Handler 0x10000dc9 Thumb Code 24 ens1_timer.o(i.TIMER0_Handler) GPIO_GetOutputValue 0x10000d21 Thumb Code 18 ens1_gpio.o(i.GPIO_GetOutputValue)
TIMER0_Init 0x10000de9 Thumb Code 56 ens1_timer.o(i.TIMER0_Init) GPIO_IO_Init 0x10000d39 Thumb Code 342 ens1_gpio.o(i.GPIO_IO_Init)
TIMER1_Handler 0x10000e29 Thumb Code 18 ens1_timer.o(i.TIMER1_Handler) GPIO_Output 0x10000e95 Thumb Code 36 ens1_gpio.o(i.GPIO_Output)
Time_Manager_GetFlags 0x10000e45 Thumb Code 4 ens1_timer.o(i.Time_Manager_GetFlags) GPIO_Overturn 0x10000ebd Thumb Code 40 ens1_gpio.o(i.GPIO_Overturn)
Time_Manager_Init 0x10000e4d Thumb Code 20 ens1_timer.o(i.Time_Manager_Init) GPIO_ResetOutput 0x10000ee5 Thumb Code 16 ens1_gpio.o(i.GPIO_ResetOutput)
Time_Manager_Process 0x10000e69 Thumb Code 174 ens1_timer.o(i.Time_Manager_Process) GPIO_SetOutput 0x10000ef9 Thumb Code 16 ens1_gpio.o(i.GPIO_SetOutput)
UART0_Handler 0x10000f21 Thumb Code 108 ens1_uart.o(i.UART0_Handler) MTP_init 0x10000f0d Thumb Code 4 ens1_mtp.o(i.MTP_init)
UART1_Handler 0x10000f8d Thumb Code 92 ens1_uart.o(i.UART1_Handler) PCLK_Enable 0x10000f89 Thumb Code 20 ens1_clock.o(i.PCLK_Enable)
UARTLine_THREmpty 0x10000fed Thumb Code 10 ens1_uart.o(i.UARTLine_THREmpty) SystemInit 0x10000fa1 Thumb Code 8 system_cmsdk_cm0.o(i.SystemInit)
UART_INT_TYPE 0x10000ff7 Thumb Code 10 ens1_uart.o(i.UART_INT_TYPE) TIMER0_Handler 0x10000fb1 Thumb Code 24 ens1_timer.o(i.TIMER0_Handler)
UART_ITConfig 0x10001001 Thumb Code 84 ens1_uart.o(i.UART_ITConfig) TIMER0_Init 0x10000fd1 Thumb Code 56 ens1_timer.o(i.TIMER0_Init)
UART_Init 0x10001059 Thumb Code 248 ens1_uart.o(i.UART_Init) TIMER1_Handler 0x10001011 Thumb Code 18 ens1_timer.o(i.TIMER1_Handler)
UartPutc 0x10001159 Thumb Code 30 ens1_uart.o(i.UartPutc) Time_Manager_GetFlags 0x1000102d Thumb Code 4 ens1_timer.o(i.Time_Manager_GetFlags)
WRITE_UART_THRBuff 0x10001177 Thumb Code 4 ens1_uart.o(i.WRITE_UART_THRBuff) Time_Manager_Init 0x10001035 Thumb Code 20 ens1_timer.o(i.Time_Manager_Init)
__0printf$bare 0x1000117d Thumb Code 12 printfb.o(i.__0printf$bare) Time_Manager_Process 0x10001051 Thumb Code 208 ens1_timer.o(i.Time_Manager_Process)
__1printf$bare 0x1000117d Thumb Code 0 printfb.o(i.__0printf$bare) UART0_Handler 0x10001129 Thumb Code 108 ens1_uart.o(i.UART0_Handler)
__2printf 0x1000117d Thumb Code 0 printfb.o(i.__0printf$bare) UART1_Handler 0x10001195 Thumb Code 92 ens1_uart.o(i.UART1_Handler)
__ARM_clz 0x10001191 Thumb Code 46 depilogue.o(i.__ARM_clz) UARTLine_THREmpty 0x100011f5 Thumb Code 10 ens1_uart.o(i.UARTLine_THREmpty)
__ARM_fpclassify 0x100011c1 Thumb Code 40 fpclassify.o(i.__ARM_fpclassify) UART_INT_TYPE 0x100011ff Thumb Code 10 ens1_uart.o(i.UART_INT_TYPE)
__kernel_poly 0x100011ed Thumb Code 172 poly.o(i.__kernel_poly) UART_ITConfig 0x10001209 Thumb Code 84 ens1_uart.o(i.UART_ITConfig)
__mathlib_dbl_divzero 0x10001299 Thumb Code 16 dunder.o(i.__mathlib_dbl_divzero) UART_Init 0x10001261 Thumb Code 248 ens1_uart.o(i.UART_Init)
__mathlib_dbl_infnan2 0x100012ad Thumb Code 8 dunder.o(i.__mathlib_dbl_infnan2) UartPutc 0x10001361 Thumb Code 30 ens1_uart.o(i.UartPutc)
__mathlib_dbl_invalid 0x100012b5 Thumb Code 16 dunder.o(i.__mathlib_dbl_invalid) WRITE_UART_THRBuff 0x1000137f Thumb Code 4 ens1_uart.o(i.WRITE_UART_THRBuff)
__mathlib_dbl_overflow 0x100012c5 Thumb Code 16 dunder.o(i.__mathlib_dbl_overflow) __0printf$bare 0x10001385 Thumb Code 12 printfb.o(i.__0printf$bare)
__mathlib_dbl_underflow 0x100012d9 Thumb Code 14 dunder.o(i.__mathlib_dbl_underflow) __1printf$bare 0x10001385 Thumb Code 0 printfb.o(i.__0printf$bare)
__scatterload_copy 0x100012ed Thumb Code 14 handlers.o(i.__scatterload_copy) __2printf 0x10001385 Thumb Code 0 printfb.o(i.__0printf$bare)
__scatterload_null 0x100012fb Thumb Code 2 handlers.o(i.__scatterload_null) __ARM_clz 0x10001399 Thumb Code 46 depilogue.o(i.__ARM_clz)
__scatterload_zeroinit 0x100012fd Thumb Code 14 handlers.o(i.__scatterload_zeroinit) __ARM_fpclassify 0x100013c9 Thumb Code 40 fpclassify.o(i.__ARM_fpclassify)
__set_errno 0x1000130d Thumb Code 6 errno.o(i.__set_errno) __kernel_poly 0x100013f5 Thumb Code 172 poly.o(i.__kernel_poly)
boost_voltage_select_55V 0x10001339 Thumb Code 12 ens1_boost.o(i.boost_voltage_select_55V) __mathlib_dbl_divzero 0x100014a1 Thumb Code 16 dunder.o(i.__mathlib_dbl_divzero)
fputc 0x1000134d Thumb Code 16 retarget.o(i.fputc) __mathlib_dbl_infnan2 0x100014b5 Thumb Code 8 dunder.o(i.__mathlib_dbl_infnan2)
main 0x10001361 Thumb Code 222 mian.o(i.main) __mathlib_dbl_invalid 0x100014bd Thumb Code 16 dunder.o(i.__mathlib_dbl_invalid)
pow 0x10001459 Thumb Code 2548 pow.o(i.pow) __mathlib_dbl_overflow 0x100014cd Thumb Code 16 dunder.o(i.__mathlib_dbl_overflow)
sqrt 0x10001e55 Thumb Code 66 sqrt.o(i.sqrt) __mathlib_dbl_underflow 0x100014e1 Thumb Code 14 dunder.o(i.__mathlib_dbl_underflow)
wavegen_Init 0x10001e9d Thumb Code 26 ens1_wavegen.o(i.wavegen_Init) __scatterload_copy 0x100014f5 Thumb Code 14 handlers.o(i.__scatterload_copy)
wavegen_Start 0x10001ec5 Thumb Code 50 ens1_wavegen.o(i.wavegen_Start) __scatterload_null 0x10001503 Thumb Code 2 handlers.o(i.__scatterload_null)
wavegen_Stop 0x10001f15 Thumb Code 22 ens1_wavegen.o(i.wavegen_Stop) __scatterload_zeroinit 0x10001505 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
wavegen_driverA_sine_test 0x10001f2d Thumb Code 98 ens1_wavegen.o(i.wavegen_driverA_sine_test) __set_errno 0x10001515 Thumb Code 6 errno.o(i.__set_errno)
__mathlib_zero 0x10002070 Data 8 qnan.o(.constdata) boost_voltage_select_55V 0x10001541 Thumb Code 12 ens1_boost.o(i.boost_voltage_select_55V)
Region$$Table$$Base 0x10002078 Number 0 anon$$obj.o(Region$$Table) fputc 0x10001555 Thumb Code 16 retarget.o(i.fputc)
Region$$Table$$Limit 0x10002098 Number 0 anon$$obj.o(Region$$Table) main 0x10001569 Thumb Code 82 mian.o(i.main)
UART1_Fifo 0x20000004 Data 3 ens1_uart.o(.data) pow 0x100015cd Thumb Code 2548 pow.o(i.pow)
UART1_Init 0x20000008 Data 24 ens1_uart.o(.data) sqrt 0x10001fc9 Thumb Code 66 sqrt.o(i.sqrt)
UART1_ITSet 0x20000020 Data 2 ens1_uart.o(.data) wavegen_Init 0x10002011 Thumb Code 26 ens1_wavegen.o(i.wavegen_Init)
APB_Clock_Freq 0x20000024 Data 4 ens1_clock.o(.data) wavegen_Start 0x10002039 Thumb Code 50 ens1_wavegen.o(i.wavegen_Start)
CLOCKCFG 0x20000028 Data 10 ens1_clock.o(.data) wavegen_Stop 0x10002085 Thumb Code 22 ens1_wavegen.o(i.wavegen_Stop)
__stdout 0x20000034 Data 4 retarget.o(.data) wavegen_driverA_sine_test 0x1000209d Thumb Code 98 ens1_wavegen.o(i.wavegen_driverA_sine_test)
__stdin 0x20000038 Data 4 retarget.o(.data) __mathlib_zero 0x100021d0 Data 8 qnan.o(.constdata)
Region$$Table$$Base 0x100021d8 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x100021f8 Number 0 anon$$obj.o(Region$$Table)
UART1_Fifo 0x20000000 Data 3 ens1_uart.o(.data)
UART1_Init 0x20000004 Data 24 ens1_uart.o(.data)
UART1_ITSet 0x2000001c Data 2 ens1_uart.o(.data)
APB_Clock_Freq 0x20000020 Data 4 ens1_clock.o(.data)
CLOCKCFG 0x20000024 Data 10 ens1_clock.o(.data)
__stdout 0x20000030 Data 4 retarget.o(.data)
__stdin 0x20000034 Data 4 retarget.o(.data)
ems_control_count 0x20000038 Data 1 ens1_timer.o(.data)
ems_state 0x20000039 Data 1 ens1_timer.o(.data)
time_count 0x2000003a Data 2 ens1_timer.o(.data)
timer0_irq_occurred 0x2000004c Data 4 ens1_timer.o(.data) timer0_irq_occurred 0x2000004c Data 4 ens1_timer.o(.data)
time_flag 0x20000050 Data 4 ens1_timer.o(.data) time_flag 0x20000050 Data 4 ens1_timer.o(.data)
timer1_irq_occurred 0x20000054 Data 4 ens1_timer.o(.data) timer1_irq_occurred 0x20000054 Data 4 ens1_timer.o(.data)
SystemFrequency 0x2000006c Data 4 system_cmsdk_cm0.o(.data) ems_config 0x20000058 Data 14 ens1_wavegen.o(.data)
SystemCoreClock 0x20000070 Data 4 system_cmsdk_cm0.o(.data) waves_per_step 0x2000006c Data 4 ens1_wavegen.o(.data)
__initial_sp 0x20000288 Data 0 startup_cmsdk_cm0.o(STACK) SystemFrequency 0x20000080 Data 4 system_cmsdk_cm0.o(.data)
SystemCoreClock 0x20000084 Data 4 system_cmsdk_cm0.o(.data)
g_ems_config 0x2000008c Data 14 ens1_wavegen.o(.bss)
__initial_sp 0x200002a0 Data 0 startup_cmsdk_cm0.o(STACK)
@ -968,133 +1002,139 @@ Memory Map of the image
Image Entry point : 0x100000c1 Image Entry point : 0x100000c1
Load Region LR_IROM1 (Base: 0x10000000, Size: 0x00002110, Max: 0x00008000, ABSOLUTE) Load Region LR_IROM1 (Base: 0x10000000, Size: 0x00002284, Max: 0x00008000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x10000000, Load base: 0x10000000, Size: 0x00002098, Max: 0x00008000, ABSOLUTE) Execution Region ER_IROM1 (Exec base: 0x10000000, Load base: 0x10000000, Size: 0x000021f8, Max: 0x00008000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x10000000 0x10000000 0x000000c0 Data RO 884 RESET startup_cmsdk_cm0.o 0x10000000 0x10000000 0x000000c0 Data RO 898 RESET startup_cmsdk_cm0.o
0x100000c0 0x100000c0 0x00000000 Code RO 899 * .ARM.Collect$$$$00000000 mc_p.l(entry.o) 0x100000c0 0x100000c0 0x00000000 Code RO 913 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
0x100000c0 0x100000c0 0x00000004 Code RO 1233 .ARM.Collect$$$$00000001 mc_p.l(entry2.o) 0x100000c0 0x100000c0 0x00000004 Code RO 1255 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
0x100000c4 0x100000c4 0x00000004 Code RO 1236 .ARM.Collect$$$$00000004 mc_p.l(entry5.o) 0x100000c4 0x100000c4 0x00000004 Code RO 1258 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
0x100000c8 0x100000c8 0x00000000 Code RO 1238 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o) 0x100000c8 0x100000c8 0x00000000 Code RO 1260 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
0x100000c8 0x100000c8 0x00000000 Code RO 1240 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o) 0x100000c8 0x100000c8 0x00000000 Code RO 1262 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
0x100000c8 0x100000c8 0x00000008 Code RO 1241 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o) 0x100000c8 0x100000c8 0x00000008 Code RO 1263 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
0x100000d0 0x100000d0 0x00000000 Code RO 1243 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o) 0x100000d0 0x100000d0 0x00000000 Code RO 1265 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
0x100000d0 0x100000d0 0x00000000 Code RO 1245 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o) 0x100000d0 0x100000d0 0x00000000 Code RO 1267 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
0x100000d0 0x100000d0 0x00000004 Code RO 1234 .ARM.Collect$$$$00002712 mc_p.l(entry2.o) 0x100000d0 0x100000d0 0x00000004 Code RO 1256 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
0x100000d4 0x100000d4 0x0000001c Code RO 885 .text startup_cmsdk_cm0.o 0x100000d4 0x100000d4 0x0000001c Code RO 899 .text startup_cmsdk_cm0.o
0x100000f0 0x100000f0 0x0000002c Code RO 902 .text mc_p.l(uidiv.o) 0x100000f0 0x100000f0 0x0000002c Code RO 916 .text mc_p.l(uidiv.o)
0x1000011c 0x1000011c 0x00000024 Code RO 904 .text mc_p.l(memcpya.o) 0x1000011c 0x1000011c 0x00000024 Code RO 918 .text mc_p.l(memcpya.o)
0x10000140 0x10000140 0x00000024 Code RO 906 .text mc_p.l(memseta.o) 0x10000140 0x10000140 0x00000024 Code RO 920 .text mc_p.l(memseta.o)
0x10000164 0x10000164 0x000000f0 Code RO 1198 .text mf_p.l(ddiv.o) 0x10000164 0x10000164 0x000000b2 Code RO 1212 .text mf_p.l(fadd.o)
0x10000254 0x10000254 0x00000028 Code RO 1200 .text mf_p.l(dflti.o) 0x10000216 0x10000216 0x00000002 PAD
0x1000027c 0x1000027c 0x0000001c Code RO 1202 .text mf_p.l(dfltui.o) 0x10000218 0x10000218 0x000000f0 Code RO 1214 .text mf_p.l(ddiv.o)
0x10000298 0x10000298 0x0000003c Code RO 1204 .text mf_p.l(dfixui.o) 0x10000308 0x10000308 0x0000000e Code RO 1216 .text mf_p.l(ffltui.o)
0x100002d4 0x100002d4 0x00000022 Code RO 1249 .text mc_p.l(llushr.o) 0x10000316 0x10000316 0x00000002 PAD
0x100002f6 0x100002f6 0x00000000 Code RO 1260 .text mc_p.l(iusefp.o) 0x10000318 0x10000318 0x00000028 Code RO 1218 .text mf_p.l(dflti.o)
0x100002f6 0x100002f6 0x000000be Code RO 1261 .text mf_p.l(depilogue.o) 0x10000340 0x10000340 0x0000001c Code RO 1220 .text mf_p.l(dfltui.o)
0x100003b4 0x100003b4 0x00000164 Code RO 1265 .text mf_p.l(dadd.o) 0x1000035c 0x1000035c 0x00000028 Code RO 1222 .text mf_p.l(ffixui.o)
0x10000518 0x10000518 0x000000d0 Code RO 1267 .text mf_p.l(dmul.o) 0x10000384 0x10000384 0x0000003c Code RO 1224 .text mf_p.l(dfixui.o)
0x100005e8 0x100005e8 0x0000002c Code RO 1269 .text mf_p.l(dscalb.o) 0x100003c0 0x100003c0 0x00000014 Code RO 1226 .text mf_p.l(cfrcmple.o)
0x10000614 0x10000614 0x00000028 Code RO 1273 .text mf_p.l(cdrcmple.o) 0x100003d4 0x100003d4 0x00000022 Code RO 1271 .text mc_p.l(llushr.o)
0x1000063c 0x1000063c 0x00000024 Code RO 1275 .text mc_p.l(init.o) 0x100003f6 0x100003f6 0x00000000 Code RO 1282 .text mc_p.l(iusefp.o)
0x10000660 0x10000660 0x00000020 Code RO 1277 .text mc_p.l(llshl.o) 0x100003f6 0x100003f6 0x00000082 Code RO 1283 .text mf_p.l(fepilogue.o)
0x10000680 0x10000680 0x00000026 Code RO 1279 .text mc_p.l(llsshr.o) 0x10000478 0x10000478 0x000000be Code RO 1285 .text mf_p.l(depilogue.o)
0x100006a6 0x100006a6 0x000000a2 Code RO 1281 .text mf_p.l(dsqrt.o) 0x10000536 0x10000536 0x00000002 PAD
0x10000748 0x10000748 0x0000001a Code RO 520 i.CMSDK_timer_Init ens1_timer.o 0x10000538 0x10000538 0x00000164 Code RO 1289 .text mf_p.l(dadd.o)
0x10000762 0x10000762 0x00000002 PAD 0x1000069c 0x1000069c 0x000000d0 Code RO 1291 .text mf_p.l(dmul.o)
0x10000764 0x10000764 0x00000018 Code RO 402 i.ClockInit ens1_clock.o 0x1000076c 0x1000076c 0x0000002c Code RO 1293 .text mf_p.l(dscalb.o)
0x1000077c 0x1000077c 0x00000164 Code RO 403 i.ClockInitSet ens1_clock.o 0x10000798 0x10000798 0x00000028 Code RO 1297 .text mf_p.l(cdrcmple.o)
0x100008e0 0x100008e0 0x00000018 Code RO 775 i.EMS_Configure ens1_wavegen.o 0x100007c0 0x100007c0 0x00000024 Code RO 1299 .text mc_p.l(init.o)
0x100008f8 0x100008f8 0x0000006c Code RO 776 i.EMS_Process ens1_wavegen.o 0x100007e4 0x100007e4 0x00000020 Code RO 1301 .text mc_p.l(llshl.o)
0x10000964 0x10000964 0x00000130 Code RO 777 i.EMS_Process_Ramp ens1_wavegen.o 0x10000804 0x10000804 0x00000026 Code RO 1303 .text mc_p.l(llsshr.o)
0x10000a94 0x10000a94 0x00000008 Code RO 778 i.EMS_Start ens1_wavegen.o 0x1000082a 0x1000082a 0x000000a2 Code RO 1305 .text mf_p.l(dsqrt.o)
0x10000a9c 0x10000a9c 0x00000040 Code RO 779 i.EMS_Stop ens1_wavegen.o 0x100008cc 0x100008cc 0x0000001a Code RO 519 i.CMSDK_timer_Init ens1_timer.o
0x10000adc 0x10000adc 0x0000005c Code RO 271 i.GPIO_AltFunction ens1_gpio.o 0x100008e6 0x100008e6 0x00000002 PAD
0x10000b38 0x10000b38 0x00000018 Code RO 274 i.GPIO_GetOutputValue ens1_gpio.o 0x100008e8 0x100008e8 0x00000018 Code RO 401 i.ClockInit ens1_clock.o
0x10000b50 0x10000b50 0x0000015c Code RO 275 i.GPIO_IO_Init ens1_gpio.o 0x10000900 0x10000900 0x00000164 Code RO 402 i.ClockInitSet ens1_clock.o
0x10000cac 0x10000cac 0x00000028 Code RO 277 i.GPIO_Output ens1_gpio.o 0x10000a64 0x10000a64 0x00000018 Code RO 784 i.EMS_Configure ens1_wavegen.o
0x10000cd4 0x10000cd4 0x00000028 Code RO 278 i.GPIO_Overturn ens1_gpio.o 0x10000a7c 0x10000a7c 0x00000030 Code RO 785 i.EMS_Process ens1_wavegen.o
0x10000cfc 0x10000cfc 0x00000014 Code RO 279 i.GPIO_ResetOutput ens1_gpio.o 0x10000aac 0x10000aac 0x00000134 Code RO 786 i.EMS_Process_Ramp ens1_wavegen.o
0x10000d10 0x10000d10 0x00000014 Code RO 280 i.GPIO_SetOutput ens1_gpio.o 0x10000be0 0x10000be0 0x00000008 Code RO 787 i.EMS_Start ens1_wavegen.o
0x10000d24 0x10000d24 0x00000004 Code RO 345 i.MTP_init ens1_mtp.o 0x10000be8 0x10000be8 0x00000038 Code RO 788 i.EMS_Stop ens1_wavegen.o
0x10000d28 0x10000d28 0x00000014 Code RO 85 i.NVIC_ClearPendingIRQ ens1_uart.o 0x10000c20 0x10000c20 0x000000a4 Code RO 527 i.Fuse_result ens1_timer.o
0x10000d3c 0x10000d3c 0x00000014 Code RO 528 i.NVIC_ClearPendingIRQ ens1_timer.o 0x10000cc4 0x10000cc4 0x0000005c Code RO 270 i.GPIO_AltFunction ens1_gpio.o
0x10000d50 0x10000d50 0x00000014 Code RO 86 i.NVIC_DisableIRQ ens1_uart.o 0x10000d20 0x10000d20 0x00000018 Code RO 273 i.GPIO_GetOutputValue ens1_gpio.o
0x10000d64 0x10000d64 0x00000014 Code RO 529 i.NVIC_DisableIRQ ens1_timer.o 0x10000d38 0x10000d38 0x0000015c Code RO 274 i.GPIO_IO_Init ens1_gpio.o
0x10000d78 0x10000d78 0x00000014 Code RO 87 i.NVIC_EnableIRQ ens1_uart.o 0x10000e94 0x10000e94 0x00000028 Code RO 276 i.GPIO_Output ens1_gpio.o
0x10000d8c 0x10000d8c 0x00000014 Code RO 530 i.NVIC_EnableIRQ ens1_timer.o 0x10000ebc 0x10000ebc 0x00000028 Code RO 277 i.GPIO_Overturn ens1_gpio.o
0x10000da0 0x10000da0 0x00000018 Code RO 406 i.PCLK_Enable ens1_clock.o 0x10000ee4 0x10000ee4 0x00000014 Code RO 278 i.GPIO_ResetOutput ens1_gpio.o
0x10000db8 0x10000db8 0x00000010 Code RO 853 i.SystemInit system_cmsdk_cm0.o 0x10000ef8 0x10000ef8 0x00000014 Code RO 279 i.GPIO_SetOutput ens1_gpio.o
0x10000dc8 0x10000dc8 0x00000020 Code RO 531 i.TIMER0_Handler ens1_timer.o 0x10000f0c 0x10000f0c 0x00000004 Code RO 344 i.MTP_init ens1_mtp.o
0x10000de8 0x10000de8 0x00000040 Code RO 532 i.TIMER0_Init ens1_timer.o 0x10000f10 0x10000f10 0x00000014 Code RO 84 i.NVIC_ClearPendingIRQ ens1_uart.o
0x10000e28 0x10000e28 0x0000001c Code RO 533 i.TIMER1_Handler ens1_timer.o 0x10000f24 0x10000f24 0x00000014 Code RO 528 i.NVIC_ClearPendingIRQ ens1_timer.o
0x10000e44 0x10000e44 0x00000008 Code RO 536 i.Time_Manager_GetFlags ens1_timer.o 0x10000f38 0x10000f38 0x00000014 Code RO 85 i.NVIC_DisableIRQ ens1_uart.o
0x10000e4c 0x10000e4c 0x0000001c Code RO 537 i.Time_Manager_Init ens1_timer.o 0x10000f4c 0x10000f4c 0x00000014 Code RO 529 i.NVIC_DisableIRQ ens1_timer.o
0x10000e68 0x10000e68 0x000000b8 Code RO 538 i.Time_Manager_Process ens1_timer.o 0x10000f60 0x10000f60 0x00000014 Code RO 86 i.NVIC_EnableIRQ ens1_uart.o
0x10000f20 0x10000f20 0x0000006c Code RO 89 i.UART0_Handler ens1_uart.o 0x10000f74 0x10000f74 0x00000014 Code RO 530 i.NVIC_EnableIRQ ens1_timer.o
0x10000f8c 0x10000f8c 0x00000060 Code RO 90 i.UART1_Handler ens1_uart.o 0x10000f88 0x10000f88 0x00000018 Code RO 405 i.PCLK_Enable ens1_clock.o
0x10000fec 0x10000fec 0x0000000a Code RO 92 i.UARTLine_THREmpty ens1_uart.o 0x10000fa0 0x10000fa0 0x00000010 Code RO 867 i.SystemInit system_cmsdk_cm0.o
0x10000ff6 0x10000ff6 0x0000000a Code RO 98 i.UART_INT_TYPE ens1_uart.o 0x10000fb0 0x10000fb0 0x00000020 Code RO 531 i.TIMER0_Handler ens1_timer.o
0x10001000 0x10001000 0x00000058 Code RO 99 i.UART_ITConfig ens1_uart.o 0x10000fd0 0x10000fd0 0x00000040 Code RO 532 i.TIMER0_Init ens1_timer.o
0x10001058 0x10001058 0x00000100 Code RO 100 i.UART_Init ens1_uart.o 0x10001010 0x10001010 0x0000001c Code RO 533 i.TIMER1_Handler ens1_timer.o
0x10001158 0x10001158 0x0000001e Code RO 109 i.UartPutc ens1_uart.o 0x1000102c 0x1000102c 0x00000008 Code RO 536 i.Time_Manager_GetFlags ens1_timer.o
0x10001176 0x10001176 0x00000004 Code RO 111 i.WRITE_UART_THRBuff ens1_uart.o 0x10001034 0x10001034 0x0000001c Code RO 537 i.Time_Manager_Init ens1_timer.o
0x1000117a 0x1000117a 0x00000002 PAD 0x10001050 0x10001050 0x000000d8 Code RO 538 i.Time_Manager_Process ens1_timer.o
0x1000117c 0x1000117c 0x00000014 Code RO 911 i.__0printf$bare mc_p.l(printfb.o) 0x10001128 0x10001128 0x0000006c Code RO 88 i.UART0_Handler ens1_uart.o
0x10001190 0x10001190 0x0000002e Code RO 1263 i.__ARM_clz mf_p.l(depilogue.o) 0x10001194 0x10001194 0x00000060 Code RO 89 i.UART1_Handler ens1_uart.o
0x100011be 0x100011be 0x00000002 PAD 0x100011f4 0x100011f4 0x0000000a Code RO 91 i.UARTLine_THREmpty ens1_uart.o
0x100011c0 0x100011c0 0x0000002c Code RO 1220 i.__ARM_fpclassify m_ps.l(fpclassify.o) 0x100011fe 0x100011fe 0x0000000a Code RO 97 i.UART_INT_TYPE ens1_uart.o
0x100011ec 0x100011ec 0x000000ac Code RO 1222 i.__kernel_poly m_ps.l(poly.o) 0x10001208 0x10001208 0x00000058 Code RO 98 i.UART_ITConfig ens1_uart.o
0x10001298 0x10001298 0x00000014 Code RO 1206 i.__mathlib_dbl_divzero m_ps.l(dunder.o) 0x10001260 0x10001260 0x00000100 Code RO 99 i.UART_Init ens1_uart.o
0x100012ac 0x100012ac 0x00000008 Code RO 1208 i.__mathlib_dbl_infnan2 m_ps.l(dunder.o) 0x10001360 0x10001360 0x0000001e Code RO 108 i.UartPutc ens1_uart.o
0x100012b4 0x100012b4 0x00000010 Code RO 1209 i.__mathlib_dbl_invalid m_ps.l(dunder.o) 0x1000137e 0x1000137e 0x00000004 Code RO 110 i.WRITE_UART_THRBuff ens1_uart.o
0x100012c4 0x100012c4 0x00000014 Code RO 1210 i.__mathlib_dbl_overflow m_ps.l(dunder.o) 0x10001382 0x10001382 0x00000002 PAD
0x100012d8 0x100012d8 0x00000014 Code RO 1212 i.__mathlib_dbl_underflow m_ps.l(dunder.o) 0x10001384 0x10001384 0x00000014 Code RO 925 i.__0printf$bare mc_p.l(printfb.o)
0x100012ec 0x100012ec 0x0000000e Code RO 1287 i.__scatterload_copy mc_p.l(handlers.o) 0x10001398 0x10001398 0x0000002e Code RO 1287 i.__ARM_clz mf_p.l(depilogue.o)
0x100012fa 0x100012fa 0x00000002 Code RO 1288 i.__scatterload_null mc_p.l(handlers.o) 0x100013c6 0x100013c6 0x00000002 PAD
0x100012fc 0x100012fc 0x0000000e Code RO 1289 i.__scatterload_zeroinit mc_p.l(handlers.o) 0x100013c8 0x100013c8 0x0000002c Code RO 1242 i.__ARM_fpclassify m_ps.l(fpclassify.o)
0x1000130a 0x1000130a 0x00000002 PAD 0x100013f4 0x100013f4 0x000000ac Code RO 1244 i.__kernel_poly m_ps.l(poly.o)
0x1000130c 0x1000130c 0x0000000c Code RO 1255 i.__set_errno mc_p.l(errno.o) 0x100014a0 0x100014a0 0x00000014 Code RO 1228 i.__mathlib_dbl_divzero m_ps.l(dunder.o)
0x10001318 0x10001318 0x0000001e Code RO 918 i._printf_core mc_p.l(printfb.o) 0x100014b4 0x100014b4 0x00000008 Code RO 1230 i.__mathlib_dbl_infnan2 m_ps.l(dunder.o)
0x10001336 0x10001336 0x00000002 PAD 0x100014bc 0x100014bc 0x00000010 Code RO 1231 i.__mathlib_dbl_invalid m_ps.l(dunder.o)
0x10001338 0x10001338 0x00000014 Code RO 732 i.boost_voltage_select_55V ens1_boost.o 0x100014cc 0x100014cc 0x00000014 Code RO 1232 i.__mathlib_dbl_overflow m_ps.l(dunder.o)
0x1000134c 0x1000134c 0x00000014 Code RO 455 i.fputc retarget.o 0x100014e0 0x100014e0 0x00000014 Code RO 1234 i.__mathlib_dbl_underflow m_ps.l(dunder.o)
0x10001360 0x10001360 0x000000f8 Code RO 3 i.main mian.o 0x100014f4 0x100014f4 0x0000000e Code RO 1311 i.__scatterload_copy mc_p.l(handlers.o)
0x10001458 0x10001458 0x000009fc Code RO 890 i.pow m_ps.l(pow.o) 0x10001502 0x10001502 0x00000002 Code RO 1312 i.__scatterload_null mc_p.l(handlers.o)
0x10001e54 0x10001e54 0x00000048 Code RO 1226 i.sqrt m_ps.l(sqrt.o) 0x10001504 0x10001504 0x0000000e Code RO 1313 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x10001e9c 0x10001e9c 0x00000028 Code RO 781 i.wavegen_Init ens1_wavegen.o 0x10001512 0x10001512 0x00000002 PAD
0x10001ec4 0x10001ec4 0x00000050 Code RO 782 i.wavegen_Start ens1_wavegen.o 0x10001514 0x10001514 0x0000000c Code RO 1277 i.__set_errno mc_p.l(errno.o)
0x10001f14 0x10001f14 0x00000016 Code RO 783 i.wavegen_Stop ens1_wavegen.o 0x10001520 0x10001520 0x0000001e Code RO 932 i._printf_core mc_p.l(printfb.o)
0x10001f2a 0x10001f2a 0x00000002 PAD 0x1000153e 0x1000153e 0x00000002 PAD
0x10001f2c 0x10001f2c 0x000000a8 Code RO 784 i.wavegen_driverA_sine_test ens1_wavegen.o 0x10001540 0x10001540 0x00000014 Code RO 741 i.boost_voltage_select_55V ens1_boost.o
0x10001fd4 0x10001fd4 0x0000000e Data RO 4 .constdata mian.o 0x10001554 0x10001554 0x00000014 Code RO 454 i.fputc retarget.o
0x10001fe2 0x10001fe2 0x00000006 PAD 0x10001568 0x10001568 0x00000064 Code RO 3 i.main mian.o
0x10001fe8 0x10001fe8 0x00000088 Data RO 891 .constdata m_ps.l(pow.o) 0x100015cc 0x100015cc 0x000009fc Code RO 904 i.pow m_ps.l(pow.o)
0x10002070 0x10002070 0x00000008 Data RO 1224 .constdata m_ps.l(qnan.o) 0x10001fc8 0x10001fc8 0x00000048 Code RO 1248 i.sqrt m_ps.l(sqrt.o)
0x10002078 0x10002078 0x00000020 Data RO 1285 Region$$Table anon$$obj.o 0x10002010 0x10002010 0x00000028 Code RO 790 i.wavegen_Init ens1_wavegen.o
0x10002038 0x10002038 0x0000004c Code RO 791 i.wavegen_Start ens1_wavegen.o
0x10002084 0x10002084 0x00000016 Code RO 792 i.wavegen_Stop ens1_wavegen.o
0x1000209a 0x1000209a 0x00000002 PAD
0x1000209c 0x1000209c 0x000000a8 Code RO 793 i.wavegen_driverA_sine_test ens1_wavegen.o
0x10002144 0x10002144 0x00000004 PAD
0x10002148 0x10002148 0x00000088 Data RO 905 .constdata m_ps.l(pow.o)
0x100021d0 0x100021d0 0x00000008 Data RO 1246 .constdata m_ps.l(qnan.o)
0x100021d8 0x100021d8 0x00000020 Data RO 1309 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x10002098, Size: 0x00000288, Max: 0x00020000, ABSOLUTE) Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x100021f8, Size: 0x000002a0, Max: 0x00020000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x10002098 0x00000002 Data RW 5 .data mian.o 0x20000000 0x100021f8 0x0000001e Data RW 111 .data ens1_uart.o
0x20000002 0x1000209a 0x00000002 PAD 0x2000001e 0x10002216 0x00000002 PAD
0x20000004 0x1000209c 0x0000001e Data RW 112 .data ens1_uart.o 0x20000020 0x10002218 0x0000000e Data RW 406 .data ens1_clock.o
0x20000022 0x100020ba 0x00000002 PAD 0x2000002e 0x10002226 0x00000002 PAD
0x20000024 0x100020bc 0x0000000e Data RW 407 .data ens1_clock.o 0x20000030 0x10002228 0x00000008 Data RW 455 .data retarget.o
0x20000032 0x100020ca 0x00000002 PAD 0x20000038 0x10002230 0x00000020 Data RW 540 .data ens1_timer.o
0x20000034 0x100020cc 0x00000008 Data RW 456 .data retarget.o 0x20000058 0x10002250 0x00000028 Data RW 795 .data ens1_wavegen.o
0x2000003c 0x100020d4 0x0000001c Data RW 540 .data ens1_timer.o 0x20000080 0x10002278 0x00000008 Data RW 868 .data system_cmsdk_cm0.o
0x20000058 0x100020f0 0x00000014 Data RW 786 .data ens1_wavegen.o 0x20000088 0x10002280 0x00000004 Data RW 1278 .data mc_p.l(errno.o)
0x2000006c 0x10002104 0x00000008 Data RW 854 .data system_cmsdk_cm0.o 0x2000008c - 0x0000000e Zero RW 794 .bss ens1_wavegen.o
0x20000074 0x1000210c 0x00000004 Data RW 1256 .data mc_p.l(errno.o) 0x2000009a 0x10002284 0x00000006 PAD
0x20000078 - 0x0000000e Zero RW 785 .bss ens1_wavegen.o 0x200000a0 - 0x00000200 Zero RW 896 STACK startup_cmsdk_cm0.o
0x20000086 0x10002110 0x00000002 PAD
0x20000088 - 0x00000200 Zero RW 882 STACK startup_cmsdk_cm0.o
============================================================================== ==============================================================================
@ -1108,18 +1148,18 @@ Image component sizes
404 22 0 14 0 3371 ens1_clock.o 404 22 0 14 0 3371 ens1_clock.o
584 30 0 0 0 3766 ens1_gpio.o 584 30 0 0 0 3766 ens1_gpio.o
4 0 0 0 0 391 ens1_mtp.o 4 0 0 0 0 391 ens1_mtp.o
430 66 0 28 0 5118 ens1_timer.o 626 76 0 32 0 6843 ens1_timer.o
662 34 0 30 0 15204 ens1_uart.o 662 34 0 30 0 15204 ens1_uart.o
818 188 0 20 14 5450 ens1_wavegen.o 750 184 0 40 14 6004 ens1_wavegen.o
248 26 14 2 0 44171 mian.o 100 18 0 0 0 42063 mian.o
20 4 0 8 0 2302 retarget.o 20 4 0 8 0 2302 retarget.o
28 8 192 0 512 576 startup_cmsdk_cm0.o 28 8 192 0 512 576 startup_cmsdk_cm0.o
16 8 0 8 0 631 system_cmsdk_cm0.o 16 8 0 8 0 631 system_cmsdk_cm0.o
---------------------------------------------------------------------- ----------------------------------------------------------------------
3240 394 244 116 528 81391 Object Totals 3224 396 224 136 532 81562 Object Totals
0 0 32 0 0 0 (incl. Generated) 0 0 32 0 0 0 (incl. Generated)
6 0 6 6 2 0 (incl. Padding) 10 4 0 4 6 0 (incl. Padding)
---------------------------------------------------------------------- ----------------------------------------------------------------------
@ -1151,6 +1191,7 @@ Image component sizes
50 8 0 0 0 144 printfb.o 50 8 0 0 0 144 printfb.o
44 0 0 0 0 72 uidiv.o 44 0 0 0 0 72 uidiv.o
40 2 0 0 0 68 cdrcmple.o 40 2 0 0 0 68 cdrcmple.o
20 0 0 0 0 68 cfrcmple.o
356 4 0 0 0 140 dadd.o 356 4 0 0 0 140 dadd.o
240 6 0 0 0 84 ddiv.o 240 6 0 0 0 84 ddiv.o
236 0 0 0 0 216 depilogue.o 236 0 0 0 0 216 depilogue.o
@ -1160,10 +1201,14 @@ Image component sizes
208 6 0 0 0 88 dmul.o 208 6 0 0 0 88 dmul.o
44 0 0 0 0 72 dscalb.o 44 0 0 0 0 72 dscalb.o
162 0 0 0 0 80 dsqrt.o 162 0 0 0 0 80 dsqrt.o
178 0 0 0 0 108 fadd.o
130 0 0 0 0 144 fepilogue.o
40 0 0 0 0 60 ffixui.o
14 0 0 0 0 68 ffltui.o
---------------------------------------------------------------------- ----------------------------------------------------------------------
4716 288 144 4 0 2452 Library Totals 5104 288 144 4 0 2900 Library Totals
6 0 0 0 0 0 (incl. Padding) 12 0 0 0 0 0 (incl. Padding)
---------------------------------------------------------------------- ----------------------------------------------------------------------
@ -1171,10 +1216,10 @@ Image component sizes
2928 220 144 0 0 792 m_ps.l 2928 220 144 0 0 792 m_ps.l
368 30 0 4 0 708 mc_p.l 368 30 0 4 0 708 mc_p.l
1414 38 0 0 0 952 mf_p.l 1796 38 0 0 0 1400 mf_p.l
---------------------------------------------------------------------- ----------------------------------------------------------------------
4716 288 144 4 0 2452 Library Totals 5104 288 144 4 0 2900 Library Totals
---------------------------------------------------------------------- ----------------------------------------------------------------------
@ -1183,15 +1228,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Code (inc. data) RO Data RW Data ZI Data Debug
7956 682 388 120 528 80951 Grand Totals 8328 684 368 140 532 81298 Grand Totals
7956 682 388 120 528 80951 ELF Image Totals 8328 684 368 140 532 81298 ELF Image Totals
7956 682 388 120 0 0 ROM Totals 8328 684 368 140 0 0 ROM Totals
============================================================================== ==============================================================================
Total RO Size (Code + RO Data) 8344 ( 8.15kB) Total RO Size (Code + RO Data) 8696 ( 8.49kB)
Total RW Size (RW Data + ZI Data) 648 ( 0.63kB) Total RW Size (RW Data + ZI Data) 672 ( 0.66kB)
Total ROM Size (Code + RO Data + RW Data) 8464 ( 8.27kB) Total ROM Size (Code + RO Data + RW Data) 8836 ( 8.63kB)
============================================================================== ==============================================================================

Binary file not shown.

View File

@ -26,20 +26,10 @@ Project File Date: 08/15/2025
<h2>Output:</h2> <h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARM_Compiler_5.06u7\Bin' *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARM_Compiler_5.06u7\Bin'
Rebuild target 'ENS001_BASIC_PRJ' Build target 'ENS001_BASIC_PRJ'
assembling startup_CMSDK_CM0.s...
compiling mian.c... compiling mian.c...
compiling ENS1_GPIO.c...
compiling system_CMSDK_CM0.c...
compiling retarget.c...
compiling ENS1_BOOST.c...
compiling ENS1_CLOCK.c...
compiling ENS1_MTP.c...
compiling ENS1_UART.c...
compiling ENS1_WAVEGEN.c...
compiling ENS1_TIMER.c...
linking... linking...
Program Size: Code=7956 RO-data=388 RW-data=120 ZI-data=528 Program Size: Code=8328 RO-data=368 RW-data=140 ZI-data=532
FromELF: creating hex file... FromELF: creating hex file...
".\Objects\ENS001_BASIC_PRJ.axf" - 0 Error(s), 0 Warning(s). ".\Objects\ENS001_BASIC_PRJ.axf" - 0 Error(s), 0 Warning(s).

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
Dependencies for Project 'ENS001_BASIC_PRJ', Target 'ENS001_BASIC_PRJ': (DO NOT MODIFY !) Dependencies for Project 'ENS001_BASIC_PRJ', Target 'ENS001_BASIC_PRJ': (DO NOT MODIFY !)
CompilerVersion: 5060750::V5.06 update 6 (build 750)::.\ARM_Compiler_5.06u7 CompilerVersion: 5060750::V5.06 update 6 (build 750)::.\ARM_Compiler_5.06u7
F (.\USER\mian.c)(0x68B11E1F)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\mian.o --omf_browse .\objects\mian.crf --depend .\objects\mian.d) F (.\USER\mian.c)(0x68C14CF9)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\mian.o --omf_browse .\objects\mian.crf --depend .\objects\mian.d)
I (USER\my_header.h)(0x68B11CC5) I (USER\my_header.h)(0x68C138EC)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E)
@ -11,16 +11,16 @@ I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E)
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6)
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6) I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
I (.\FWLIB\include\ENS1_TIMER.h)(0x68A5333E) I (.\FWLIB\include\ENS1_TIMER.h)(0x68C13790)
I (.\USER\my_header.h)(0x68B11CC5) I (.\USER\my_header.h)(0x68C138EC)
I (.\FWLIB\include\ENS1_MTP.h)(0x65605CD6) I (.\FWLIB\include\ENS1_MTP.h)(0x65605CD6)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdlib.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdlib.h)(0x599ECD2C)
I (.\FWLIB\include\ENS1_CLOCK.h)(0x68358097) I (.\FWLIB\include\ENS1_CLOCK.h)(0x68358097)
I (.\FWLIB\include\ENS1_UART.h)(0x68B10579) I (.\FWLIB\include\ENS1_UART.h)(0x68B10579)
I (.\FWLIB\include\ENS1_GPIO.h)(0x68B11DDD) I (.\FWLIB\include\ENS1_GPIO.h)(0x68B11DDD)
I (.\FWLIB\include\ENS1_WAVEGEN.h)(0x68A53F9C) I (.\FWLIB\include\ENS1_WAVEGEN.h)(0x68C14AAF)
F (.\FWLIB\source\ENS1_UART.c)(0x68B117BC)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_uart.o --omf_browse .\objects\ens1_uart.crf --depend .\objects\ens1_uart.d) F (.\FWLIB\source\ENS1_UART.c)(0x68B117BC)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_uart.o --omf_browse .\objects\ens1_uart.crf --depend .\objects\ens1_uart.d)
I (.\USER\my_header.h)(0x68B11CC5) I (.\USER\my_header.h)(0x68C138EC)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E)
@ -30,12 +30,12 @@ I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E)
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6)
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6) I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
I (.\FWLIB\include\ENS1_TIMER.h)(0x68A5333E) I (.\FWLIB\include\ENS1_TIMER.h)(0x68C13790)
I (.\FWLIB\include\ENS1_UART.h)(0x68B10579) I (.\FWLIB\include\ENS1_UART.h)(0x68B10579)
I (.\FWLIB\include\ENS1_CLOCK.h)(0x68358097) I (.\FWLIB\include\ENS1_CLOCK.h)(0x68358097)
I (.\FWLIB\include\ENS1_GPIO.h)(0x68B11DDD) I (.\FWLIB\include\ENS1_GPIO.h)(0x68B11DDD)
F (.\FWLIB\source\ENS1_GPIO.c)(0x689C4B85)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_gpio.o --omf_browse .\objects\ens1_gpio.crf --depend .\objects\ens1_gpio.d) F (.\FWLIB\source\ENS1_GPIO.c)(0x689C4B85)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_gpio.o --omf_browse .\objects\ens1_gpio.crf --depend .\objects\ens1_gpio.d)
I (.\USER\my_header.h)(0x68B11CC5) I (.\USER\my_header.h)(0x68C138EC)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E)
@ -45,7 +45,7 @@ I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E)
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6)
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6) I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
I (.\FWLIB\include\ENS1_TIMER.h)(0x68A5333E) I (.\FWLIB\include\ENS1_TIMER.h)(0x68C13790)
I (.\FWLIB\include\ENS1_GPIO.h)(0x68B11DDD) I (.\FWLIB\include\ENS1_GPIO.h)(0x68B11DDD)
F (.\FWLIB\source\ENS1_MTP.c)(0x68B10C84)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_mtp.o --omf_browse .\objects\ens1_mtp.crf --depend .\objects\ens1_mtp.d) F (.\FWLIB\source\ENS1_MTP.c)(0x68B10C84)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_mtp.o --omf_browse .\objects\ens1_mtp.crf --depend .\objects\ens1_mtp.d)
I (.\FWLIB\include\ENS1_MTP.h)(0x65605CD6) I (.\FWLIB\include\ENS1_MTP.h)(0x65605CD6)
@ -57,13 +57,13 @@ I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6)
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6) I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdlib.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdlib.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C)
I (.\USER\my_header.h)(0x68B11CC5) I (.\USER\my_header.h)(0x68C138EC)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E)
I (.\FWLIB\include\ENS1_TIMER.h)(0x68A5333E) I (.\FWLIB\include\ENS1_TIMER.h)(0x68C13790)
F (.\FWLIB\source\ENS1_CLOCK.c)(0x68A5300C)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_clock.o --omf_browse .\objects\ens1_clock.crf --depend .\objects\ens1_clock.d) F (.\FWLIB\source\ENS1_CLOCK.c)(0x68A5300C)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_clock.o --omf_browse .\objects\ens1_clock.crf --depend .\objects\ens1_clock.d)
I (.\FWLIB\include\ENS1_CLOCK.h)(0x68358097) I (.\FWLIB\include\ENS1_CLOCK.h)(0x68358097)
I (.\USER\my_header.h)(0x68B11CC5) I (.\USER\my_header.h)(0x68C138EC)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E)
@ -73,7 +73,7 @@ I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E)
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6)
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6) I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
I (.\FWLIB\include\ENS1_TIMER.h)(0x68A5333E) I (.\FWLIB\include\ENS1_TIMER.h)(0x68C13790)
F (.\FWLIB\source\retarget.c)(0x6565495A)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\retarget.o --omf_browse .\objects\retarget.crf --depend .\objects\retarget.d) F (.\FWLIB\source\retarget.c)(0x6565495A)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\retarget.o --omf_browse .\objects\retarget.crf --depend .\objects\retarget.d)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\time.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\time.h)(0x599ECD2E)
@ -85,15 +85,15 @@ I (.\CORE\INCLUDE\core_cm0.h)(0x63648DE6)
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6)
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6) I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
F (.\FWLIB\source\ENS1_TIMER.c)(0x68B11CB3)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_timer.o --omf_browse .\objects\ens1_timer.crf --depend .\objects\ens1_timer.d) F (.\FWLIB\source\ENS1_TIMER.c)(0x68C14C52)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_timer.o --omf_browse .\objects\ens1_timer.crf --depend .\objects\ens1_timer.d)
I (.\FWLIB\include\ENS1_TIMER.h)(0x68A5333E) I (.\FWLIB\include\ENS1_TIMER.h)(0x68C13790)
I (.\CORE\INCLUDE\CMSDK_CM0.h)(0x64D5ADE8) I (.\CORE\INCLUDE\CMSDK_CM0.h)(0x64D5ADE8)
I (.\CORE\INCLUDE\core_cm0.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cm0.h)(0x63648DE6)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E)
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6)
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6) I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
I (.\USER\my_header.h)(0x68B11CC5) I (.\USER\my_header.h)(0x68C138EC)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E)
@ -108,19 +108,19 @@ I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E)
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6)
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6) I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
F (.\FWLIB\source\ENS1_WAVEGEN.c)(0x68B11C3C)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_wavegen.o --omf_browse .\objects\ens1_wavegen.crf --depend .\objects\ens1_wavegen.d) F (.\FWLIB\source\ENS1_WAVEGEN.c)(0x68C14BB4)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\ens1_wavegen.o --omf_browse .\objects\ens1_wavegen.crf --depend .\objects\ens1_wavegen.d)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdio.h)(0x599ECD2C)
I (.\FWLIB\include\ENS1_WAVEGEN.h)(0x68A53F9C) I (.\FWLIB\include\ENS1_WAVEGEN.h)(0x68C14AAF)
I (.\CORE\INCLUDE\CMSDK_CM0.h)(0x64D5ADE8) I (.\CORE\INCLUDE\CMSDK_CM0.h)(0x64D5ADE8)
I (.\CORE\INCLUDE\core_cm0.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cm0.h)(0x63648DE6)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E)
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6) I (.\CORE\INCLUDE\core_cmFunc.h)(0x63648DE6)
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6) I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
I (.\USER\my_header.h)(0x68B11CC5) I (.\USER\my_header.h)(0x68C138EC)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\string.h)(0x599ECD2C)
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E) I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\math.h)(0x599ECD2E)
I (.\FWLIB\include\ENS1_TIMER.h)(0x68A5333E) I (.\FWLIB\include\ENS1_TIMER.h)(0x68C13790)
I (.\FWLIB\include\ENS1_CLOCK.h)(0x68358097) I (.\FWLIB\include\ENS1_CLOCK.h)(0x68358097)
I (.\FWLIB\include\ENS1_BOOST.h)(0x68B11D22) I (.\FWLIB\include\ENS1_BOOST.h)(0x68B11D22)
F (.\CORE\system_CMSDK_CM0.c)(0x63648DE6)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\system_cmsdk_cm0.o --omf_browse .\objects\system_cmsdk_cm0.crf --depend .\objects\system_cmsdk_cm0.d) F (.\CORE\system_CMSDK_CM0.c)(0x63648DE6)(--c99 -c --cpu Cortex-M0 -D__MICROLIB --li -g -O0 --apcs=interwork --split_sections -I .\CORE\INCLUDE -I .\USER -I .\FWLIB\include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARMCM0\Include -ID:\Keil_v5\ARM\Packs\ARM\Cortex_DFP\1.1.0\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="538" -DARMCM0 -o .\objects\system_cmsdk_cm0.o --omf_browse .\objects\system_cmsdk_cm0.crf --depend .\objects\system_cmsdk_cm0.d)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -22,6 +22,7 @@ Modification: 初版
#include "ENS1_GPIO.h" #include "ENS1_GPIO.h"
#include "ENS1_WAVEGEN.h" #include "ENS1_WAVEGEN.h"
int main(){ int main(){
// 初始化系统 // 初始化系统
MTP_init(); MTP_init();
@ -34,93 +35,26 @@ int main(){
// 初始化UART // 初始化UART
UART_Init(CMSDK_UART1, &UART1_Init); UART_Init(CMSDK_UART1, &UART1_Init);
UART_ITConfig(CMSDK_UART1, &UART1_ITSet); UART_ITConfig(CMSDK_UART1, &UART1_ITSet);
// 初始化时间管理器
Time_Manager_Init();
// 初始化定时器在wavegen_Init之前 // 初始化定时器在wavegen_Init之前
TIMER0_Init(1); TIMER0_Init(1);
// 初始化时间管理器
Time_Manager_Init();
// 初始化波形生成器(电刺激) // 初始化波形生成器(电刺激)
wavegen_Init(); wavegen_Init();
// 配置电刺激参数 // 配置电刺激参数
EMS_Config_TypeDef ems_config = {
.frequency = 100, // 100Hz
.duration = 1000, // 1000ms
.intensity = 128, // 中等强度
.rest_time = 100, // 100ms休息时间
.silent_time = 50, // 50ms静默时间
// 缓进缓出控制参数
.ramp_up_time = 2, // 缓进时间2秒
.hold_time = 6, // 保持时间6秒
.ramp_down_time = 2, // 缓出时间2秒
.enable_ramp = 1 // 启用渐进控制
};
EMS_Configure(&ems_config); EMS_Configure(&ems_config);
// 启动电刺激 // 启动电刺激
EMS_Start(); EMS_Start();
static uint8_t ems_control_count = 0; // 电刺激控制计数器
static uint8_t ems_state = 0; // 电刺激状态0=关闭1=开启
while(1) while(1)
{ {
// 获取时间标志位 //if ( time_count <= ems_config.ramp_up_time*1000 ) waves_per_step = (g_ems_config.intensity ) / (ems_config.ramp_up_time*1000);
Time_Flag_TypeDef* time_flags = Time_Manager_GetFlags(); //else if(time_count <= (ems_config.ramp_up_time+ems_config.hold_time+ems_config.ramp_down_time)*1000) waves_per_step = (g_ems_config.intensity - 0) / (ems_config.ramp_down_time*1000);
// 处理电刺激(在主循环中运行)
// 注意这里不再直接调用EMS_Process(),而是通过状态控制
// 基于时间标志位执行不同周期的任务
if (time_flags->T_2ms) {
// 2ms周期任务 - 高频控制任务
time_flags->T_2ms = 0; // 清除标志位
}
if (time_flags->T_10ms) {
// 10ms周期任务 - 中频控制任务
time_flags->T_10ms = 0; // 清除标志位
}
if (time_flags->T_100ms) {
// 100ms周期任务 - 低频控制任务
time_flags->T_100ms = 0; // 清除标志位
}
if (time_flags->T_1s) {
// 1s周期任务 - 超低频任务
ems_control_count++; // 每秒递增计数器
// 间断性放电控制逻辑
if (ems_control_count <= 10) {
// 前10秒开启电刺激
if (ems_state == 0) {
ems_state = 1;
EMS_Start(); // 启动电刺激
}
// 处理电刺激
EMS_Process();
} else if (ems_control_count <= 20) {
// 后10秒关闭电刺激
if (ems_state == 1) {
ems_state = 0;
EMS_Stop(); // 停止电刺激
}
} else {
// 重置计数器,开始新的周期
ems_control_count = 0;
}
GPIO_Overturn(GPIO_19); // GPIO19翻转
time_flags->T_1s = 0; // 清除标志位
}
// 定时器中断处理在 TIMER0_Handler() 中
} }
} }