首页 > 代码库 > STM32Stamp项目DEBUG后代码区域超界

STM32Stamp项目DEBUG后代码区域超界

编译错误信息:

“C:\PK\Solutions\STM32Stamp\dotNetMF.proj”(build 目标) (1) ->“C:\PK\Solutions\STM32Stamp\TinyCLR\TinyCLR.proj”(Build 目标) (2) ->(BuildAXF 目标) ->  EXEC : error : L6220E: Load region LR_FLASH size (290020 bytes) exceeds limit (262144 bytes). Region contains 407 bytes of padding and 0 bytes of veneers (total 407 bytes of linker generated content). [C:\PK\Solutions\STM32Stamp\TinyCLR\TinyCLR.proj]  EXEC : error : L6221E: Load region LR_FLASH with Load range [0x08000000,0x08046ce4) overlaps with Load region LR_CONFIG with Load range [0x08040000,0x0804090c). [C:\PK\Solutions\STM32Stamp\TinyCLR\TinyCLR.proj]  EXEC : error : L6221E: Execution region ER_FLASH with Execution range [0x08000000,0x08046980) overlaps with Execution region ER_CONFIG with Execution range[0x08040000,0x0804090c). [C:\PK\Solutions\STM32Stamp\TinyCLR\TinyCLR.proj]  C:\PK\tools\targets\Microsoft.SPOT.System.MDK.targets(307,5): error MSB3073:命令“"C:\Keil\ARM\bin40\armlink.exe"  --keep *(.init_array) --no_keep_init_arrays --feedback C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\bin\tinyclr_STM32Stamp_FLASH_debug_MDK4.54.feedback  --debug --remove --unmangled --info sizes,totals,veneers,unused,libraries --map  --xref --symbols --callgraph --userlibpath C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\lib --userlibpath C:\PK\..\MFBin\THUMB2\MDK4.54\le\ANY_MEDIA\debug\lib --libpath "C:\Keil\ARM\RV31\LIB"  --entry EntryPoint  --symdefs C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\bin\tinyclr.symdefs --list C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\bin\tinyclr.map --output C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\bin\tinyclr.axf --scatter C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\bin\tinyclr_scatterfile.txt C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\obj\Solutions\STM32Stamp\TinyCLR\tinyclr_dat.obj C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\obj\Solutions\STM32Stamp\TinyCLR\allocator.obj C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\obj\Solutions\STM32Stamp\TinyCLR\tinyclr.obj C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\lib\InteropAssembliesTable.lib LargeBuffer_hal_stubs.lib virtualkey_hal_stubs.lib Crypto_stub.lib GlobalLock_hal_Cortex.lib TinyHal_Cortex.lib cpu_prestackinit_stubs.lib STM32_bootstrap.lib batterycharger_hal_stubs.lib batterymeasurement_hal_stubs.lib STM32_GPIO.lib STM32_Power.lib STM32_time.lib cpu_watchdog_stubs.lib system_initialization_hal.lib Watchdog_pal_stubs.lib asyncproccall_pal.lib blockstorage_pal.lib Buttons_pal.lib config_pal.lib heap_pal.lib piezo_pal_stubs.lib SimpleHeap_stubs.lib SimpleHeap_config_stubs.lib tinycrt_pal.lib fs_pal_stubs.lib Ink_pal_stubs.lib Gesture_pal_stubs.lib palevent_pal.lib Time_pal.lib FS_Config_stubs.lib TimeService_pal_stubs.lib backlight_hal_stubs.lib lcd_hal_stubs.lib cpu_cache_stubs.lib cpu_LCD_stubs.lib STM32_Flash.lib STM32_blconfig_STM32Stamp.lib BlockStorage_AddDevices_STM32Stamp.libIO_Init_STM32Stamp.lib STM32_SPI.lib STM32_I2C.lib STM32_USART.lib STM32_USB.lib STM32_IntC.lib STM32_PWM.lib STM32_Analog.lib STM32_DA.lib COM_pal.lib DebuggerPort_SSL_config_stubs.lib events_pal.lib sockets_pal_stubs.lib usart_pal.libusb_pal.lib i2c_pal.lib usb_pal_config_stub.lib MFUpdate_PAL_stub.lib ssl_pal_stubs.lib C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\lib\tmp_tinyclr.lib”已退出,代码为 1。 [C:\PK\Solutions\STM32Stamp\TinyCLR\TinyCLR.proj]    11 个警告    4 个错误

从红字处可以得知是因为TinyCLR项目的散列文件配置代码块的时候太小了,因此打开:C:\PK\Solutions\STM32Stamp\TinyCLR\scatterfile_tinyclr_mdk.xml

    <If Name="TARGETLOCATION" In="FLASH">        <Set Name="Config_BaseAddress"  Value="0x08060000"/>  <!--Release 模式 0x08040000 -->          <Set Name="Config_Size"         Value="0x00002000"/>        <Set Name="Code_BaseAddress"    Value="0x08000000"/>        <Set Name="Code_Size"           Value="%Config_BaseAddress - Code_BaseAddress%" />        <Set Name="Valid"               Value="true"/>    </If>

但是在Debug模式下编译代码,在烧录进机子里的时候估计会出错(没有试过),为全安起见再重新改回 0x08040000 .

 

STM32Stamp项目DEBUG后代码区域超界