温湿度,风速风向更新时间设置为10min可控,可配置参数存储位置更换为内部flash末尾rank2 0x080F F800 - 0x080F FFFF
This commit is contained in:
parent
68293fe710
commit
82330e7bc6
|
@ -4,12 +4,12 @@
|
||||||
|
|
||||||
|
|
||||||
/* 内部flash存储空间 */
|
/* 内部flash存储空间 */
|
||||||
/* page 31,one page 2k, 0x800F800-0x0800FFFF*/
|
/* page 511,one page 2k, 0x800F800-0x0800FFFF*/
|
||||||
#define STM32_INFLASH_PAGE_SIZE 2048
|
#define STM32_INFLASH_PAGE_SIZE 2048
|
||||||
#define STM32_INFLASH_BASE 0x8000000 /* STM32 FLASH内部起始地址 */
|
#define STM32_INFLASH_BASE 0x8000000 /* STM32 FLASH内部起始地址 */
|
||||||
#define STM32_INFLASH_SAVE_ADDR_BEGIN (STM32_INFLASH_BASE+STM32_INFLASH_PAGE_SIZE*31)
|
#define STM32_INFLASH_SAVE_ADDR_BEGIN (STM32_INFLASH_BASE+STM32_INFLASH_PAGE_SIZE*511)
|
||||||
#define STM32_INFLASH_SAVE_ADDR_END (STM32_INFLASH_BASE+STM32_INFLASH_PAGE_SIZE*32-1)
|
#define STM32_INFLASH_SAVE_ADDR_END (STM32_INFLASH_BASE+STM32_INFLASH_PAGE_SIZE*512-1)
|
||||||
#define STM32_INFLASH_SAVE_PAGE 31
|
#define STM32_INFLASH_SAVE_PAGE 511
|
||||||
|
|
||||||
typedef enum{
|
typedef enum{
|
||||||
FLAG_SAVE_INFLASH_HEAD = 0x55,
|
FLAG_SAVE_INFLASH_HEAD = 0x55,
|
||||||
|
|
|
@ -466,7 +466,7 @@ void wind_task(void const * argument)
|
||||||
av_speed = 0;
|
av_speed = 0;
|
||||||
av_angle = 0;
|
av_angle = 0;
|
||||||
}
|
}
|
||||||
term_printf("x:%.2f y:%.2f win_speed %.2f m/s angle %.2f \r\n",av_speedx,av_speedy,av_speed,av_angle);
|
/// term_printf("x:%.2f y:%.2f win_speed %.2f m/s angle %.2f \r\n",av_speedx,av_speedy,av_speed,av_angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
///term_printf("win_speed %.2f \r\n",weather_info.wind_velocity);
|
///term_printf("win_speed %.2f \r\n",weather_info.wind_velocity);
|
||||||
|
@ -653,12 +653,12 @@ void my_update_mcs_param(float new_wind_speed, float new_wind_dirction)
|
||||||
win_10min.speed_data[win_10min.index] = new_wind_speed; //添加新数据
|
win_10min.speed_data[win_10min.index] = new_wind_speed; //添加新数据
|
||||||
win_10min.direction_data[win_10min.index] = new_wind_dirction;
|
win_10min.direction_data[win_10min.index] = new_wind_dirction;
|
||||||
|
|
||||||
if(win_10min.count < /* g_stConfigInfo.speed_average_time */ AVE_TIME)
|
if(win_10min.count < g_stConfigInfo.speed_average_time /*AVE_TIME*/)
|
||||||
{
|
{
|
||||||
win_10min.count++;
|
win_10min.count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(win_10min.count > /* g_stConfigInfo.speed_average_time */AVE_TIME){win_10min.count = AVE_TIME/* g_stConfigInfo.speed_average_time */;}
|
if(win_10min.count > g_stConfigInfo.speed_average_time/*AVE_TIME*/){win_10min.count = /*AVE_TIME*/g_stConfigInfo.speed_average_time;}
|
||||||
|
|
||||||
//计算10min风速滑动平均值
|
//计算10min风速滑动平均值
|
||||||
win_10min.ave_speed_data[win_10min.index] = sum(win_10min.speed_data, win_10min.count) / win_10min.count;
|
win_10min.ave_speed_data[win_10min.index] = sum(win_10min.speed_data, win_10min.count) / win_10min.count;
|
||||||
|
@ -691,17 +691,17 @@ void my_update_mcs_param(float new_wind_speed, float new_wind_dirction)
|
||||||
float temp_max_speed = win_10min.ave_speed_data[0];
|
float temp_max_speed = win_10min.ave_speed_data[0];
|
||||||
//统计
|
//统计
|
||||||
for (int i = 0; i < win_10min.count; i++) {
|
for (int i = 0; i < win_10min.count; i++) {
|
||||||
if (win_10min.ave_direction_data[i] < temp_min_direction) {
|
if (win_10min.direction_data[i] < temp_min_direction) {
|
||||||
temp_min_direction = win_10min.ave_direction_data[i]; // 更新风向最小值
|
temp_min_direction = win_10min.direction_data[i]; // 更新风向最小值
|
||||||
}
|
}
|
||||||
if (win_10min.ave_direction_data[i] > temp_max_direction) {
|
if (win_10min.direction_data[i] > temp_max_direction) {
|
||||||
temp_max_direction = win_10min.ave_direction_data[i]; // 更新风向最大值
|
temp_max_direction = win_10min.direction_data[i]; // 更新风向最大值
|
||||||
}
|
}
|
||||||
if (win_10min.ave_speed_data[i] < temp_min_speed) {
|
if (win_10min.speed_data[i] < temp_min_speed) {
|
||||||
temp_min_speed = win_10min.ave_speed_data[i]; // 更新风速最小值
|
temp_min_speed = win_10min.speed_data[i]; // 更新风速最小值
|
||||||
}
|
}
|
||||||
if (win_10min.ave_speed_data[i] > temp_max_speed) {
|
if (win_10min.speed_data[i] > temp_max_speed) {
|
||||||
temp_max_speed = win_10min.ave_speed_data[i]; // 更新风速最大值
|
temp_max_speed = win_10min.speed_data[i]; // 更新风速最大值
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -713,7 +713,7 @@ void my_update_mcs_param(float new_wind_speed, float new_wind_dirction)
|
||||||
g_stMcs_Para.average_wind_speed = win_10min.ave_speed_data[win_10min.index];
|
g_stMcs_Para.average_wind_speed = win_10min.ave_speed_data[win_10min.index];
|
||||||
g_stMcs_Para.max_wind_speed = temp_max_speed;
|
g_stMcs_Para.max_wind_speed = temp_max_speed;
|
||||||
|
|
||||||
win_10min.index = (win_10min.index + 1) % AVE_TIME; //更新索引
|
win_10min.index = (win_10min.index + 1) % /*AVE_TIME*/g_stConfigInfo.speed_average_time; //更新索引
|
||||||
}
|
}
|
||||||
|
|
||||||
void tem_hum_update_task(void const * argument)
|
void tem_hum_update_task(void const * argument)
|
||||||
|
|
|
@ -24,7 +24,7 @@ void InFlash_Erase_Pages(u_int16_t PageBeginNum, u_int16_t NbPages)
|
||||||
FLASH_EraseInitTypeDef EraseInitStruct;
|
FLASH_EraseInitTypeDef EraseInitStruct;
|
||||||
u_int32_t PAGEError = 0;
|
u_int32_t PAGEError = 0;
|
||||||
|
|
||||||
EraseInitStruct.Banks = FLASH_BANK_1;
|
EraseInitStruct.Banks = FLASH_BANK_2;
|
||||||
EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;
|
EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;
|
||||||
EraseInitStruct.Page = PageBeginNum;
|
EraseInitStruct.Page = PageBeginNum;
|
||||||
EraseInitStruct.NbPages = NbPages;
|
EraseInitStruct.NbPages = NbPages;
|
||||||
|
|
|
@ -125,7 +125,7 @@ int main(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
/* USER CODE BEGIN 1 */
|
/* USER CODE BEGIN 1 */
|
||||||
Flash_EnableReadProtection();//¶Á±£»¤
|
// Flash_EnableReadProtection();//¶Á±£»¤
|
||||||
/* USER CODE END 1 */
|
/* USER CODE END 1 */
|
||||||
|
|
||||||
/* MCU Configuration--------------------------------------------------------*/
|
/* MCU Configuration--------------------------------------------------------*/
|
||||||
|
|
|
@ -84,7 +84,7 @@
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>OCDynDriverList</name>
|
<name>OCDynDriverList</name>
|
||||||
<state>CMSISDAP_ID</state>
|
<state>STLINK_ID</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>OCLastSavedByProductVersion</name>
|
<name>OCLastSavedByProductVersion</name>
|
||||||
|
|
|
@ -786,7 +786,7 @@
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkIcfFile</name>
|
<name>IlinkIcfFile</name>
|
||||||
<state>$PROJ_DIR$/stm32l496xx_flash.icf</state>
|
<state>$PROJ_DIR$\stm32l496xx_flash_app.icf</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkIcfFileSlave</name>
|
<name>IlinkIcfFileSlave</name>
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -16,7 +16,7 @@
|
||||||
<MemConfigValue>D:\Program Files\IAR Systems\arm\config\debugger\ST\STM32L496RG.ddf</MemConfigValue>
|
<MemConfigValue>D:\Program Files\IAR Systems\arm\config\debugger\ST\STM32L496RG.ddf</MemConfigValue>
|
||||||
</PlDriver>
|
</PlDriver>
|
||||||
<Jet>
|
<Jet>
|
||||||
<JetConnSerialNo>WCH CMSIS-DAP:1BEC8F06A0E4</JetConnSerialNo>
|
<JetConnSerialNo>WCH CMSIS-DAP:209E8F06A596</JetConnSerialNo>
|
||||||
<JetConnFoundProbes />
|
<JetConnFoundProbes />
|
||||||
<PrevWtdReset>Connect during reset</PrevWtdReset>
|
<PrevWtdReset>Connect during reset</PrevWtdReset>
|
||||||
<OnlineReset>Software</OnlineReset>
|
<OnlineReset>Software</OnlineReset>
|
||||||
|
@ -26,11 +26,11 @@
|
||||||
<CpuHaltOnBreakpointSet>0</CpuHaltOnBreakpointSet>
|
<CpuHaltOnBreakpointSet>0</CpuHaltOnBreakpointSet>
|
||||||
</Jet>
|
</Jet>
|
||||||
<ArmDriver>
|
<ArmDriver>
|
||||||
<EnforceMemoryConfiguration>1</EnforceMemoryConfiguration>
|
|
||||||
<EnableCache>0</EnableCache>
|
<EnableCache>0</EnableCache>
|
||||||
|
<EnforceMemoryConfiguration>1</EnforceMemoryConfiguration>
|
||||||
</ArmDriver>
|
</ArmDriver>
|
||||||
<DebugChecksum>
|
<DebugChecksum>
|
||||||
<Checksum>1421465675</Checksum>
|
<Checksum>3487728483</Checksum>
|
||||||
</DebugChecksum>
|
</DebugChecksum>
|
||||||
<Exceptions>
|
<Exceptions>
|
||||||
<StopOnUncaught>_ 0</StopOnUncaught>
|
<StopOnUncaught>_ 0</StopOnUncaught>
|
||||||
|
@ -50,8 +50,8 @@
|
||||||
<PowerConnectPC>1</PowerConnectPC>
|
<PowerConnectPC>1</PowerConnectPC>
|
||||||
</SWOManager>
|
</SWOManager>
|
||||||
<Disassembly>
|
<Disassembly>
|
||||||
<InstrCount>0</InstrCount>
|
|
||||||
<MixedMode>1</MixedMode>
|
<MixedMode>1</MixedMode>
|
||||||
|
<InstrCount>0</InstrCount>
|
||||||
</Disassembly>
|
</Disassembly>
|
||||||
<TerminalIO>
|
<TerminalIO>
|
||||||
<InputSource>1</InputSource>
|
<InputSource>1</InputSource>
|
||||||
|
@ -68,10 +68,10 @@
|
||||||
<StLinkDriver>
|
<StLinkDriver>
|
||||||
<stlinkserialNo>0665FF323541483043141633</stlinkserialNo>
|
<stlinkserialNo>0665FF323541483043141633</stlinkserialNo>
|
||||||
<stlinkfoundProbes />
|
<stlinkfoundProbes />
|
||||||
<stlinkResetStyle>0</stlinkResetStyle>
|
|
||||||
<stlinkResetStrategy>2</stlinkResetStrategy>
|
|
||||||
<LeaveTargetRunning>_ 0</LeaveTargetRunning>
|
<LeaveTargetRunning>_ 0</LeaveTargetRunning>
|
||||||
<CStepIntDis>_ 0</CStepIntDis>
|
<CStepIntDis>_ 0</CStepIntDis>
|
||||||
|
<stlinkResetStyle>0</stlinkResetStyle>
|
||||||
|
<stlinkResetStrategy>2</stlinkResetStrategy>
|
||||||
</StLinkDriver>
|
</StLinkDriver>
|
||||||
<SWOTraceHWSettings>
|
<SWOTraceHWSettings>
|
||||||
<OverrideDefaultClocks>0</OverrideDefaultClocks>
|
<OverrideDefaultClocks>0</OverrideDefaultClocks>
|
||||||
|
@ -91,6 +91,36 @@
|
||||||
<ITMportsLogFile>0</ITMportsLogFile>
|
<ITMportsLogFile>0</ITMportsLogFile>
|
||||||
<ITMlogFile>$PROJ_DIR$\ITM.log</ITMlogFile>
|
<ITMlogFile>$PROJ_DIR$\ITM.log</ITMlogFile>
|
||||||
</SWOTraceHWSettings>
|
</SWOTraceHWSettings>
|
||||||
|
<Trace1>
|
||||||
|
<Enabled>0</Enabled>
|
||||||
|
<ShowSource>1</ShowSource>
|
||||||
|
</Trace1>
|
||||||
|
<ETMTraceWindow>
|
||||||
|
<PortWidth>4</PortWidth>
|
||||||
|
<PortMode>0</PortMode>
|
||||||
|
<CaptureDataValues>0</CaptureDataValues>
|
||||||
|
<CaptureDataAddresses>0</CaptureDataAddresses>
|
||||||
|
<CaptureDataRange>0</CaptureDataRange>
|
||||||
|
<DataFirst>0</DataFirst>
|
||||||
|
<DataLast>4294967295</DataLast>
|
||||||
|
<StopWhen>0</StopWhen>
|
||||||
|
<StallCPU>0</StallCPU>
|
||||||
|
<NoPCCapture>0</NoPCCapture>
|
||||||
|
</ETMTraceWindow>
|
||||||
|
<Trace2>
|
||||||
|
<Enabled>0</Enabled>
|
||||||
|
<ShowSource>0</ShowSource>
|
||||||
|
</Trace2>
|
||||||
|
<SWOTraceWindow>
|
||||||
|
<PcSampling>0</PcSampling>
|
||||||
|
<InterruptLogs>0</InterruptLogs>
|
||||||
|
<ForcedTimeStamps>0</ForcedTimeStamps>
|
||||||
|
<EventCPI>0</EventCPI>
|
||||||
|
<EventEXC>0</EventEXC>
|
||||||
|
<EventFOLD>0</EventFOLD>
|
||||||
|
<EventLSU>0</EventLSU>
|
||||||
|
<EventSLEEP>0</EventSLEEP>
|
||||||
|
</SWOTraceWindow>
|
||||||
<DataLog>
|
<DataLog>
|
||||||
<GraphEnabled>0</GraphEnabled>
|
<GraphEnabled>0</GraphEnabled>
|
||||||
<LogEnabled>0</LogEnabled>
|
<LogEnabled>0</LogEnabled>
|
||||||
|
@ -122,6 +152,23 @@
|
||||||
<ShowTimeSum>1</ShowTimeSum>
|
<ShowTimeSum>1</ShowTimeSum>
|
||||||
<SumSortOrder>0</SumSortOrder>
|
<SumSortOrder>0</SumSortOrder>
|
||||||
</EventLog>
|
</EventLog>
|
||||||
|
<DisassembleMode>
|
||||||
|
<mode>0</mode>
|
||||||
|
</DisassembleMode>
|
||||||
|
<Breakpoints2>
|
||||||
|
<Count>0</Count>
|
||||||
|
</Breakpoints2>
|
||||||
|
<TermIOLog>
|
||||||
|
<LoggingEnabled>_ 0</LoggingEnabled>
|
||||||
|
<LogFile>_ ""</LogFile>
|
||||||
|
</TermIOLog>
|
||||||
|
<Aliases>
|
||||||
|
<A0>_ "D:\GitHub\ARM-software\CMSIS_5.old\CMSIS\DSP\Include\arm_math.h" ""</A0>
|
||||||
|
<A1>_ "D:\GitHub\ARM-software\CMSIS_5.old\CMSIS\DSP\Source\ComplexMathFunctions\arm_cmplx_mag_f32.c" ""</A1>
|
||||||
|
<A2>_ "D:\GitHub\ARM-software\CMSIS_5.old\CMSIS\DSP\Source\TransformFunctions\arm_rfft_fast_init_f32.c" ""</A2>
|
||||||
|
<Count>3</Count>
|
||||||
|
<SuppressDialog>0</SuppressDialog>
|
||||||
|
</Aliases>
|
||||||
<DriverProfiling>
|
<DriverProfiling>
|
||||||
<Enabled>0</Enabled>
|
<Enabled>0</Enabled>
|
||||||
<Mode>3</Mode>
|
<Mode>3</Mode>
|
||||||
|
@ -129,48 +176,4 @@
|
||||||
<Symbiont>0</Symbiont>
|
<Symbiont>0</Symbiont>
|
||||||
<Exclusions />
|
<Exclusions />
|
||||||
</DriverProfiling>
|
</DriverProfiling>
|
||||||
<Trace1>
|
|
||||||
<Enabled>0</Enabled>
|
|
||||||
<ShowSource>1</ShowSource>
|
|
||||||
</Trace1>
|
|
||||||
<ETMTraceWindow>
|
|
||||||
<PortWidth>4</PortWidth>
|
|
||||||
<PortMode>0</PortMode>
|
|
||||||
<CaptureDataValues>0</CaptureDataValues>
|
|
||||||
<CaptureDataAddresses>0</CaptureDataAddresses>
|
|
||||||
<CaptureDataRange>0</CaptureDataRange>
|
|
||||||
<DataFirst>0</DataFirst>
|
|
||||||
<DataLast>4294967295</DataLast>
|
|
||||||
<StopWhen>0</StopWhen>
|
|
||||||
<StallCPU>0</StallCPU>
|
|
||||||
<NoPCCapture>0</NoPCCapture>
|
|
||||||
</ETMTraceWindow>
|
|
||||||
<Trace2>
|
|
||||||
<Enabled>0</Enabled>
|
|
||||||
<ShowSource>0</ShowSource>
|
|
||||||
</Trace2>
|
|
||||||
<SWOTraceWindow>
|
|
||||||
<ForcedPcSampling>0</ForcedPcSampling>
|
|
||||||
<ForcedInterruptLogs>0</ForcedInterruptLogs>
|
|
||||||
<ForcedItmLogs>0</ForcedItmLogs>
|
|
||||||
<EventCPI>0</EventCPI>
|
|
||||||
<EventEXC>0</EventEXC>
|
|
||||||
<EventFOLD>0</EventFOLD>
|
|
||||||
<EventLSU>0</EventLSU>
|
|
||||||
<EventSLEEP>0</EventSLEEP>
|
|
||||||
</SWOTraceWindow>
|
|
||||||
<TermIOLog>
|
|
||||||
<LoggingEnabled>_ 0</LoggingEnabled>
|
|
||||||
<LogFile>_ ""</LogFile>
|
|
||||||
</TermIOLog>
|
|
||||||
<DisassembleMode>
|
|
||||||
<mode>0</mode>
|
|
||||||
</DisassembleMode>
|
|
||||||
<Breakpoints2>
|
|
||||||
<Count>0</Count>
|
|
||||||
</Breakpoints2>
|
|
||||||
<Aliases>
|
|
||||||
<Count>0</Count>
|
|
||||||
<SuppressDialog>0</SuppressDialog>
|
|
||||||
</Aliases>
|
|
||||||
</settings>
|
</settings>
|
||||||
|
|
|
@ -14,30 +14,18 @@
|
||||||
|
|
||||||
"--device=STM32L496RG"
|
"--device=STM32L496RG"
|
||||||
|
|
||||||
"--multicore_nr_of_cores=1"
|
|
||||||
|
|
||||||
"--jet_probe=cmsisdap"
|
|
||||||
|
|
||||||
"--jet_standard_reset=9,0,0"
|
|
||||||
|
|
||||||
"--reset_style=\"0,-,0,Disabled__no_reset_\""
|
|
||||||
|
|
||||||
"--reset_style=\"1,-,0,Software\""
|
|
||||||
|
|
||||||
"--reset_style=\"2,-,0,Hardware\""
|
|
||||||
|
|
||||||
"--reset_style=\"3,-,0,Core\""
|
|
||||||
|
|
||||||
"--reset_style=\"4,-,0,System\""
|
|
||||||
|
|
||||||
"--reset_style=\"9,ConnectUnderReset,1,Connect_during_reset\""
|
|
||||||
|
|
||||||
"--drv_interface=SWD"
|
"--drv_interface=SWD"
|
||||||
|
|
||||||
"--drv_interface_speed=100"
|
"--stlink_reset_strategy=0,2"
|
||||||
|
|
||||||
|
"--drv_swo_clock_setup=80000000,0,2000000"
|
||||||
|
|
||||||
"--drv_catch_exceptions=0x000"
|
"--drv_catch_exceptions=0x000"
|
||||||
|
|
||||||
|
"--drv_debug_ap=0"
|
||||||
|
|
||||||
|
"--stlink_probe=stlinkv2"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
"D:\Program Files\IAR Systems\arm\bin\armPROC.dll"
|
"D:\Program Files\IAR Systems\arm\bin\armPROC.dll"
|
||||||
|
|
||||||
"D:\Program Files\IAR Systems\arm\bin\armJET.dll"
|
"D:\Program Files\IAR Systems\arm\bin\armSTLINK.dll"
|
||||||
|
|
||||||
"E:\Y\IAR\micro_climate\EWARM\micro_climate\Exe\micro_climate.out"
|
"E:\Y\IAR\micro_climate\EWARM\micro_climate\Exe\micro_climate.out"
|
||||||
|
|
||||||
|
|
|
@ -39,3 +39,6 @@ place in RAM_region { readwrite,
|
||||||
place in SRAM1_region { };
|
place in SRAM1_region { };
|
||||||
place in SRAM2_region { };
|
place in SRAM2_region { };
|
||||||
|
|
||||||
|
/**** keep { section FSymTab };
|
||||||
|
keep { section VSymTab }; */
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
/*###ICF### Section handled by ICF editor, don't touch! ****/
|
||||||
|
/*-Editor annotation file-*/
|
||||||
|
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
|
||||||
|
/*-Specials-*/
|
||||||
|
define symbol __ICFEDIT_intvec_start__ = 0x08042000;
|
||||||
|
/*-Memory Regions-*/
|
||||||
|
define symbol __ICFEDIT_region_ROM_start__ = 0x08042000;
|
||||||
|
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF;
|
||||||
|
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
||||||
|
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
|
||||||
|
|
||||||
|
/*-Sizes-*/
|
||||||
|
define symbol __ICFEDIT_size_cstack__ = 0x6000;
|
||||||
|
define symbol __ICFEDIT_size_heap__ = 0x2000;
|
||||||
|
/**** End of ICF editor section. ###ICF###*/
|
||||||
|
|
||||||
|
define symbol __region_SRAM1_start__ = 0x20000000;
|
||||||
|
define symbol __region_SRAM1_end__ = 0x2003FFFF;
|
||||||
|
define symbol __region_SRAM2_start__ = 0x20040000;
|
||||||
|
define symbol __region_SRAM2_end__ = 0x2004FFFF;
|
||||||
|
|
||||||
|
define memory mem with size = 4G;
|
||||||
|
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
|
||||||
|
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
|
||||||
|
define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__];
|
||||||
|
define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__];
|
||||||
|
|
||||||
|
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
|
||||||
|
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
|
||||||
|
|
||||||
|
initialize by copy { readwrite };
|
||||||
|
do not initialize { section .noinit };
|
||||||
|
|
||||||
|
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
|
||||||
|
|
||||||
|
place in ROM_region { readonly };
|
||||||
|
place in RAM_region { readwrite,
|
||||||
|
block CSTACK, block HEAP };
|
||||||
|
place in SRAM1_region { };
|
||||||
|
place in SRAM2_region { };
|
Loading…
Reference in New Issue