mirror of https://github.com/FOME-Tech/openblt.git
- Shrunk ARMCM3_EFM32 bootloader for Crossworks from 16 to 8kb.
git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@35 5dc33758-31d5-4daf-9ae8-b24bf3d40d73
This commit is contained in:
parent
a21ee401c5
commit
4eda0f2e1f
|
@ -1,6 +1,6 @@
|
|||
[sci]
|
||||
port=3
|
||||
baudrate=8
|
||||
baudrate=3
|
||||
[xcp]
|
||||
seedkey=
|
||||
t1=1000
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE CrossStudio_Project_File>
|
||||
<solution Name="EFM32G880_crossworks" target="8" version="2">
|
||||
<project Name="openbtl_olimex_efm32g880">
|
||||
<configuration Name="Common" Target="EFM32G880F128" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_linker_heap_size="128" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="Yes" arm_simulator_memory_simulation_filename="$(TargetsDir)/EFM32/EFM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="EFM32G880F128;FLASH=0x00000000:0x20000;RAM=0x20000000:0x4000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="SWD" arm_target_loader_parameter="16000000" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(Configuration)/../../bin" c_preprocessor_definitions="USE_PROCESS_STACK" c_user_include_directories="$(ProjectDir)/..;$(ProjectDir)/../lib/CMSIS/CM3/CoreSupport;$(ProjectDir)/../lib/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32;$(ProjectDir)/../lib/efm32lib/inc;$(ProjectDir)/../../../../Source;$(ProjectDir)/../../../../Source/ARMCM3_EFM32;$(ProjectDir)/../../../../Source/ARMCM3_EFM32/Crossworks" gcc_optimization_level="Level 1" link_include_startup_code="No" linker_additional_files="" linker_keep_symbols="_vectors;EntryFromProg" linker_memory_map_file="$(TargetsDir)/EFM32/EFM32G880F128_MemoryMap.xml" linker_output_format="srec" oscillator_frequency="Other" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/EFM32/EFM32_propertyGroups.xml"/>
|
||||
<configuration Name="Common" Target="EFM32G880F128" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_linker_heap_size="128" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="Yes" arm_simulator_memory_simulation_filename="$(TargetsDir)/EFM32/EFM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="EFM32G880F128;FLASH=0x00000000:0x20000;RAM=0x20000000:0x4000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="SWD" arm_target_loader_parameter="16000000" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(Configuration)/../../bin" c_preprocessor_definitions="USE_PROCESS_STACK" c_user_include_directories="$(ProjectDir)/..;$(ProjectDir)/../lib/CMSIS/CM3/CoreSupport;$(ProjectDir)/../lib/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32;$(ProjectDir)/../lib/efm32lib/inc;$(ProjectDir)/../../../../Source;$(ProjectDir)/../../../../Source/ARMCM3_EFM32;$(ProjectDir)/../../../../Source/ARMCM3_EFM32/Crossworks" gcc_optimization_level="Optimize For Size" link_include_standard_libraries="No" link_include_startup_code="No" linker_additional_files="" linker_keep_symbols="_vectors;EntryFromProg" linker_memory_map_file="$(TargetsDir)/EFM32/EFM32G880F128_MemoryMap.xml" linker_output_format="srec" oscillator_frequency="Other" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/EFM32/EFM32_propertyGroups.xml"/>
|
||||
<configuration Name="Flash" Placement="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/EFM32/Release/Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" target_reset_script="FLASHReset()"/>
|
||||
<configuration Name="RAM" Placement="RAM" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/ram_placement.xml" target_reset_script="SRAMReset()"/>
|
||||
<folder Name="Source Files">
|
||||
|
|
|
@ -24,9 +24,12 @@
|
|||
<ProjectSessionItem path="EFM32G880_crossworks" name="unnamed" />
|
||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880" name="unnamed" />
|
||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files" name="unnamed" />
|
||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Demo" name="unnamed" />
|
||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Demo;Boot" name="unnamed" />
|
||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Source" name="unnamed" />
|
||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Source;ARMCM3_EFM32" name="unnamed" />
|
||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;Source Files;Source;ARMCM3_EFM32;Crossworks" name="unnamed" />
|
||||
<ProjectSessionItem path="EFM32G880_crossworks;openbtl_olimex_efm32g880;System Files" name="unnamed" />
|
||||
</Project>
|
||||
<Register1>
|
||||
<RegisterWindow openNodes="" binaryNodes="" hiddenNodes="" unsignedNodes="" visibleGroups="" decimalNodes="" octalNodes="" asciiNodes="" />
|
||||
|
@ -57,10 +60,9 @@
|
|||
<Watches active="0" update="Never" />
|
||||
</Watch4>
|
||||
<Files>
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Boot\main.c" y="72" path="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Boot\main.c" left="0" selected="0" name="unnamed" top="36" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\uart.c" y="31" path="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\uart.c" left="0" selected="0" name="unnamed" top="31" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\Crossworks\vectors.c" y="0" path="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\Crossworks\vectors.c" left="0" selected="0" name="unnamed" top="0" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\Crossworks\cstart.s" y="98" path="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\Crossworks\cstart.s" left="0" selected="1" name="unnamed" top="74" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="8" debugPath="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Boot\main.c" y="37" path="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Boot\main.c" left="0" selected="1" name="unnamed" top="36" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\cpu.c" y="43" path="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\cpu.c" left="0" selected="0" name="unnamed" top="37" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="0" debugPath="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\flash.c" y="101" path="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\flash.c" left="0" selected="0" name="unnamed" top="74" />
|
||||
</Files>
|
||||
<ARMCrossStudioWindow activeProject="openbtl_olimex_efm32g880" autoConnectTarget="Olimex ARM-USB-TINY" debugSearchFileMap="" fileDialogInitialDirectory="D:\usr\feaser\software\OpenBLT\Target\Source\ARMCM3_EFM32\Crossworks" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
|
||||
</session>
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE CrossStudio_Project_File>
|
||||
<solution Name="EFM32G880_crossworks" target="8" version="2">
|
||||
<project Name="demoprog_olimex_efm32g880">
|
||||
<configuration Name="Common" Target="EFM32G880F128" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_linker_heap_size="128" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="Yes" arm_simulator_memory_simulation_filename="$(TargetsDir)/EFM32/EFM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="EFM32G880F128;FLASH=0x00000000:0x20000;RAM=0x20000000:0x4000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="SWD" arm_target_loader_parameter="16000000" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(Configuration)/../../bin" c_preprocessor_definitions="USE_PROCESS_STACK" c_user_include_directories="$(ProjectDir)/../src;$(ProjectDir)/../lib/CMSIS/CM3/CoreSupport;$(ProjectDir)/../lib/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32;$(ProjectDir)/../lib/efm32lib/inc;$(ProjectDir)/../lib/lcd" gcc_optimization_level="None" link_include_startup_code="No" linker_additional_files="" linker_memory_map_file="$(TargetsDir)/EFM32/EFM32G880F128_MemoryMap.xml" linker_output_format="srec" oscillator_frequency="Other" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/EFM32/EFM32_propertyGroups.xml"/>
|
||||
<configuration Name="Common" Target="EFM32G880F128" arm_architecture="v7M" arm_core_type="Cortex-M3" arm_linker_heap_size="128" arm_linker_process_stack_size="0" arm_linker_stack_size="128" arm_long_calls="Yes" arm_simulator_memory_simulation_filename="$(TargetsDir)/EFM32/EFM32SimulatorMemory.dll" arm_simulator_memory_simulation_parameter="EFM32G880F128;FLASH=0x00000000:0x20000;RAM=0x20000000:0x4000" arm_target_debug_interface_type="ADIv5" arm_target_interface_type="SWD" arm_target_loader_parameter="16000000" build_intermediate_directory="$(Configuration)/../../obj" build_output_directory="$(Configuration)/../../bin" c_preprocessor_definitions="USE_PROCESS_STACK" c_user_include_directories="$(ProjectDir)/../src;$(ProjectDir)/../lib/CMSIS/CM3/CoreSupport;$(ProjectDir)/../lib/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32;$(ProjectDir)/../lib/efm32lib/inc;$(ProjectDir)/../lib/lcd" gcc_optimization_level="Level 1" link_include_startup_code="No" linker_additional_files="" linker_memory_map_file="$(TargetsDir)/EFM32/EFM32G880F128_MemoryMap.xml" linker_output_format="srec" oscillator_frequency="Other" project_directory="" project_type="Executable" property_groups_file_path="$(TargetsDir)/EFM32/EFM32_propertyGroups.xml"/>
|
||||
<configuration Name="Flash" Placement="Flash" arm_target_flash_loader_file_path="$(TargetsDir)/EFM32/Release/Loader_rpc.elf" arm_target_flash_loader_type="LIBMEM RPC Loader" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/flash_placement.xml" target_reset_script="FLASHReset()"/>
|
||||
<configuration Name="RAM" Placement="RAM" linker_section_placement_file="$(StudioDir)/targets/Cortex_M/ram_placement.xml" target_reset_script="SRAMReset()"/>
|
||||
<folder Name="Source Files">
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
<Watches active="0" update="Never" />
|
||||
</Watch4>
|
||||
<Files>
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="51" debugPath="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog\main.c" y="76" path="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog\main.c" left="0" selected="1" name="unnamed" top="51" />
|
||||
<SessionOpenFile useTextEdit="1" useBinaryEdit="0" codecName="Latin1" x="40" debugPath="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog\main.c" y="102" path="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog\main.c" left="0" selected="1" name="unnamed" top="76" />
|
||||
</Files>
|
||||
<ARMCrossStudioWindow activeProject="demoprog_olimex_efm32g880" autoConnectTarget="Olimex ARM-USB-TINY" debugSearchFileMap="" fileDialogInitialDirectory="D:\usr\feaser\software\OpenBLT\Target\Demo\ARMCM3_EFM32_Olimex_EM32G880F128STK_Crossworks\Prog" fileDialogDefaultFilter="*.c" autoConnectCapabilities="388991" debugSearchPath="" buildConfiguration="THUMB Flash Debug" />
|
||||
</session>
|
||||
|
|
|
@ -3,7 +3,7 @@ MEMORY
|
|||
UNPLACED_SECTIONS (wx) : ORIGIN = 0x100000000, LENGTH = 0
|
||||
CM3_System_Control_Space (wx) : ORIGIN = 0xe000e000, LENGTH = 0x00001000
|
||||
RAM (wx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
|
||||
FLASH (rx) : ORIGIN = 0x00004000, LENGTH = 0x00020000 - 0x4000
|
||||
FLASH (rx) : ORIGIN = 0x00002000, LENGTH = 0x00020000 - 0x2000
|
||||
}
|
||||
|
||||
|
||||
|
@ -13,7 +13,7 @@ SECTIONS
|
|||
__CM3_System_Control_Space_segment_end__ = 0xe000f000;
|
||||
__RAM_segment_start__ = 0x20000000;
|
||||
__RAM_segment_end__ = 0x20004000;
|
||||
__FLASH_segment_start__ = 0x00004000;
|
||||
__FLASH_segment_start__ = 0x00002000;
|
||||
__FLASH_segment_end__ = 0x00020000;
|
||||
|
||||
__STACKSIZE__ = 256;
|
||||
|
|
|
@ -3,7 +3,7 @@ MEMORY
|
|||
UNPLACED_SECTIONS (wx) : ORIGIN = 0x100000000, LENGTH = 0
|
||||
CM3_System_Control_Space (wx) : ORIGIN = 0xe000e000, LENGTH = 0x00001000
|
||||
RAM (wx) : ORIGIN = 0x20000000, LENGTH = 0x00001000
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x00004000
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x00002000
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,7 +14,7 @@ SECTIONS
|
|||
__RAM_segment_start__ = 0x20000000;
|
||||
__RAM_segment_end__ = 0x20001000;
|
||||
__FLASH_segment_start__ = 0x00000000;
|
||||
__FLASH_segment_end__ = 0x00004000;
|
||||
__FLASH_segment_end__ = 0x00002000;
|
||||
|
||||
__STACKSIZE__ = 256;
|
||||
__STACKSIZE_PROCESS__ = 0;
|
||||
|
|
|
@ -38,16 +38,9 @@
|
|||
/****************************************************************************************
|
||||
* Macro definitions
|
||||
****************************************************************************************/
|
||||
#if defined(__ICCARM__)
|
||||
/* the IAR compiler generates compact code and therefore the space occupied by the
|
||||
* bootloader is less.
|
||||
*/
|
||||
#define CPU_USER_PROGRAM_STARTADDR_PTR ((blt_addr) 0x00002004)
|
||||
#define CPU_USER_PROGRAM_VECTABLE_OFFSET ((blt_int32u)0x00002000)
|
||||
#else
|
||||
#define CPU_USER_PROGRAM_STARTADDR_PTR ((blt_addr) 0x00004004)
|
||||
#define CPU_USER_PROGRAM_VECTABLE_OFFSET ((blt_int32u)0x00004000)
|
||||
#endif
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Register definitions
|
||||
|
|
|
@ -95,20 +95,10 @@ static blt_int32u FlashCalcPageSize(void);
|
|||
*/
|
||||
static const tFlashSector flashLayout[] =
|
||||
{
|
||||
#if defined(__ICCARM__)
|
||||
/* the IAR compiler generates compact code and therefore the space occupied by the
|
||||
* bootloader is less.
|
||||
*/
|
||||
/* { 0x00000000, 0x02000, 0}, flash sector 0 - reserved for bootloader */
|
||||
{ 0x00002000, 0x02000, 1}, /* flash sector 1 - 8kb */
|
||||
{ 0x00004000, 0x02000, 2}, /* flash sector 2 - 8kb */
|
||||
{ 0x00006000, 0x02000, 3}, /* flash sector 3 - 8kb */
|
||||
#else
|
||||
/* { 0x00000000, 0x02000, 0}, flash sector 0 - reserved for bootloader */
|
||||
/* { 0x00002000, 0x02000, 1}, flash sector 1 - reserved for bootloader */
|
||||
{ 0x00004000, 0x02000, 2}, /* flash sector 2 - 8kb */
|
||||
{ 0x00006000, 0x02000, 3}, /* flash sector 3 - 8kb */
|
||||
#endif
|
||||
#if (BOOT_NVM_SIZE_KB > 32)
|
||||
{ 0x00008000, 0x02000, 4}, /* flash sector 4 - 8kb */
|
||||
{ 0x0000A000, 0x02000, 5}, /* flash sector 5 - 8kb */
|
||||
|
|
Loading…
Reference in New Issue