parent
77e6088821
commit
83d56969fb
|
|
@ -1,6 +1,10 @@
|
|||
{
|
||||
"files.associations": {
|
||||
"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
|
|
@ -197,6 +197,54 @@
|
|||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\ENS001_BASIC_PRJ\USER/mian.c\36</Expression>
|
||||
</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>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
|
|
|
|||
|
|
@ -2,9 +2,11 @@
|
|||
#define ENS1_TIMER_H
|
||||
#include "CMSDK_CM0.h"
|
||||
#include "my_header.h"
|
||||
|
||||
extern uint8_t ems_control_count; // 电刺激控制计数器
|
||||
extern uint8_t ems_state ; // 电刺激状态:0=关闭,1=开启
|
||||
// 时间管理标志位结构体
|
||||
typedef struct {
|
||||
uint8_t T_1ms; // 1ms周期标志
|
||||
uint8_t T_2ms; // 2ms周期标志
|
||||
uint8_t T_6ms; // 6ms周期标志
|
||||
uint8_t T_10ms; // 10ms周期标志
|
||||
|
|
@ -15,6 +17,7 @@ typedef struct {
|
|||
|
||||
// 时间管理计数器结构体
|
||||
typedef struct {
|
||||
uint8_t t_1ms; // 1ms计数器
|
||||
uint8_t t_2ms; // 2ms计数器
|
||||
uint8_t t_6ms; // 6ms计数器
|
||||
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_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 Fuse_result(void);
|
||||
// 时间管理函数声明
|
||||
extern void Time_Manager_Init(void);
|
||||
extern void Time_Manager_Process(void);
|
||||
|
|
|
|||
|
|
@ -49,7 +49,9 @@ typedef struct {
|
|||
uint8_t ramp_down_time; // 缓出时间:2秒
|
||||
uint8_t enable_ramp; // 启用渐进控制
|
||||
} 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_Start(void);
|
||||
|
|
@ -57,5 +59,5 @@ void EMS_Stop(void);
|
|||
void EMS_UpdateIntensity(uint16_t intensity);
|
||||
void EMS_Process(void);
|
||||
void EMS_Process_Ramp(void); // 缓进缓出处理函数
|
||||
|
||||
extern EMS_Config_TypeDef ems_config;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2,19 +2,19 @@
|
|||
#include "ENS_CURRENT_CALIBRATION.h"
|
||||
#include "ENS1_CLOCK.h"
|
||||
#include <string.h>
|
||||
|
||||
void TIMER0_Init(uint32_t Int_Period) //定时器中断周期 单位ms
|
||||
uint8_t ems_control_count = 0; // 电刺激控制计数器
|
||||
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);
|
||||
NVIC_DisableIRQ(TIMER0_IRQn);
|
||||
NVIC_ClearPendingIRQ(TIMER0_IRQn);
|
||||
|
||||
uint32_t reload_value = (uint32_t)(APB_Clock_Freq / 1000 * Int_Period);
|
||||
|
||||
CMSDK_timer_Init(CMSDK_TIMER0, reload_value, 1); //
|
||||
CMSDK_timer_Init(CMSDK_TIMER0,(uint32_t)(APB_Clock_Freq / 1000 *Int_Period) , 1); //
|
||||
NVIC_EnableIRQ(TIMER0_IRQn);
|
||||
}
|
||||
|
||||
|
||||
void TIMER1_Init(uint32_t Int_Period)
|
||||
{
|
||||
PCLK_Enable(TIMER1_PCLK_EN);
|
||||
|
|
@ -376,6 +376,67 @@ void CMSDK_timer_Init_ExtEnable(CMSDK_TIMER_TypeDef *CMSDK_TIMER, uint32_t reloa
|
|||
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)
|
||||
{
|
||||
// 所有计数器递增
|
||||
g_time_counters.t_1ms++;
|
||||
g_time_counters.t_2ms++;
|
||||
g_time_counters.t_6ms++;
|
||||
g_time_counters.t_10ms++;
|
||||
|
|
@ -414,6 +476,13 @@ void Time_Manager_Process(void)
|
|||
g_time_counters.t_1s++;
|
||||
|
||||
// 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) {
|
||||
g_time_counters.t_2ms = 0;
|
||||
g_time_flags.T_2ms = 1;
|
||||
|
|
@ -448,6 +517,7 @@ void Time_Manager_Process(void)
|
|||
g_time_counters.t_1s = 0;
|
||||
g_time_flags.T_1s = 1;
|
||||
}
|
||||
Fuse_result();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -483,7 +553,6 @@ uint32_t time_flag =0;
|
|||
void TIMER0_Handler(void){
|
||||
CMSDK_TIMER0->INTCLEAR = 1;
|
||||
timer0_irq_occurred++;
|
||||
|
||||
// 调用时间管理处理函数
|
||||
Time_Manager_Process();
|
||||
|
||||
|
|
|
|||
|
|
@ -21,14 +21,26 @@ Modification: 初版
|
|||
#include "ENS1_WAVEGEN.h"
|
||||
#include "ENS1_CLOCK.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 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 uint32_t g_wave_counter = 0; // 方波周期计数器
|
||||
static volatile uint32_t g_ramp_step_counter = 0; // 缓进步进计数器
|
||||
|
|
@ -147,7 +159,6 @@ void wavegen_Init(void)
|
|||
void wavegen_Start(void)
|
||||
{
|
||||
g_ems_running = 1;
|
||||
g_ems_count = 0;
|
||||
|
||||
// 初始化缓进缓出控制
|
||||
if (g_ems_config.enable_ramp)
|
||||
|
|
@ -182,7 +193,6 @@ void EMS_Start(void)
|
|||
void EMS_Stop(void)
|
||||
{
|
||||
g_ems_running = 0;
|
||||
g_ems_count = 0; // 重置计数器
|
||||
g_current_intensity = 0; // 重置强度
|
||||
g_ramp_phase = 0; // 重置渐进阶段
|
||||
g_wave_counter = 0; // 重置方波计数器
|
||||
|
|
@ -199,90 +209,69 @@ void EMS_UpdateIntensity(uint16_t intensity)
|
|||
// 缓进缓出处理函数(在电刺激处理中调用)
|
||||
void EMS_Process_Ramp(void)
|
||||
{
|
||||
|
||||
if(ems_state)
|
||||
{
|
||||
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)
|
||||
{
|
||||
return; // 如果未启用缓进缓出或未运行,直接返回
|
||||
}
|
||||
|
||||
// 计算每个强度步进需要的方波周期数
|
||||
// 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)
|
||||
{
|
||||
// 检查是否需要增加强度
|
||||
if (g_wave_counter >= waves_per_step)
|
||||
if ( time_count <= ems_config.ramp_up_time*1000 )
|
||||
{
|
||||
g_wave_counter = 0; // 重置方波计数器
|
||||
if (g_current_intensity < g_ems_config.intensity)
|
||||
{
|
||||
g_current_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: // 保持阶段
|
||||
if (g_ramp_step_counter < total_waves_hold)
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
// 保持最大强度
|
||||
if(time_count <= (ems_config.ramp_up_time+ems_config.hold_time)*1000)
|
||||
{
|
||||
|
||||
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; // 重置方波计数器
|
||||
}
|
||||
else g_ramp_phase = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
case 2: // 缓出阶段
|
||||
if (g_ramp_step_counter < total_waves_ramp_down)
|
||||
case 2:
|
||||
{
|
||||
// 检查是否需要减少强度
|
||||
if (g_wave_counter >= waves_per_step)
|
||||
if(time_count <= (ems_config.ramp_up_time+ems_config.hold_time+ems_config.ramp_down_time)*1000)
|
||||
{
|
||||
g_wave_counter = 0; // 重置方波计数器
|
||||
if (g_current_intensity > 0)
|
||||
{
|
||||
g_current_intensity--;
|
||||
g_current_intensity -= waves_per_step;
|
||||
}
|
||||
}
|
||||
g_ramp_step_counter++;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// 缓出完成,停止电刺激
|
||||
g_current_intensity = 0;
|
||||
|
||||
// 这里不直接停止,让主循环控制停止
|
||||
g_ramp_phase = 0;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else time_count = 0;
|
||||
}
|
||||
|
||||
// 电刺激主循环处理函数(在主循环中调用)
|
||||
|
|
@ -290,31 +279,9 @@ void EMS_Process(void)
|
|||
{
|
||||
if (g_ems_running)
|
||||
{
|
||||
g_ems_count++;
|
||||
|
||||
// 处理缓进缓出控制
|
||||
EMS_Process_Ramp();
|
||||
|
||||
// 使用当前缓进缓出的强度
|
||||
uint16_t current_intensity = g_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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
6265
JLinkLog.txt
6265
JLinkLog.txt
File diff suppressed because it is too large
Load Diff
|
|
@ -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_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_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.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.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_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 mian.o(.constdata) for .constdata
|
||||
mian.o(i.main) refers to mian.o(.data) for ems_control_count
|
||||
mian.o(i.main) refers to ens1_wavegen.o(.data) for ems_config
|
||||
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.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_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.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(.data) for timer0_irq_occurred
|
||||
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_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_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_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 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 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(.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(.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_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_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_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(.bss) for g_ems_config
|
||||
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.internal_alloc) refers to memcpya.o(.text) for __aeabi_memcpy
|
||||
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 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 to depilogue.o(.text) for _double_epilogue
|
||||
dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
|
||||
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 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_infnan) refers to dscalb.o(.text) for __ARM_scalbn
|
||||
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)
|
||||
|
||||
../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 uldiv.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 entry7a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.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 entry10b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.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 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 entry11b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 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 llshl.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 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/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 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 printf7.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE
|
||||
../clib/microlib/printf/printf.c 0x00000000 Number 0 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 memcpya.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 useno.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/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 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 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/fpscalb.c 0x00000000 Number 0 dscalb.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.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.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
|
||||
|
|
@ -661,6 +678,7 @@ Image Symbol Table
|
|||
USER\mian.c 0x00000000 Number 0 mian.o ABSOLUTE
|
||||
cdcmple.s 0x00000000 Number 0 cdcmple.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
|
||||
handlers.s 0x00000000 Number 0 handlers.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 0x1000011c Section 0 memcpya.o(.text)
|
||||
.text 0x10000140 Section 0 memseta.o(.text)
|
||||
.text 0x10000164 Section 0 ddiv.o(.text)
|
||||
.text 0x10000254 Section 0 dflti.o(.text)
|
||||
.text 0x1000027c Section 0 dfltui.o(.text)
|
||||
.text 0x10000298 Section 0 dfixui.o(.text)
|
||||
.text 0x100002d4 Section 0 llushr.o(.text)
|
||||
.text 0x100002f6 Section 0 iusefp.o(.text)
|
||||
.text 0x100002f6 Section 0 depilogue.o(.text)
|
||||
.text 0x100003b4 Section 0 dadd.o(.text)
|
||||
.text 0x10000518 Section 0 dmul.o(.text)
|
||||
.text 0x100005e8 Section 0 dscalb.o(.text)
|
||||
.text 0x10000614 Section 40 cdrcmple.o(.text)
|
||||
.text 0x1000063c Section 36 init.o(.text)
|
||||
.text 0x10000660 Section 0 llshl.o(.text)
|
||||
.text 0x10000680 Section 0 llsshr.o(.text)
|
||||
.text 0x100006a6 Section 0 dsqrt.o(.text)
|
||||
i.CMSDK_timer_Init 0x10000748 Section 0 ens1_timer.o(i.CMSDK_timer_Init)
|
||||
i.ClockInit 0x10000764 Section 0 ens1_clock.o(i.ClockInit)
|
||||
i.ClockInitSet 0x1000077c Section 0 ens1_clock.o(i.ClockInitSet)
|
||||
i.EMS_Configure 0x100008e0 Section 0 ens1_wavegen.o(i.EMS_Configure)
|
||||
i.EMS_Process 0x100008f8 Section 0 ens1_wavegen.o(i.EMS_Process)
|
||||
i.EMS_Process_Ramp 0x10000964 Section 0 ens1_wavegen.o(i.EMS_Process_Ramp)
|
||||
i.EMS_Start 0x10000a94 Section 0 ens1_wavegen.o(i.EMS_Start)
|
||||
i.EMS_Stop 0x10000a9c Section 0 ens1_wavegen.o(i.EMS_Stop)
|
||||
i.GPIO_AltFunction 0x10000adc Section 0 ens1_gpio.o(i.GPIO_AltFunction)
|
||||
i.GPIO_GetOutputValue 0x10000b38 Section 0 ens1_gpio.o(i.GPIO_GetOutputValue)
|
||||
i.GPIO_IO_Init 0x10000b50 Section 0 ens1_gpio.o(i.GPIO_IO_Init)
|
||||
i.GPIO_Output 0x10000cac Section 0 ens1_gpio.o(i.GPIO_Output)
|
||||
i.GPIO_Overturn 0x10000cd4 Section 0 ens1_gpio.o(i.GPIO_Overturn)
|
||||
i.GPIO_ResetOutput 0x10000cfc Section 0 ens1_gpio.o(i.GPIO_ResetOutput)
|
||||
i.GPIO_SetOutput 0x10000d10 Section 0 ens1_gpio.o(i.GPIO_SetOutput)
|
||||
i.MTP_init 0x10000d24 Section 0 ens1_mtp.o(i.MTP_init)
|
||||
i.NVIC_ClearPendingIRQ 0x10000d28 Section 0 ens1_uart.o(i.NVIC_ClearPendingIRQ)
|
||||
NVIC_ClearPendingIRQ 0x10000d29 Thumb Code 14 ens1_uart.o(i.NVIC_ClearPendingIRQ)
|
||||
i.NVIC_ClearPendingIRQ 0x10000d3c Section 0 ens1_timer.o(i.NVIC_ClearPendingIRQ)
|
||||
NVIC_ClearPendingIRQ 0x10000d3d Thumb Code 14 ens1_timer.o(i.NVIC_ClearPendingIRQ)
|
||||
i.NVIC_DisableIRQ 0x10000d50 Section 0 ens1_uart.o(i.NVIC_DisableIRQ)
|
||||
NVIC_DisableIRQ 0x10000d51 Thumb Code 14 ens1_uart.o(i.NVIC_DisableIRQ)
|
||||
i.NVIC_DisableIRQ 0x10000d64 Section 0 ens1_timer.o(i.NVIC_DisableIRQ)
|
||||
NVIC_DisableIRQ 0x10000d65 Thumb Code 14 ens1_timer.o(i.NVIC_DisableIRQ)
|
||||
i.NVIC_EnableIRQ 0x10000d78 Section 0 ens1_uart.o(i.NVIC_EnableIRQ)
|
||||
NVIC_EnableIRQ 0x10000d79 Thumb Code 14 ens1_uart.o(i.NVIC_EnableIRQ)
|
||||
i.NVIC_EnableIRQ 0x10000d8c Section 0 ens1_timer.o(i.NVIC_EnableIRQ)
|
||||
NVIC_EnableIRQ 0x10000d8d Thumb Code 14 ens1_timer.o(i.NVIC_EnableIRQ)
|
||||
i.PCLK_Enable 0x10000da0 Section 0 ens1_clock.o(i.PCLK_Enable)
|
||||
i.SystemInit 0x10000db8 Section 0 system_cmsdk_cm0.o(i.SystemInit)
|
||||
i.TIMER0_Handler 0x10000dc8 Section 0 ens1_timer.o(i.TIMER0_Handler)
|
||||
i.TIMER0_Init 0x10000de8 Section 0 ens1_timer.o(i.TIMER0_Init)
|
||||
i.TIMER1_Handler 0x10000e28 Section 0 ens1_timer.o(i.TIMER1_Handler)
|
||||
i.Time_Manager_GetFlags 0x10000e44 Section 0 ens1_timer.o(i.Time_Manager_GetFlags)
|
||||
i.Time_Manager_Init 0x10000e4c Section 0 ens1_timer.o(i.Time_Manager_Init)
|
||||
i.Time_Manager_Process 0x10000e68 Section 0 ens1_timer.o(i.Time_Manager_Process)
|
||||
i.UART0_Handler 0x10000f20 Section 0 ens1_uart.o(i.UART0_Handler)
|
||||
i.UART1_Handler 0x10000f8c Section 0 ens1_uart.o(i.UART1_Handler)
|
||||
i.UARTLine_THREmpty 0x10000fec Section 0 ens1_uart.o(i.UARTLine_THREmpty)
|
||||
i.UART_INT_TYPE 0x10000ff6 Section 0 ens1_uart.o(i.UART_INT_TYPE)
|
||||
i.UART_ITConfig 0x10001000 Section 0 ens1_uart.o(i.UART_ITConfig)
|
||||
i.UART_Init 0x10001058 Section 0 ens1_uart.o(i.UART_Init)
|
||||
i.UartPutc 0x10001158 Section 0 ens1_uart.o(i.UartPutc)
|
||||
i.WRITE_UART_THRBuff 0x10001176 Section 0 ens1_uart.o(i.WRITE_UART_THRBuff)
|
||||
i.__0printf$bare 0x1000117c Section 0 printfb.o(i.__0printf$bare)
|
||||
i.__ARM_clz 0x10001190 Section 0 depilogue.o(i.__ARM_clz)
|
||||
i.__ARM_fpclassify 0x100011c0 Section 0 fpclassify.o(i.__ARM_fpclassify)
|
||||
i.__kernel_poly 0x100011ec Section 0 poly.o(i.__kernel_poly)
|
||||
i.__mathlib_dbl_divzero 0x10001298 Section 0 dunder.o(i.__mathlib_dbl_divzero)
|
||||
i.__mathlib_dbl_infnan2 0x100012ac Section 0 dunder.o(i.__mathlib_dbl_infnan2)
|
||||
i.__mathlib_dbl_invalid 0x100012b4 Section 0 dunder.o(i.__mathlib_dbl_invalid)
|
||||
i.__mathlib_dbl_overflow 0x100012c4 Section 0 dunder.o(i.__mathlib_dbl_overflow)
|
||||
i.__mathlib_dbl_underflow 0x100012d8 Section 0 dunder.o(i.__mathlib_dbl_underflow)
|
||||
i.__scatterload_copy 0x100012ec Section 14 handlers.o(i.__scatterload_copy)
|
||||
i.__scatterload_null 0x100012fa Section 2 handlers.o(i.__scatterload_null)
|
||||
i.__scatterload_zeroinit 0x100012fc Section 14 handlers.o(i.__scatterload_zeroinit)
|
||||
i.__set_errno 0x1000130c Section 0 errno.o(i.__set_errno)
|
||||
i._printf_core 0x10001318 Section 0 printfb.o(i._printf_core)
|
||||
_printf_core 0x10001319 Thumb Code 30 printfb.o(i._printf_core)
|
||||
i.boost_voltage_select_55V 0x10001338 Section 0 ens1_boost.o(i.boost_voltage_select_55V)
|
||||
i.fputc 0x1000134c Section 0 retarget.o(i.fputc)
|
||||
i.main 0x10001360 Section 0 mian.o(i.main)
|
||||
i.pow 0x10001458 Section 0 pow.o(i.pow)
|
||||
i.sqrt 0x10001e54 Section 0 sqrt.o(i.sqrt)
|
||||
i.wavegen_Init 0x10001e9c Section 0 ens1_wavegen.o(i.wavegen_Init)
|
||||
i.wavegen_Start 0x10001ec4 Section 0 ens1_wavegen.o(i.wavegen_Start)
|
||||
i.wavegen_Stop 0x10001f14 Section 0 ens1_wavegen.o(i.wavegen_Stop)
|
||||
i.wavegen_driverA_sine_test 0x10001f2c Section 0 ens1_wavegen.o(i.wavegen_driverA_sine_test)
|
||||
.constdata 0x10001fd4 Section 14 mian.o(.constdata)
|
||||
.constdata 0x10001fe8 Section 136 pow.o(.constdata)
|
||||
bp 0x10001fe8 Data 16 pow.o(.constdata)
|
||||
dp_h 0x10001ff8 Data 16 pow.o(.constdata)
|
||||
dp_l 0x10002008 Data 16 pow.o(.constdata)
|
||||
L 0x10002018 Data 48 pow.o(.constdata)
|
||||
P 0x10002048 Data 40 pow.o(.constdata)
|
||||
.constdata 0x10002070 Section 8 qnan.o(.constdata)
|
||||
.data 0x20000000 Section 2 mian.o(.data)
|
||||
ems_control_count 0x20000000 Data 1 mian.o(.data)
|
||||
ems_state 0x20000001 Data 1 mian.o(.data)
|
||||
.data 0x20000004 Section 30 ens1_uart.o(.data)
|
||||
.data 0x20000024 Section 14 ens1_clock.o(.data)
|
||||
.data 0x20000034 Section 8 retarget.o(.data)
|
||||
.data 0x2000003c Section 28 ens1_timer.o(.data)
|
||||
g_time_flags 0x2000003c Data 6 ens1_timer.o(.data)
|
||||
g_time_counters 0x20000042 Data 8 ens1_timer.o(.data)
|
||||
.data 0x20000058 Section 20 ens1_wavegen.o(.data)
|
||||
g_ems_running 0x20000058 Data 1 ens1_wavegen.o(.data)
|
||||
g_ems_count 0x2000005c Data 4 ens1_wavegen.o(.data)
|
||||
g_current_intensity 0x20000060 Data 2 ens1_wavegen.o(.data)
|
||||
g_ramp_phase 0x20000062 Data 1 ens1_wavegen.o(.data)
|
||||
g_wave_counter 0x20000064 Data 4 ens1_wavegen.o(.data)
|
||||
g_ramp_step_counter 0x20000068 Data 4 ens1_wavegen.o(.data)
|
||||
.data 0x2000006c Section 8 system_cmsdk_cm0.o(.data)
|
||||
.data 0x20000074 Section 4 errno.o(.data)
|
||||
_errno 0x20000074 Data 4 errno.o(.data)
|
||||
.bss 0x20000078 Section 14 ens1_wavegen.o(.bss)
|
||||
g_ems_config 0x20000078 Data 14 ens1_wavegen.o(.bss)
|
||||
STACK 0x20000088 Section 512 startup_cmsdk_cm0.o(STACK)
|
||||
.text 0x10000164 Section 0 fadd.o(.text)
|
||||
.text 0x10000218 Section 0 ddiv.o(.text)
|
||||
.text 0x10000308 Section 0 ffltui.o(.text)
|
||||
.text 0x10000318 Section 0 dflti.o(.text)
|
||||
.text 0x10000340 Section 0 dfltui.o(.text)
|
||||
.text 0x1000035c Section 0 ffixui.o(.text)
|
||||
.text 0x10000384 Section 0 dfixui.o(.text)
|
||||
.text 0x100003c0 Section 20 cfrcmple.o(.text)
|
||||
.text 0x100003d4 Section 0 llushr.o(.text)
|
||||
.text 0x100003f6 Section 0 iusefp.o(.text)
|
||||
.text 0x100003f6 Section 0 fepilogue.o(.text)
|
||||
.text 0x10000478 Section 0 depilogue.o(.text)
|
||||
.text 0x10000538 Section 0 dadd.o(.text)
|
||||
.text 0x1000069c Section 0 dmul.o(.text)
|
||||
.text 0x1000076c Section 0 dscalb.o(.text)
|
||||
.text 0x10000798 Section 40 cdrcmple.o(.text)
|
||||
.text 0x100007c0 Section 36 init.o(.text)
|
||||
.text 0x100007e4 Section 0 llshl.o(.text)
|
||||
.text 0x10000804 Section 0 llsshr.o(.text)
|
||||
.text 0x1000082a Section 0 dsqrt.o(.text)
|
||||
i.CMSDK_timer_Init 0x100008cc Section 0 ens1_timer.o(i.CMSDK_timer_Init)
|
||||
i.ClockInit 0x100008e8 Section 0 ens1_clock.o(i.ClockInit)
|
||||
i.ClockInitSet 0x10000900 Section 0 ens1_clock.o(i.ClockInitSet)
|
||||
i.EMS_Configure 0x10000a64 Section 0 ens1_wavegen.o(i.EMS_Configure)
|
||||
i.EMS_Process 0x10000a7c Section 0 ens1_wavegen.o(i.EMS_Process)
|
||||
i.EMS_Process_Ramp 0x10000aac Section 0 ens1_wavegen.o(i.EMS_Process_Ramp)
|
||||
i.EMS_Start 0x10000be0 Section 0 ens1_wavegen.o(i.EMS_Start)
|
||||
i.EMS_Stop 0x10000be8 Section 0 ens1_wavegen.o(i.EMS_Stop)
|
||||
i.Fuse_result 0x10000c20 Section 0 ens1_timer.o(i.Fuse_result)
|
||||
i.GPIO_AltFunction 0x10000cc4 Section 0 ens1_gpio.o(i.GPIO_AltFunction)
|
||||
i.GPIO_GetOutputValue 0x10000d20 Section 0 ens1_gpio.o(i.GPIO_GetOutputValue)
|
||||
i.GPIO_IO_Init 0x10000d38 Section 0 ens1_gpio.o(i.GPIO_IO_Init)
|
||||
i.GPIO_Output 0x10000e94 Section 0 ens1_gpio.o(i.GPIO_Output)
|
||||
i.GPIO_Overturn 0x10000ebc Section 0 ens1_gpio.o(i.GPIO_Overturn)
|
||||
i.GPIO_ResetOutput 0x10000ee4 Section 0 ens1_gpio.o(i.GPIO_ResetOutput)
|
||||
i.GPIO_SetOutput 0x10000ef8 Section 0 ens1_gpio.o(i.GPIO_SetOutput)
|
||||
i.MTP_init 0x10000f0c Section 0 ens1_mtp.o(i.MTP_init)
|
||||
i.NVIC_ClearPendingIRQ 0x10000f10 Section 0 ens1_uart.o(i.NVIC_ClearPendingIRQ)
|
||||
NVIC_ClearPendingIRQ 0x10000f11 Thumb Code 14 ens1_uart.o(i.NVIC_ClearPendingIRQ)
|
||||
i.NVIC_ClearPendingIRQ 0x10000f24 Section 0 ens1_timer.o(i.NVIC_ClearPendingIRQ)
|
||||
NVIC_ClearPendingIRQ 0x10000f25 Thumb Code 14 ens1_timer.o(i.NVIC_ClearPendingIRQ)
|
||||
i.NVIC_DisableIRQ 0x10000f38 Section 0 ens1_uart.o(i.NVIC_DisableIRQ)
|
||||
NVIC_DisableIRQ 0x10000f39 Thumb Code 14 ens1_uart.o(i.NVIC_DisableIRQ)
|
||||
i.NVIC_DisableIRQ 0x10000f4c Section 0 ens1_timer.o(i.NVIC_DisableIRQ)
|
||||
NVIC_DisableIRQ 0x10000f4d Thumb Code 14 ens1_timer.o(i.NVIC_DisableIRQ)
|
||||
i.NVIC_EnableIRQ 0x10000f60 Section 0 ens1_uart.o(i.NVIC_EnableIRQ)
|
||||
NVIC_EnableIRQ 0x10000f61 Thumb Code 14 ens1_uart.o(i.NVIC_EnableIRQ)
|
||||
i.NVIC_EnableIRQ 0x10000f74 Section 0 ens1_timer.o(i.NVIC_EnableIRQ)
|
||||
NVIC_EnableIRQ 0x10000f75 Thumb Code 14 ens1_timer.o(i.NVIC_EnableIRQ)
|
||||
i.PCLK_Enable 0x10000f88 Section 0 ens1_clock.o(i.PCLK_Enable)
|
||||
i.SystemInit 0x10000fa0 Section 0 system_cmsdk_cm0.o(i.SystemInit)
|
||||
i.TIMER0_Handler 0x10000fb0 Section 0 ens1_timer.o(i.TIMER0_Handler)
|
||||
i.TIMER0_Init 0x10000fd0 Section 0 ens1_timer.o(i.TIMER0_Init)
|
||||
i.TIMER1_Handler 0x10001010 Section 0 ens1_timer.o(i.TIMER1_Handler)
|
||||
i.Time_Manager_GetFlags 0x1000102c Section 0 ens1_timer.o(i.Time_Manager_GetFlags)
|
||||
i.Time_Manager_Init 0x10001034 Section 0 ens1_timer.o(i.Time_Manager_Init)
|
||||
i.Time_Manager_Process 0x10001050 Section 0 ens1_timer.o(i.Time_Manager_Process)
|
||||
i.UART0_Handler 0x10001128 Section 0 ens1_uart.o(i.UART0_Handler)
|
||||
i.UART1_Handler 0x10001194 Section 0 ens1_uart.o(i.UART1_Handler)
|
||||
i.UARTLine_THREmpty 0x100011f4 Section 0 ens1_uart.o(i.UARTLine_THREmpty)
|
||||
i.UART_INT_TYPE 0x100011fe Section 0 ens1_uart.o(i.UART_INT_TYPE)
|
||||
i.UART_ITConfig 0x10001208 Section 0 ens1_uart.o(i.UART_ITConfig)
|
||||
i.UART_Init 0x10001260 Section 0 ens1_uart.o(i.UART_Init)
|
||||
i.UartPutc 0x10001360 Section 0 ens1_uart.o(i.UartPutc)
|
||||
i.WRITE_UART_THRBuff 0x1000137e Section 0 ens1_uart.o(i.WRITE_UART_THRBuff)
|
||||
i.__0printf$bare 0x10001384 Section 0 printfb.o(i.__0printf$bare)
|
||||
i.__ARM_clz 0x10001398 Section 0 depilogue.o(i.__ARM_clz)
|
||||
i.__ARM_fpclassify 0x100013c8 Section 0 fpclassify.o(i.__ARM_fpclassify)
|
||||
i.__kernel_poly 0x100013f4 Section 0 poly.o(i.__kernel_poly)
|
||||
i.__mathlib_dbl_divzero 0x100014a0 Section 0 dunder.o(i.__mathlib_dbl_divzero)
|
||||
i.__mathlib_dbl_infnan2 0x100014b4 Section 0 dunder.o(i.__mathlib_dbl_infnan2)
|
||||
i.__mathlib_dbl_invalid 0x100014bc Section 0 dunder.o(i.__mathlib_dbl_invalid)
|
||||
i.__mathlib_dbl_overflow 0x100014cc Section 0 dunder.o(i.__mathlib_dbl_overflow)
|
||||
i.__mathlib_dbl_underflow 0x100014e0 Section 0 dunder.o(i.__mathlib_dbl_underflow)
|
||||
i.__scatterload_copy 0x100014f4 Section 14 handlers.o(i.__scatterload_copy)
|
||||
i.__scatterload_null 0x10001502 Section 2 handlers.o(i.__scatterload_null)
|
||||
i.__scatterload_zeroinit 0x10001504 Section 14 handlers.o(i.__scatterload_zeroinit)
|
||||
i.__set_errno 0x10001514 Section 0 errno.o(i.__set_errno)
|
||||
i._printf_core 0x10001520 Section 0 printfb.o(i._printf_core)
|
||||
_printf_core 0x10001521 Thumb Code 30 printfb.o(i._printf_core)
|
||||
i.boost_voltage_select_55V 0x10001540 Section 0 ens1_boost.o(i.boost_voltage_select_55V)
|
||||
i.fputc 0x10001554 Section 0 retarget.o(i.fputc)
|
||||
i.main 0x10001568 Section 0 mian.o(i.main)
|
||||
i.pow 0x100015cc Section 0 pow.o(i.pow)
|
||||
i.sqrt 0x10001fc8 Section 0 sqrt.o(i.sqrt)
|
||||
i.wavegen_Init 0x10002010 Section 0 ens1_wavegen.o(i.wavegen_Init)
|
||||
i.wavegen_Start 0x10002038 Section 0 ens1_wavegen.o(i.wavegen_Start)
|
||||
i.wavegen_Stop 0x10002084 Section 0 ens1_wavegen.o(i.wavegen_Stop)
|
||||
i.wavegen_driverA_sine_test 0x1000209c Section 0 ens1_wavegen.o(i.wavegen_driverA_sine_test)
|
||||
.constdata 0x10002148 Section 136 pow.o(.constdata)
|
||||
bp 0x10002148 Data 16 pow.o(.constdata)
|
||||
dp_h 0x10002158 Data 16 pow.o(.constdata)
|
||||
dp_l 0x10002168 Data 16 pow.o(.constdata)
|
||||
L 0x10002178 Data 48 pow.o(.constdata)
|
||||
P 0x100021a8 Data 40 pow.o(.constdata)
|
||||
.constdata 0x100021d0 Section 8 qnan.o(.constdata)
|
||||
.data 0x20000000 Section 30 ens1_uart.o(.data)
|
||||
.data 0x20000020 Section 14 ens1_clock.o(.data)
|
||||
.data 0x20000030 Section 8 retarget.o(.data)
|
||||
.data 0x20000038 Section 32 ens1_timer.o(.data)
|
||||
g_time_flags 0x2000003c Data 7 ens1_timer.o(.data)
|
||||
g_time_counters 0x20000044 Data 8 ens1_timer.o(.data)
|
||||
.data 0x20000058 Section 40 ens1_wavegen.o(.data)
|
||||
g_ems_running 0x20000066 Data 1 ens1_wavegen.o(.data)
|
||||
g_ems_count 0x20000068 Data 4 ens1_wavegen.o(.data)
|
||||
g_current_intensity 0x20000070 Data 4 ens1_wavegen.o(.data)
|
||||
g_ramp_phase 0x20000074 Data 1 ens1_wavegen.o(.data)
|
||||
g_wave_counter 0x20000078 Data 4 ens1_wavegen.o(.data)
|
||||
g_ramp_step_counter 0x2000007c Data 4 ens1_wavegen.o(.data)
|
||||
.data 0x20000080 Section 8 system_cmsdk_cm0.o(.data)
|
||||
.data 0x20000088 Section 4 errno.o(.data)
|
||||
_errno 0x20000088 Data 4 errno.o(.data)
|
||||
.bss 0x2000008c Section 14 ens1_wavegen.o(.bss)
|
||||
STACK 0x200000a0 Section 512 startup_cmsdk_cm0.o(STACK)
|
||||
|
||||
Global Symbols
|
||||
|
||||
|
|
@ -864,101 +883,116 @@ Image Symbol Table
|
|||
__aeabi_memclr4 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)
|
||||
__aeabi_ddiv 0x10000165 Thumb Code 234 ddiv.o(.text)
|
||||
__aeabi_i2d 0x10000255 Thumb Code 34 dflti.o(.text)
|
||||
__aeabi_ui2d 0x1000027d Thumb Code 24 dfltui.o(.text)
|
||||
__aeabi_d2uiz 0x10000299 Thumb Code 50 dfixui.o(.text)
|
||||
__aeabi_llsr 0x100002d5 Thumb Code 34 llushr.o(.text)
|
||||
_ll_ushift_r 0x100002d5 Thumb Code 0 llushr.o(.text)
|
||||
__I$use$fp 0x100002f7 Thumb Code 0 iusefp.o(.text)
|
||||
_double_round 0x100002f7 Thumb Code 26 depilogue.o(.text)
|
||||
_double_epilogue 0x10000311 Thumb Code 164 depilogue.o(.text)
|
||||
__aeabi_dadd 0x100003b5 Thumb Code 328 dadd.o(.text)
|
||||
__aeabi_dsub 0x100004fd Thumb Code 12 dadd.o(.text)
|
||||
__aeabi_drsub 0x10000509 Thumb Code 12 dadd.o(.text)
|
||||
__aeabi_dmul 0x10000519 Thumb Code 202 dmul.o(.text)
|
||||
__ARM_scalbn 0x100005e9 Thumb Code 44 dscalb.o(.text)
|
||||
scalbn 0x100005e9 Thumb Code 0 dscalb.o(.text)
|
||||
__aeabi_cdrcmple 0x10000615 Thumb Code 38 cdrcmple.o(.text)
|
||||
__scatterload 0x1000063d Thumb Code 28 init.o(.text)
|
||||
__scatterload_rt2 0x1000063d Thumb Code 0 init.o(.text)
|
||||
__aeabi_llsl 0x10000661 Thumb Code 32 llshl.o(.text)
|
||||
_ll_shift_l 0x10000661 Thumb Code 0 llshl.o(.text)
|
||||
__aeabi_lasr 0x10000681 Thumb Code 38 llsshr.o(.text)
|
||||
_ll_sshift_r 0x10000681 Thumb Code 0 llsshr.o(.text)
|
||||
_dsqrt 0x100006a7 Thumb Code 162 dsqrt.o(.text)
|
||||
CMSDK_timer_Init 0x10000749 Thumb Code 26 ens1_timer.o(i.CMSDK_timer_Init)
|
||||
ClockInit 0x10000765 Thumb Code 14 ens1_clock.o(i.ClockInit)
|
||||
ClockInitSet 0x1000077d Thumb Code 348 ens1_clock.o(i.ClockInitSet)
|
||||
EMS_Configure 0x100008e1 Thumb Code 20 ens1_wavegen.o(i.EMS_Configure)
|
||||
EMS_Process 0x100008f9 Thumb Code 92 ens1_wavegen.o(i.EMS_Process)
|
||||
EMS_Process_Ramp 0x10000965 Thumb Code 278 ens1_wavegen.o(i.EMS_Process_Ramp)
|
||||
EMS_Start 0x10000a95 Thumb Code 8 ens1_wavegen.o(i.EMS_Start)
|
||||
EMS_Stop 0x10000a9d Thumb Code 36 ens1_wavegen.o(i.EMS_Stop)
|
||||
GPIO_AltFunction 0x10000add Thumb Code 86 ens1_gpio.o(i.GPIO_AltFunction)
|
||||
GPIO_GetOutputValue 0x10000b39 Thumb Code 18 ens1_gpio.o(i.GPIO_GetOutputValue)
|
||||
GPIO_IO_Init 0x10000b51 Thumb Code 342 ens1_gpio.o(i.GPIO_IO_Init)
|
||||
GPIO_Output 0x10000cad Thumb Code 36 ens1_gpio.o(i.GPIO_Output)
|
||||
GPIO_Overturn 0x10000cd5 Thumb Code 40 ens1_gpio.o(i.GPIO_Overturn)
|
||||
GPIO_ResetOutput 0x10000cfd Thumb Code 16 ens1_gpio.o(i.GPIO_ResetOutput)
|
||||
GPIO_SetOutput 0x10000d11 Thumb Code 16 ens1_gpio.o(i.GPIO_SetOutput)
|
||||
MTP_init 0x10000d25 Thumb Code 4 ens1_mtp.o(i.MTP_init)
|
||||
PCLK_Enable 0x10000da1 Thumb Code 20 ens1_clock.o(i.PCLK_Enable)
|
||||
SystemInit 0x10000db9 Thumb Code 8 system_cmsdk_cm0.o(i.SystemInit)
|
||||
TIMER0_Handler 0x10000dc9 Thumb Code 24 ens1_timer.o(i.TIMER0_Handler)
|
||||
TIMER0_Init 0x10000de9 Thumb Code 56 ens1_timer.o(i.TIMER0_Init)
|
||||
TIMER1_Handler 0x10000e29 Thumb Code 18 ens1_timer.o(i.TIMER1_Handler)
|
||||
Time_Manager_GetFlags 0x10000e45 Thumb Code 4 ens1_timer.o(i.Time_Manager_GetFlags)
|
||||
Time_Manager_Init 0x10000e4d Thumb Code 20 ens1_timer.o(i.Time_Manager_Init)
|
||||
Time_Manager_Process 0x10000e69 Thumb Code 174 ens1_timer.o(i.Time_Manager_Process)
|
||||
UART0_Handler 0x10000f21 Thumb Code 108 ens1_uart.o(i.UART0_Handler)
|
||||
UART1_Handler 0x10000f8d Thumb Code 92 ens1_uart.o(i.UART1_Handler)
|
||||
UARTLine_THREmpty 0x10000fed Thumb Code 10 ens1_uart.o(i.UARTLine_THREmpty)
|
||||
UART_INT_TYPE 0x10000ff7 Thumb Code 10 ens1_uart.o(i.UART_INT_TYPE)
|
||||
UART_ITConfig 0x10001001 Thumb Code 84 ens1_uart.o(i.UART_ITConfig)
|
||||
UART_Init 0x10001059 Thumb Code 248 ens1_uart.o(i.UART_Init)
|
||||
UartPutc 0x10001159 Thumb Code 30 ens1_uart.o(i.UartPutc)
|
||||
WRITE_UART_THRBuff 0x10001177 Thumb Code 4 ens1_uart.o(i.WRITE_UART_THRBuff)
|
||||
__0printf$bare 0x1000117d Thumb Code 12 printfb.o(i.__0printf$bare)
|
||||
__1printf$bare 0x1000117d Thumb Code 0 printfb.o(i.__0printf$bare)
|
||||
__2printf 0x1000117d Thumb Code 0 printfb.o(i.__0printf$bare)
|
||||
__ARM_clz 0x10001191 Thumb Code 46 depilogue.o(i.__ARM_clz)
|
||||
__ARM_fpclassify 0x100011c1 Thumb Code 40 fpclassify.o(i.__ARM_fpclassify)
|
||||
__kernel_poly 0x100011ed Thumb Code 172 poly.o(i.__kernel_poly)
|
||||
__mathlib_dbl_divzero 0x10001299 Thumb Code 16 dunder.o(i.__mathlib_dbl_divzero)
|
||||
__mathlib_dbl_infnan2 0x100012ad Thumb Code 8 dunder.o(i.__mathlib_dbl_infnan2)
|
||||
__mathlib_dbl_invalid 0x100012b5 Thumb Code 16 dunder.o(i.__mathlib_dbl_invalid)
|
||||
__mathlib_dbl_overflow 0x100012c5 Thumb Code 16 dunder.o(i.__mathlib_dbl_overflow)
|
||||
__mathlib_dbl_underflow 0x100012d9 Thumb Code 14 dunder.o(i.__mathlib_dbl_underflow)
|
||||
__scatterload_copy 0x100012ed Thumb Code 14 handlers.o(i.__scatterload_copy)
|
||||
__scatterload_null 0x100012fb Thumb Code 2 handlers.o(i.__scatterload_null)
|
||||
__scatterload_zeroinit 0x100012fd Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
||||
__set_errno 0x1000130d Thumb Code 6 errno.o(i.__set_errno)
|
||||
boost_voltage_select_55V 0x10001339 Thumb Code 12 ens1_boost.o(i.boost_voltage_select_55V)
|
||||
fputc 0x1000134d Thumb Code 16 retarget.o(i.fputc)
|
||||
main 0x10001361 Thumb Code 222 mian.o(i.main)
|
||||
pow 0x10001459 Thumb Code 2548 pow.o(i.pow)
|
||||
sqrt 0x10001e55 Thumb Code 66 sqrt.o(i.sqrt)
|
||||
wavegen_Init 0x10001e9d Thumb Code 26 ens1_wavegen.o(i.wavegen_Init)
|
||||
wavegen_Start 0x10001ec5 Thumb Code 50 ens1_wavegen.o(i.wavegen_Start)
|
||||
wavegen_Stop 0x10001f15 Thumb Code 22 ens1_wavegen.o(i.wavegen_Stop)
|
||||
wavegen_driverA_sine_test 0x10001f2d Thumb Code 98 ens1_wavegen.o(i.wavegen_driverA_sine_test)
|
||||
__mathlib_zero 0x10002070 Data 8 qnan.o(.constdata)
|
||||
Region$$Table$$Base 0x10002078 Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x10002098 Number 0 anon$$obj.o(Region$$Table)
|
||||
UART1_Fifo 0x20000004 Data 3 ens1_uart.o(.data)
|
||||
UART1_Init 0x20000008 Data 24 ens1_uart.o(.data)
|
||||
UART1_ITSet 0x20000020 Data 2 ens1_uart.o(.data)
|
||||
APB_Clock_Freq 0x20000024 Data 4 ens1_clock.o(.data)
|
||||
CLOCKCFG 0x20000028 Data 10 ens1_clock.o(.data)
|
||||
__stdout 0x20000034 Data 4 retarget.o(.data)
|
||||
__stdin 0x20000038 Data 4 retarget.o(.data)
|
||||
__aeabi_fadd 0x10000165 Thumb Code 162 fadd.o(.text)
|
||||
__aeabi_fsub 0x10000207 Thumb Code 8 fadd.o(.text)
|
||||
__aeabi_frsub 0x1000020f Thumb Code 8 fadd.o(.text)
|
||||
__aeabi_ddiv 0x10000219 Thumb Code 234 ddiv.o(.text)
|
||||
__aeabi_ui2f 0x10000309 Thumb Code 14 ffltui.o(.text)
|
||||
__aeabi_i2d 0x10000319 Thumb Code 34 dflti.o(.text)
|
||||
__aeabi_ui2d 0x10000341 Thumb Code 24 dfltui.o(.text)
|
||||
__aeabi_f2uiz 0x1000035d Thumb Code 40 ffixui.o(.text)
|
||||
__aeabi_d2uiz 0x10000385 Thumb Code 50 dfixui.o(.text)
|
||||
__aeabi_cfrcmple 0x100003c1 Thumb Code 20 cfrcmple.o(.text)
|
||||
__aeabi_llsr 0x100003d5 Thumb Code 34 llushr.o(.text)
|
||||
_ll_ushift_r 0x100003d5 Thumb Code 0 llushr.o(.text)
|
||||
__I$use$fp 0x100003f7 Thumb Code 0 iusefp.o(.text)
|
||||
_float_round 0x100003f7 Thumb Code 16 fepilogue.o(.text)
|
||||
_float_epilogue 0x10000407 Thumb Code 114 fepilogue.o(.text)
|
||||
_double_round 0x10000479 Thumb Code 26 depilogue.o(.text)
|
||||
_double_epilogue 0x10000493 Thumb Code 164 depilogue.o(.text)
|
||||
__aeabi_dadd 0x10000539 Thumb Code 328 dadd.o(.text)
|
||||
__aeabi_dsub 0x10000681 Thumb Code 12 dadd.o(.text)
|
||||
__aeabi_drsub 0x1000068d Thumb Code 12 dadd.o(.text)
|
||||
__aeabi_dmul 0x1000069d Thumb Code 202 dmul.o(.text)
|
||||
__ARM_scalbn 0x1000076d Thumb Code 44 dscalb.o(.text)
|
||||
scalbn 0x1000076d Thumb Code 0 dscalb.o(.text)
|
||||
__aeabi_cdrcmple 0x10000799 Thumb Code 38 cdrcmple.o(.text)
|
||||
__scatterload 0x100007c1 Thumb Code 28 init.o(.text)
|
||||
__scatterload_rt2 0x100007c1 Thumb Code 0 init.o(.text)
|
||||
__aeabi_llsl 0x100007e5 Thumb Code 32 llshl.o(.text)
|
||||
_ll_shift_l 0x100007e5 Thumb Code 0 llshl.o(.text)
|
||||
__aeabi_lasr 0x10000805 Thumb Code 38 llsshr.o(.text)
|
||||
_ll_sshift_r 0x10000805 Thumb Code 0 llsshr.o(.text)
|
||||
_dsqrt 0x1000082b Thumb Code 162 dsqrt.o(.text)
|
||||
CMSDK_timer_Init 0x100008cd Thumb Code 26 ens1_timer.o(i.CMSDK_timer_Init)
|
||||
ClockInit 0x100008e9 Thumb Code 14 ens1_clock.o(i.ClockInit)
|
||||
ClockInitSet 0x10000901 Thumb Code 348 ens1_clock.o(i.ClockInitSet)
|
||||
EMS_Configure 0x10000a65 Thumb Code 20 ens1_wavegen.o(i.EMS_Configure)
|
||||
EMS_Process 0x10000a7d Thumb Code 36 ens1_wavegen.o(i.EMS_Process)
|
||||
EMS_Process_Ramp 0x10000aad Thumb Code 274 ens1_wavegen.o(i.EMS_Process_Ramp)
|
||||
EMS_Start 0x10000be1 Thumb Code 8 ens1_wavegen.o(i.EMS_Start)
|
||||
EMS_Stop 0x10000be9 Thumb Code 32 ens1_wavegen.o(i.EMS_Stop)
|
||||
Fuse_result 0x10000c21 Thumb Code 152 ens1_timer.o(i.Fuse_result)
|
||||
GPIO_AltFunction 0x10000cc5 Thumb Code 86 ens1_gpio.o(i.GPIO_AltFunction)
|
||||
GPIO_GetOutputValue 0x10000d21 Thumb Code 18 ens1_gpio.o(i.GPIO_GetOutputValue)
|
||||
GPIO_IO_Init 0x10000d39 Thumb Code 342 ens1_gpio.o(i.GPIO_IO_Init)
|
||||
GPIO_Output 0x10000e95 Thumb Code 36 ens1_gpio.o(i.GPIO_Output)
|
||||
GPIO_Overturn 0x10000ebd Thumb Code 40 ens1_gpio.o(i.GPIO_Overturn)
|
||||
GPIO_ResetOutput 0x10000ee5 Thumb Code 16 ens1_gpio.o(i.GPIO_ResetOutput)
|
||||
GPIO_SetOutput 0x10000ef9 Thumb Code 16 ens1_gpio.o(i.GPIO_SetOutput)
|
||||
MTP_init 0x10000f0d Thumb Code 4 ens1_mtp.o(i.MTP_init)
|
||||
PCLK_Enable 0x10000f89 Thumb Code 20 ens1_clock.o(i.PCLK_Enable)
|
||||
SystemInit 0x10000fa1 Thumb Code 8 system_cmsdk_cm0.o(i.SystemInit)
|
||||
TIMER0_Handler 0x10000fb1 Thumb Code 24 ens1_timer.o(i.TIMER0_Handler)
|
||||
TIMER0_Init 0x10000fd1 Thumb Code 56 ens1_timer.o(i.TIMER0_Init)
|
||||
TIMER1_Handler 0x10001011 Thumb Code 18 ens1_timer.o(i.TIMER1_Handler)
|
||||
Time_Manager_GetFlags 0x1000102d Thumb Code 4 ens1_timer.o(i.Time_Manager_GetFlags)
|
||||
Time_Manager_Init 0x10001035 Thumb Code 20 ens1_timer.o(i.Time_Manager_Init)
|
||||
Time_Manager_Process 0x10001051 Thumb Code 208 ens1_timer.o(i.Time_Manager_Process)
|
||||
UART0_Handler 0x10001129 Thumb Code 108 ens1_uart.o(i.UART0_Handler)
|
||||
UART1_Handler 0x10001195 Thumb Code 92 ens1_uart.o(i.UART1_Handler)
|
||||
UARTLine_THREmpty 0x100011f5 Thumb Code 10 ens1_uart.o(i.UARTLine_THREmpty)
|
||||
UART_INT_TYPE 0x100011ff Thumb Code 10 ens1_uart.o(i.UART_INT_TYPE)
|
||||
UART_ITConfig 0x10001209 Thumb Code 84 ens1_uart.o(i.UART_ITConfig)
|
||||
UART_Init 0x10001261 Thumb Code 248 ens1_uart.o(i.UART_Init)
|
||||
UartPutc 0x10001361 Thumb Code 30 ens1_uart.o(i.UartPutc)
|
||||
WRITE_UART_THRBuff 0x1000137f Thumb Code 4 ens1_uart.o(i.WRITE_UART_THRBuff)
|
||||
__0printf$bare 0x10001385 Thumb Code 12 printfb.o(i.__0printf$bare)
|
||||
__1printf$bare 0x10001385 Thumb Code 0 printfb.o(i.__0printf$bare)
|
||||
__2printf 0x10001385 Thumb Code 0 printfb.o(i.__0printf$bare)
|
||||
__ARM_clz 0x10001399 Thumb Code 46 depilogue.o(i.__ARM_clz)
|
||||
__ARM_fpclassify 0x100013c9 Thumb Code 40 fpclassify.o(i.__ARM_fpclassify)
|
||||
__kernel_poly 0x100013f5 Thumb Code 172 poly.o(i.__kernel_poly)
|
||||
__mathlib_dbl_divzero 0x100014a1 Thumb Code 16 dunder.o(i.__mathlib_dbl_divzero)
|
||||
__mathlib_dbl_infnan2 0x100014b5 Thumb Code 8 dunder.o(i.__mathlib_dbl_infnan2)
|
||||
__mathlib_dbl_invalid 0x100014bd Thumb Code 16 dunder.o(i.__mathlib_dbl_invalid)
|
||||
__mathlib_dbl_overflow 0x100014cd Thumb Code 16 dunder.o(i.__mathlib_dbl_overflow)
|
||||
__mathlib_dbl_underflow 0x100014e1 Thumb Code 14 dunder.o(i.__mathlib_dbl_underflow)
|
||||
__scatterload_copy 0x100014f5 Thumb Code 14 handlers.o(i.__scatterload_copy)
|
||||
__scatterload_null 0x10001503 Thumb Code 2 handlers.o(i.__scatterload_null)
|
||||
__scatterload_zeroinit 0x10001505 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
||||
__set_errno 0x10001515 Thumb Code 6 errno.o(i.__set_errno)
|
||||
boost_voltage_select_55V 0x10001541 Thumb Code 12 ens1_boost.o(i.boost_voltage_select_55V)
|
||||
fputc 0x10001555 Thumb Code 16 retarget.o(i.fputc)
|
||||
main 0x10001569 Thumb Code 82 mian.o(i.main)
|
||||
pow 0x100015cd Thumb Code 2548 pow.o(i.pow)
|
||||
sqrt 0x10001fc9 Thumb Code 66 sqrt.o(i.sqrt)
|
||||
wavegen_Init 0x10002011 Thumb Code 26 ens1_wavegen.o(i.wavegen_Init)
|
||||
wavegen_Start 0x10002039 Thumb Code 50 ens1_wavegen.o(i.wavegen_Start)
|
||||
wavegen_Stop 0x10002085 Thumb Code 22 ens1_wavegen.o(i.wavegen_Stop)
|
||||
wavegen_driverA_sine_test 0x1000209d Thumb Code 98 ens1_wavegen.o(i.wavegen_driverA_sine_test)
|
||||
__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)
|
||||
time_flag 0x20000050 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)
|
||||
SystemCoreClock 0x20000070 Data 4 system_cmsdk_cm0.o(.data)
|
||||
__initial_sp 0x20000288 Data 0 startup_cmsdk_cm0.o(STACK)
|
||||
ems_config 0x20000058 Data 14 ens1_wavegen.o(.data)
|
||||
waves_per_step 0x2000006c Data 4 ens1_wavegen.o(.data)
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
0x10000000 0x10000000 0x000000c0 Data RO 884 RESET startup_cmsdk_cm0.o
|
||||
0x100000c0 0x100000c0 0x00000000 Code RO 899 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
|
||||
0x100000c0 0x100000c0 0x00000004 Code RO 1233 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
|
||||
0x100000c4 0x100000c4 0x00000004 Code RO 1236 .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 1240 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
|
||||
0x100000c8 0x100000c8 0x00000008 Code RO 1241 .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 1245 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
|
||||
0x100000d0 0x100000d0 0x00000004 Code RO 1234 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
|
||||
0x100000d4 0x100000d4 0x0000001c Code RO 885 .text startup_cmsdk_cm0.o
|
||||
0x100000f0 0x100000f0 0x0000002c Code RO 902 .text mc_p.l(uidiv.o)
|
||||
0x1000011c 0x1000011c 0x00000024 Code RO 904 .text mc_p.l(memcpya.o)
|
||||
0x10000140 0x10000140 0x00000024 Code RO 906 .text mc_p.l(memseta.o)
|
||||
0x10000164 0x10000164 0x000000f0 Code RO 1198 .text mf_p.l(ddiv.o)
|
||||
0x10000254 0x10000254 0x00000028 Code RO 1200 .text mf_p.l(dflti.o)
|
||||
0x1000027c 0x1000027c 0x0000001c Code RO 1202 .text mf_p.l(dfltui.o)
|
||||
0x10000298 0x10000298 0x0000003c Code RO 1204 .text mf_p.l(dfixui.o)
|
||||
0x100002d4 0x100002d4 0x00000022 Code RO 1249 .text mc_p.l(llushr.o)
|
||||
0x100002f6 0x100002f6 0x00000000 Code RO 1260 .text mc_p.l(iusefp.o)
|
||||
0x100002f6 0x100002f6 0x000000be Code RO 1261 .text mf_p.l(depilogue.o)
|
||||
0x100003b4 0x100003b4 0x00000164 Code RO 1265 .text mf_p.l(dadd.o)
|
||||
0x10000518 0x10000518 0x000000d0 Code RO 1267 .text mf_p.l(dmul.o)
|
||||
0x100005e8 0x100005e8 0x0000002c Code RO 1269 .text mf_p.l(dscalb.o)
|
||||
0x10000614 0x10000614 0x00000028 Code RO 1273 .text mf_p.l(cdrcmple.o)
|
||||
0x1000063c 0x1000063c 0x00000024 Code RO 1275 .text mc_p.l(init.o)
|
||||
0x10000660 0x10000660 0x00000020 Code RO 1277 .text mc_p.l(llshl.o)
|
||||
0x10000680 0x10000680 0x00000026 Code RO 1279 .text mc_p.l(llsshr.o)
|
||||
0x100006a6 0x100006a6 0x000000a2 Code RO 1281 .text mf_p.l(dsqrt.o)
|
||||
0x10000748 0x10000748 0x0000001a Code RO 520 i.CMSDK_timer_Init ens1_timer.o
|
||||
0x10000762 0x10000762 0x00000002 PAD
|
||||
0x10000764 0x10000764 0x00000018 Code RO 402 i.ClockInit ens1_clock.o
|
||||
0x1000077c 0x1000077c 0x00000164 Code RO 403 i.ClockInitSet ens1_clock.o
|
||||
0x100008e0 0x100008e0 0x00000018 Code RO 775 i.EMS_Configure ens1_wavegen.o
|
||||
0x100008f8 0x100008f8 0x0000006c Code RO 776 i.EMS_Process ens1_wavegen.o
|
||||
0x10000964 0x10000964 0x00000130 Code RO 777 i.EMS_Process_Ramp ens1_wavegen.o
|
||||
0x10000a94 0x10000a94 0x00000008 Code RO 778 i.EMS_Start ens1_wavegen.o
|
||||
0x10000a9c 0x10000a9c 0x00000040 Code RO 779 i.EMS_Stop ens1_wavegen.o
|
||||
0x10000adc 0x10000adc 0x0000005c Code RO 271 i.GPIO_AltFunction ens1_gpio.o
|
||||
0x10000b38 0x10000b38 0x00000018 Code RO 274 i.GPIO_GetOutputValue ens1_gpio.o
|
||||
0x10000b50 0x10000b50 0x0000015c Code RO 275 i.GPIO_IO_Init ens1_gpio.o
|
||||
0x10000cac 0x10000cac 0x00000028 Code RO 277 i.GPIO_Output ens1_gpio.o
|
||||
0x10000cd4 0x10000cd4 0x00000028 Code RO 278 i.GPIO_Overturn ens1_gpio.o
|
||||
0x10000cfc 0x10000cfc 0x00000014 Code RO 279 i.GPIO_ResetOutput ens1_gpio.o
|
||||
0x10000d10 0x10000d10 0x00000014 Code RO 280 i.GPIO_SetOutput ens1_gpio.o
|
||||
0x10000d24 0x10000d24 0x00000004 Code RO 345 i.MTP_init ens1_mtp.o
|
||||
0x10000d28 0x10000d28 0x00000014 Code RO 85 i.NVIC_ClearPendingIRQ ens1_uart.o
|
||||
0x10000d3c 0x10000d3c 0x00000014 Code RO 528 i.NVIC_ClearPendingIRQ ens1_timer.o
|
||||
0x10000d50 0x10000d50 0x00000014 Code RO 86 i.NVIC_DisableIRQ ens1_uart.o
|
||||
0x10000d64 0x10000d64 0x00000014 Code RO 529 i.NVIC_DisableIRQ ens1_timer.o
|
||||
0x10000d78 0x10000d78 0x00000014 Code RO 87 i.NVIC_EnableIRQ ens1_uart.o
|
||||
0x10000d8c 0x10000d8c 0x00000014 Code RO 530 i.NVIC_EnableIRQ ens1_timer.o
|
||||
0x10000da0 0x10000da0 0x00000018 Code RO 406 i.PCLK_Enable ens1_clock.o
|
||||
0x10000db8 0x10000db8 0x00000010 Code RO 853 i.SystemInit system_cmsdk_cm0.o
|
||||
0x10000dc8 0x10000dc8 0x00000020 Code RO 531 i.TIMER0_Handler ens1_timer.o
|
||||
0x10000de8 0x10000de8 0x00000040 Code RO 532 i.TIMER0_Init ens1_timer.o
|
||||
0x10000e28 0x10000e28 0x0000001c Code RO 533 i.TIMER1_Handler ens1_timer.o
|
||||
0x10000e44 0x10000e44 0x00000008 Code RO 536 i.Time_Manager_GetFlags ens1_timer.o
|
||||
0x10000e4c 0x10000e4c 0x0000001c Code RO 537 i.Time_Manager_Init ens1_timer.o
|
||||
0x10000e68 0x10000e68 0x000000b8 Code RO 538 i.Time_Manager_Process ens1_timer.o
|
||||
0x10000f20 0x10000f20 0x0000006c Code RO 89 i.UART0_Handler ens1_uart.o
|
||||
0x10000f8c 0x10000f8c 0x00000060 Code RO 90 i.UART1_Handler ens1_uart.o
|
||||
0x10000fec 0x10000fec 0x0000000a Code RO 92 i.UARTLine_THREmpty ens1_uart.o
|
||||
0x10000ff6 0x10000ff6 0x0000000a Code RO 98 i.UART_INT_TYPE ens1_uart.o
|
||||
0x10001000 0x10001000 0x00000058 Code RO 99 i.UART_ITConfig ens1_uart.o
|
||||
0x10001058 0x10001058 0x00000100 Code RO 100 i.UART_Init ens1_uart.o
|
||||
0x10001158 0x10001158 0x0000001e Code RO 109 i.UartPutc ens1_uart.o
|
||||
0x10001176 0x10001176 0x00000004 Code RO 111 i.WRITE_UART_THRBuff ens1_uart.o
|
||||
0x1000117a 0x1000117a 0x00000002 PAD
|
||||
0x1000117c 0x1000117c 0x00000014 Code RO 911 i.__0printf$bare mc_p.l(printfb.o)
|
||||
0x10001190 0x10001190 0x0000002e Code RO 1263 i.__ARM_clz mf_p.l(depilogue.o)
|
||||
0x100011be 0x100011be 0x00000002 PAD
|
||||
0x100011c0 0x100011c0 0x0000002c Code RO 1220 i.__ARM_fpclassify m_ps.l(fpclassify.o)
|
||||
0x100011ec 0x100011ec 0x000000ac Code RO 1222 i.__kernel_poly m_ps.l(poly.o)
|
||||
0x10001298 0x10001298 0x00000014 Code RO 1206 i.__mathlib_dbl_divzero m_ps.l(dunder.o)
|
||||
0x100012ac 0x100012ac 0x00000008 Code RO 1208 i.__mathlib_dbl_infnan2 m_ps.l(dunder.o)
|
||||
0x100012b4 0x100012b4 0x00000010 Code RO 1209 i.__mathlib_dbl_invalid m_ps.l(dunder.o)
|
||||
0x100012c4 0x100012c4 0x00000014 Code RO 1210 i.__mathlib_dbl_overflow m_ps.l(dunder.o)
|
||||
0x100012d8 0x100012d8 0x00000014 Code RO 1212 i.__mathlib_dbl_underflow m_ps.l(dunder.o)
|
||||
0x100012ec 0x100012ec 0x0000000e Code RO 1287 i.__scatterload_copy mc_p.l(handlers.o)
|
||||
0x100012fa 0x100012fa 0x00000002 Code RO 1288 i.__scatterload_null mc_p.l(handlers.o)
|
||||
0x100012fc 0x100012fc 0x0000000e Code RO 1289 i.__scatterload_zeroinit mc_p.l(handlers.o)
|
||||
0x1000130a 0x1000130a 0x00000002 PAD
|
||||
0x1000130c 0x1000130c 0x0000000c Code RO 1255 i.__set_errno mc_p.l(errno.o)
|
||||
0x10001318 0x10001318 0x0000001e Code RO 918 i._printf_core mc_p.l(printfb.o)
|
||||
0x10001336 0x10001336 0x00000002 PAD
|
||||
0x10001338 0x10001338 0x00000014 Code RO 732 i.boost_voltage_select_55V ens1_boost.o
|
||||
0x1000134c 0x1000134c 0x00000014 Code RO 455 i.fputc retarget.o
|
||||
0x10001360 0x10001360 0x000000f8 Code RO 3 i.main mian.o
|
||||
0x10001458 0x10001458 0x000009fc Code RO 890 i.pow m_ps.l(pow.o)
|
||||
0x10001e54 0x10001e54 0x00000048 Code RO 1226 i.sqrt m_ps.l(sqrt.o)
|
||||
0x10001e9c 0x10001e9c 0x00000028 Code RO 781 i.wavegen_Init ens1_wavegen.o
|
||||
0x10001ec4 0x10001ec4 0x00000050 Code RO 782 i.wavegen_Start ens1_wavegen.o
|
||||
0x10001f14 0x10001f14 0x00000016 Code RO 783 i.wavegen_Stop ens1_wavegen.o
|
||||
0x10001f2a 0x10001f2a 0x00000002 PAD
|
||||
0x10001f2c 0x10001f2c 0x000000a8 Code RO 784 i.wavegen_driverA_sine_test ens1_wavegen.o
|
||||
0x10001fd4 0x10001fd4 0x0000000e Data RO 4 .constdata mian.o
|
||||
0x10001fe2 0x10001fe2 0x00000006 PAD
|
||||
0x10001fe8 0x10001fe8 0x00000088 Data RO 891 .constdata m_ps.l(pow.o)
|
||||
0x10002070 0x10002070 0x00000008 Data RO 1224 .constdata m_ps.l(qnan.o)
|
||||
0x10002078 0x10002078 0x00000020 Data RO 1285 Region$$Table anon$$obj.o
|
||||
0x10000000 0x10000000 0x000000c0 Data RO 898 RESET startup_cmsdk_cm0.o
|
||||
0x100000c0 0x100000c0 0x00000000 Code RO 913 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
|
||||
0x100000c0 0x100000c0 0x00000004 Code RO 1255 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
|
||||
0x100000c4 0x100000c4 0x00000004 Code RO 1258 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
|
||||
0x100000c8 0x100000c8 0x00000000 Code RO 1260 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
|
||||
0x100000c8 0x100000c8 0x00000000 Code RO 1262 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
|
||||
0x100000c8 0x100000c8 0x00000008 Code RO 1263 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
|
||||
0x100000d0 0x100000d0 0x00000000 Code RO 1265 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
|
||||
0x100000d0 0x100000d0 0x00000000 Code RO 1267 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
|
||||
0x100000d0 0x100000d0 0x00000004 Code RO 1256 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
|
||||
0x100000d4 0x100000d4 0x0000001c Code RO 899 .text startup_cmsdk_cm0.o
|
||||
0x100000f0 0x100000f0 0x0000002c Code RO 916 .text mc_p.l(uidiv.o)
|
||||
0x1000011c 0x1000011c 0x00000024 Code RO 918 .text mc_p.l(memcpya.o)
|
||||
0x10000140 0x10000140 0x00000024 Code RO 920 .text mc_p.l(memseta.o)
|
||||
0x10000164 0x10000164 0x000000b2 Code RO 1212 .text mf_p.l(fadd.o)
|
||||
0x10000216 0x10000216 0x00000002 PAD
|
||||
0x10000218 0x10000218 0x000000f0 Code RO 1214 .text mf_p.l(ddiv.o)
|
||||
0x10000308 0x10000308 0x0000000e Code RO 1216 .text mf_p.l(ffltui.o)
|
||||
0x10000316 0x10000316 0x00000002 PAD
|
||||
0x10000318 0x10000318 0x00000028 Code RO 1218 .text mf_p.l(dflti.o)
|
||||
0x10000340 0x10000340 0x0000001c Code RO 1220 .text mf_p.l(dfltui.o)
|
||||
0x1000035c 0x1000035c 0x00000028 Code RO 1222 .text mf_p.l(ffixui.o)
|
||||
0x10000384 0x10000384 0x0000003c Code RO 1224 .text mf_p.l(dfixui.o)
|
||||
0x100003c0 0x100003c0 0x00000014 Code RO 1226 .text mf_p.l(cfrcmple.o)
|
||||
0x100003d4 0x100003d4 0x00000022 Code RO 1271 .text mc_p.l(llushr.o)
|
||||
0x100003f6 0x100003f6 0x00000000 Code RO 1282 .text mc_p.l(iusefp.o)
|
||||
0x100003f6 0x100003f6 0x00000082 Code RO 1283 .text mf_p.l(fepilogue.o)
|
||||
0x10000478 0x10000478 0x000000be Code RO 1285 .text mf_p.l(depilogue.o)
|
||||
0x10000536 0x10000536 0x00000002 PAD
|
||||
0x10000538 0x10000538 0x00000164 Code RO 1289 .text mf_p.l(dadd.o)
|
||||
0x1000069c 0x1000069c 0x000000d0 Code RO 1291 .text mf_p.l(dmul.o)
|
||||
0x1000076c 0x1000076c 0x0000002c Code RO 1293 .text mf_p.l(dscalb.o)
|
||||
0x10000798 0x10000798 0x00000028 Code RO 1297 .text mf_p.l(cdrcmple.o)
|
||||
0x100007c0 0x100007c0 0x00000024 Code RO 1299 .text mc_p.l(init.o)
|
||||
0x100007e4 0x100007e4 0x00000020 Code RO 1301 .text mc_p.l(llshl.o)
|
||||
0x10000804 0x10000804 0x00000026 Code RO 1303 .text mc_p.l(llsshr.o)
|
||||
0x1000082a 0x1000082a 0x000000a2 Code RO 1305 .text mf_p.l(dsqrt.o)
|
||||
0x100008cc 0x100008cc 0x0000001a Code RO 519 i.CMSDK_timer_Init ens1_timer.o
|
||||
0x100008e6 0x100008e6 0x00000002 PAD
|
||||
0x100008e8 0x100008e8 0x00000018 Code RO 401 i.ClockInit ens1_clock.o
|
||||
0x10000900 0x10000900 0x00000164 Code RO 402 i.ClockInitSet ens1_clock.o
|
||||
0x10000a64 0x10000a64 0x00000018 Code RO 784 i.EMS_Configure ens1_wavegen.o
|
||||
0x10000a7c 0x10000a7c 0x00000030 Code RO 785 i.EMS_Process ens1_wavegen.o
|
||||
0x10000aac 0x10000aac 0x00000134 Code RO 786 i.EMS_Process_Ramp ens1_wavegen.o
|
||||
0x10000be0 0x10000be0 0x00000008 Code RO 787 i.EMS_Start ens1_wavegen.o
|
||||
0x10000be8 0x10000be8 0x00000038 Code RO 788 i.EMS_Stop ens1_wavegen.o
|
||||
0x10000c20 0x10000c20 0x000000a4 Code RO 527 i.Fuse_result ens1_timer.o
|
||||
0x10000cc4 0x10000cc4 0x0000005c Code RO 270 i.GPIO_AltFunction ens1_gpio.o
|
||||
0x10000d20 0x10000d20 0x00000018 Code RO 273 i.GPIO_GetOutputValue ens1_gpio.o
|
||||
0x10000d38 0x10000d38 0x0000015c Code RO 274 i.GPIO_IO_Init ens1_gpio.o
|
||||
0x10000e94 0x10000e94 0x00000028 Code RO 276 i.GPIO_Output ens1_gpio.o
|
||||
0x10000ebc 0x10000ebc 0x00000028 Code RO 277 i.GPIO_Overturn ens1_gpio.o
|
||||
0x10000ee4 0x10000ee4 0x00000014 Code RO 278 i.GPIO_ResetOutput ens1_gpio.o
|
||||
0x10000ef8 0x10000ef8 0x00000014 Code RO 279 i.GPIO_SetOutput ens1_gpio.o
|
||||
0x10000f0c 0x10000f0c 0x00000004 Code RO 344 i.MTP_init ens1_mtp.o
|
||||
0x10000f10 0x10000f10 0x00000014 Code RO 84 i.NVIC_ClearPendingIRQ ens1_uart.o
|
||||
0x10000f24 0x10000f24 0x00000014 Code RO 528 i.NVIC_ClearPendingIRQ ens1_timer.o
|
||||
0x10000f38 0x10000f38 0x00000014 Code RO 85 i.NVIC_DisableIRQ ens1_uart.o
|
||||
0x10000f4c 0x10000f4c 0x00000014 Code RO 529 i.NVIC_DisableIRQ ens1_timer.o
|
||||
0x10000f60 0x10000f60 0x00000014 Code RO 86 i.NVIC_EnableIRQ ens1_uart.o
|
||||
0x10000f74 0x10000f74 0x00000014 Code RO 530 i.NVIC_EnableIRQ ens1_timer.o
|
||||
0x10000f88 0x10000f88 0x00000018 Code RO 405 i.PCLK_Enable ens1_clock.o
|
||||
0x10000fa0 0x10000fa0 0x00000010 Code RO 867 i.SystemInit system_cmsdk_cm0.o
|
||||
0x10000fb0 0x10000fb0 0x00000020 Code RO 531 i.TIMER0_Handler ens1_timer.o
|
||||
0x10000fd0 0x10000fd0 0x00000040 Code RO 532 i.TIMER0_Init ens1_timer.o
|
||||
0x10001010 0x10001010 0x0000001c Code RO 533 i.TIMER1_Handler ens1_timer.o
|
||||
0x1000102c 0x1000102c 0x00000008 Code RO 536 i.Time_Manager_GetFlags ens1_timer.o
|
||||
0x10001034 0x10001034 0x0000001c Code RO 537 i.Time_Manager_Init ens1_timer.o
|
||||
0x10001050 0x10001050 0x000000d8 Code RO 538 i.Time_Manager_Process ens1_timer.o
|
||||
0x10001128 0x10001128 0x0000006c Code RO 88 i.UART0_Handler ens1_uart.o
|
||||
0x10001194 0x10001194 0x00000060 Code RO 89 i.UART1_Handler ens1_uart.o
|
||||
0x100011f4 0x100011f4 0x0000000a Code RO 91 i.UARTLine_THREmpty ens1_uart.o
|
||||
0x100011fe 0x100011fe 0x0000000a Code RO 97 i.UART_INT_TYPE ens1_uart.o
|
||||
0x10001208 0x10001208 0x00000058 Code RO 98 i.UART_ITConfig ens1_uart.o
|
||||
0x10001260 0x10001260 0x00000100 Code RO 99 i.UART_Init ens1_uart.o
|
||||
0x10001360 0x10001360 0x0000001e Code RO 108 i.UartPutc ens1_uart.o
|
||||
0x1000137e 0x1000137e 0x00000004 Code RO 110 i.WRITE_UART_THRBuff ens1_uart.o
|
||||
0x10001382 0x10001382 0x00000002 PAD
|
||||
0x10001384 0x10001384 0x00000014 Code RO 925 i.__0printf$bare mc_p.l(printfb.o)
|
||||
0x10001398 0x10001398 0x0000002e Code RO 1287 i.__ARM_clz mf_p.l(depilogue.o)
|
||||
0x100013c6 0x100013c6 0x00000002 PAD
|
||||
0x100013c8 0x100013c8 0x0000002c Code RO 1242 i.__ARM_fpclassify m_ps.l(fpclassify.o)
|
||||
0x100013f4 0x100013f4 0x000000ac Code RO 1244 i.__kernel_poly m_ps.l(poly.o)
|
||||
0x100014a0 0x100014a0 0x00000014 Code RO 1228 i.__mathlib_dbl_divzero m_ps.l(dunder.o)
|
||||
0x100014b4 0x100014b4 0x00000008 Code RO 1230 i.__mathlib_dbl_infnan2 m_ps.l(dunder.o)
|
||||
0x100014bc 0x100014bc 0x00000010 Code RO 1231 i.__mathlib_dbl_invalid m_ps.l(dunder.o)
|
||||
0x100014cc 0x100014cc 0x00000014 Code RO 1232 i.__mathlib_dbl_overflow m_ps.l(dunder.o)
|
||||
0x100014e0 0x100014e0 0x00000014 Code RO 1234 i.__mathlib_dbl_underflow m_ps.l(dunder.o)
|
||||
0x100014f4 0x100014f4 0x0000000e Code RO 1311 i.__scatterload_copy mc_p.l(handlers.o)
|
||||
0x10001502 0x10001502 0x00000002 Code RO 1312 i.__scatterload_null mc_p.l(handlers.o)
|
||||
0x10001504 0x10001504 0x0000000e Code RO 1313 i.__scatterload_zeroinit mc_p.l(handlers.o)
|
||||
0x10001512 0x10001512 0x00000002 PAD
|
||||
0x10001514 0x10001514 0x0000000c Code RO 1277 i.__set_errno mc_p.l(errno.o)
|
||||
0x10001520 0x10001520 0x0000001e Code RO 932 i._printf_core mc_p.l(printfb.o)
|
||||
0x1000153e 0x1000153e 0x00000002 PAD
|
||||
0x10001540 0x10001540 0x00000014 Code RO 741 i.boost_voltage_select_55V ens1_boost.o
|
||||
0x10001554 0x10001554 0x00000014 Code RO 454 i.fputc retarget.o
|
||||
0x10001568 0x10001568 0x00000064 Code RO 3 i.main mian.o
|
||||
0x100015cc 0x100015cc 0x000009fc Code RO 904 i.pow m_ps.l(pow.o)
|
||||
0x10001fc8 0x10001fc8 0x00000048 Code RO 1248 i.sqrt m_ps.l(sqrt.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
|
||||
|
||||
0x20000000 0x10002098 0x00000002 Data RW 5 .data mian.o
|
||||
0x20000002 0x1000209a 0x00000002 PAD
|
||||
0x20000004 0x1000209c 0x0000001e Data RW 112 .data ens1_uart.o
|
||||
0x20000022 0x100020ba 0x00000002 PAD
|
||||
0x20000024 0x100020bc 0x0000000e Data RW 407 .data ens1_clock.o
|
||||
0x20000032 0x100020ca 0x00000002 PAD
|
||||
0x20000034 0x100020cc 0x00000008 Data RW 456 .data retarget.o
|
||||
0x2000003c 0x100020d4 0x0000001c Data RW 540 .data ens1_timer.o
|
||||
0x20000058 0x100020f0 0x00000014 Data RW 786 .data ens1_wavegen.o
|
||||
0x2000006c 0x10002104 0x00000008 Data RW 854 .data system_cmsdk_cm0.o
|
||||
0x20000074 0x1000210c 0x00000004 Data RW 1256 .data mc_p.l(errno.o)
|
||||
0x20000078 - 0x0000000e Zero RW 785 .bss ens1_wavegen.o
|
||||
0x20000086 0x10002110 0x00000002 PAD
|
||||
0x20000088 - 0x00000200 Zero RW 882 STACK startup_cmsdk_cm0.o
|
||||
0x20000000 0x100021f8 0x0000001e Data RW 111 .data ens1_uart.o
|
||||
0x2000001e 0x10002216 0x00000002 PAD
|
||||
0x20000020 0x10002218 0x0000000e Data RW 406 .data ens1_clock.o
|
||||
0x2000002e 0x10002226 0x00000002 PAD
|
||||
0x20000030 0x10002228 0x00000008 Data RW 455 .data retarget.o
|
||||
0x20000038 0x10002230 0x00000020 Data RW 540 .data ens1_timer.o
|
||||
0x20000058 0x10002250 0x00000028 Data RW 795 .data ens1_wavegen.o
|
||||
0x20000080 0x10002278 0x00000008 Data RW 868 .data system_cmsdk_cm0.o
|
||||
0x20000088 0x10002280 0x00000004 Data RW 1278 .data mc_p.l(errno.o)
|
||||
0x2000008c - 0x0000000e Zero RW 794 .bss ens1_wavegen.o
|
||||
0x2000009a 0x10002284 0x00000006 PAD
|
||||
0x200000a0 - 0x00000200 Zero RW 896 STACK startup_cmsdk_cm0.o
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
|
@ -1108,18 +1148,18 @@ Image component sizes
|
|||
404 22 0 14 0 3371 ens1_clock.o
|
||||
584 30 0 0 0 3766 ens1_gpio.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
|
||||
818 188 0 20 14 5450 ens1_wavegen.o
|
||||
248 26 14 2 0 44171 mian.o
|
||||
750 184 0 40 14 6004 ens1_wavegen.o
|
||||
100 18 0 0 0 42063 mian.o
|
||||
20 4 0 8 0 2302 retarget.o
|
||||
28 8 192 0 512 576 startup_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)
|
||||
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
|
||||
44 0 0 0 0 72 uidiv.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
|
||||
240 6 0 0 0 84 ddiv.o
|
||||
236 0 0 0 0 216 depilogue.o
|
||||
|
|
@ -1160,10 +1201,14 @@ Image component sizes
|
|||
208 6 0 0 0 88 dmul.o
|
||||
44 0 0 0 0 72 dscalb.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
|
||||
6 0 0 0 0 0 (incl. Padding)
|
||||
5104 288 144 4 0 2900 Library Totals
|
||||
12 0 0 0 0 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
|
@ -1171,10 +1216,10 @@ Image component sizes
|
|||
|
||||
2928 220 144 0 0 792 m_ps.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
|
||||
|
||||
7956 682 388 120 528 80951 Grand Totals
|
||||
7956 682 388 120 528 80951 ELF Image Totals
|
||||
7956 682 388 120 0 0 ROM Totals
|
||||
8328 684 368 140 532 81298 Grand Totals
|
||||
8328 684 368 140 532 81298 ELF Image Totals
|
||||
8328 684 368 140 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
Total RO Size (Code + RO Data) 8344 ( 8.15kB)
|
||||
Total RW Size (RW Data + ZI Data) 648 ( 0.63kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 8464 ( 8.27kB)
|
||||
Total RO Size (Code + RO Data) 8696 ( 8.49kB)
|
||||
Total RW Size (RW Data + ZI Data) 672 ( 0.66kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 8836 ( 8.63kB)
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -26,20 +26,10 @@ Project File Date: 08/15/2025
|
|||
|
||||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARM_Compiler_5.06u7\Bin'
|
||||
Rebuild target 'ENS001_BASIC_PRJ'
|
||||
assembling startup_CMSDK_CM0.s...
|
||||
Build target 'ENS001_BASIC_PRJ'
|
||||
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...
|
||||
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...
|
||||
".\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
|
|
@ -1,7 +1,7 @@
|
|||
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
|
||||
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)
|
||||
I (USER\my_header.h)(0x68B11CC5)
|
||||
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)(0x68C138EC)
|
||||
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\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_cmFunc.h)(0x63648DE6)
|
||||
I (.\CORE\INCLUDE\system_CMSDK_CM0.h)(0x63648DE6)
|
||||
I (.\FWLIB\include\ENS1_TIMER.h)(0x68A5333E)
|
||||
I (.\USER\my_header.h)(0x68B11CC5)
|
||||
I (.\FWLIB\include\ENS1_TIMER.h)(0x68C13790)
|
||||
I (.\USER\my_header.h)(0x68C138EC)
|
||||
I (.\FWLIB\include\ENS1_MTP.h)(0x65605CD6)
|
||||
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdlib.h)(0x599ECD2C)
|
||||
I (.\FWLIB\include\ENS1_CLOCK.h)(0x68358097)
|
||||
I (.\FWLIB\include\ENS1_UART.h)(0x68B10579)
|
||||
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)
|
||||
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\string.h)(0x599ECD2C)
|
||||
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_cmFunc.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_CLOCK.h)(0x68358097)
|
||||
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)
|
||||
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\string.h)(0x599ECD2C)
|
||||
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_cmFunc.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)
|
||||
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)
|
||||
|
|
@ -57,13 +57,13 @@ I (.\CORE\INCLUDE\core_cmFunc.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\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\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)
|
||||
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\string.h)(0x599ECD2C)
|
||||
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_cmFunc.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)
|
||||
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)
|
||||
|
|
@ -85,15 +85,15 @@ I (.\CORE\INCLUDE\core_cm0.h)(0x63648DE6)
|
|||
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
|
||||
I (.\CORE\INCLUDE\core_cmFunc.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)
|
||||
I (.\FWLIB\include\ENS1_TIMER.h)(0x68A5333E)
|
||||
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)(0x68C13790)
|
||||
I (.\CORE\INCLUDE\CMSDK_CM0.h)(0x64D5ADE8)
|
||||
I (.\CORE\INCLUDE\core_cm0.h)(0x63648DE6)
|
||||
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E)
|
||||
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
|
||||
I (.\CORE\INCLUDE\core_cmFunc.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\string.h)(0x599ECD2C)
|
||||
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_cmFunc.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 (.\FWLIB\include\ENS1_WAVEGEN.h)(0x68A53F9C)
|
||||
I (.\FWLIB\include\ENS1_WAVEGEN.h)(0x68C14AAF)
|
||||
I (.\CORE\INCLUDE\CMSDK_CM0.h)(0x64D5ADE8)
|
||||
I (.\CORE\INCLUDE\core_cm0.h)(0x63648DE6)
|
||||
I (D:\Keil_v5\ARM\ARM_Compiler_5.06u7\include\stdint.h)(0x599ECD2E)
|
||||
I (.\CORE\INCLUDE\core_cmInstr.h)(0x63648DE6)
|
||||
I (.\CORE\INCLUDE\core_cmFunc.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\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_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)
|
||||
|
|
|
|||
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.
BIN
Objects/mian.crf
BIN
Objects/mian.crf
Binary file not shown.
BIN
Objects/mian.o
BIN
Objects/mian.o
Binary file not shown.
76
USER/mian.c
76
USER/mian.c
|
|
@ -22,6 +22,7 @@ Modification: 初版
|
|||
#include "ENS1_GPIO.h"
|
||||
#include "ENS1_WAVEGEN.h"
|
||||
|
||||
|
||||
int main(){
|
||||
// 初始化系统
|
||||
MTP_init();
|
||||
|
|
@ -34,93 +35,26 @@ int main(){
|
|||
// 初始化UART
|
||||
UART_Init(CMSDK_UART1, &UART1_Init);
|
||||
UART_ITConfig(CMSDK_UART1, &UART1_ITSet);
|
||||
|
||||
// 初始化时间管理器
|
||||
Time_Manager_Init();
|
||||
// 初始化定时器(在wavegen_Init之前)
|
||||
TIMER0_Init(1);
|
||||
|
||||
// 初始化时间管理器
|
||||
Time_Manager_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_Start();
|
||||
|
||||
|
||||
static uint8_t ems_control_count = 0; // 电刺激控制计数器
|
||||
static uint8_t ems_state = 0; // 电刺激状态:0=关闭,1=开启
|
||||
|
||||
while(1)
|
||||
{
|
||||
// 获取时间标志位
|
||||
Time_Flag_TypeDef* time_flags = Time_Manager_GetFlags();
|
||||
//if ( time_count <= ems_config.ramp_up_time*1000 ) waves_per_step = (g_ems_config.intensity ) / (ems_config.ramp_up_time*1000);
|
||||
//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() 中
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue