编译错误信息:
“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 (t otal 407 bytes of linker generated content). [C:\PK\Solutions\STM32Stamp\TinyCL R\TinyCLR.proj] EXEC : error : L6221E: Load region LR_FLASH with Load range [0x08000000,0x080 46ce4) overlaps with Load region LR_CONFIG with Load range [0x08040000,0x080409 0c). [C:\PK\Solutions\STM32Stamp\TinyCLR\TinyCLR.proj] EXEC : error : L6221E: Execution region ER_FLASH with Execution range [0x0800 0000,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_arra ys --feedback C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\bin\tinyclr _STM32Stamp_FLASH_debug_MDK4.54.feedback --debug --remove --unmangled --info s izes,totals,veneers,unused,libraries --map --xref --symbols --callgraph --user libpath C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\lib --userlibpa th 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\F LASH\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\MD K4.54\le\FLASH\debug\STM32Stamp\obj\Solutions\STM32Stamp\TinyCLR\tinyclr_dat.ob j C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\obj\Solutions\STM32St amp\TinyCLR\allocator.obj C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Sta mp\obj\Solutions\STM32Stamp\TinyCLR\tinyclr.obj C:\PK\..\MFBin\THUMB2\MDK4.54\l e\FLASH\debug\STM32Stamp\lib\InteropAssembliesTable.lib LargeBuffer_hal_stubs.l ib virtualkey_hal_stubs.lib Crypto_stub.lib GlobalLock_hal_Cortex.lib TinyHal_C ortex.lib cpu_prestackinit_stubs.lib STM32_bootstrap.lib batterycharger_hal_stu bs.lib batterymeasurement_hal_stubs.lib STM32_GPIO.lib STM32_Power.lib STM32_ti me.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 h eap_pal.lib piezo_pal_stubs.lib SimpleHeap_stubs.lib SimpleHeap_config_stubs.li b tinycrt_pal.lib fs_pal_stubs.lib Ink_pal_stubs.lib Gesture_pal_stubs.lib pale vent_pal.lib Time_pal.lib FS_Config_stubs.lib TimeService_pal_stubs.lib backlig ht_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.lib IO_Init_STM32Stamp.lib STM32_SPI.lib STM32_I2C.lib STM32_USART.lib STM32_USB.li b STM32_IntC.lib STM32_PWM.lib STM32_Analog.lib STM32_DA.lib COM_pal.lib Debugg erPort_SSL_config_stubs.lib events_pal.lib sockets_pal_stubs.lib usart_pal.lib usb_pal.lib i2c_pal.lib usb_pal_config_stub.lib MFUpdate_PAL_stub.lib ssl_pal_s tubs.lib C:\PK\..\MFBin\THUMB2\MDK4.54\le\FLASH\debug\STM32Stamp\lib\tmp_tinycl r.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 .
时间: 2024-11-06 10:22:37