netdiuno MF4.3编译错误情况解决

来源:互联网 发布:浙江中医院事件知乎 编辑:程序博客网 时间:2024/05/29 19:31
  1、error MSB3073: 命令“  --cpp  --diag_suppress 2874,111,161,550,C3011 该问题应该为编译器问题a、安装keil4.54版本b、调用call setenv_mdk.cmd 4.54 c:\keil\arm2、  EXEC : error : L6220E: Load region LR_FLASH size (424184 bytes) exceeds limit (262144 bytes). Region contains 569 bytes of padding and 0 bytes of veneers (total 569 bytes of linker generated content). [C:\MF\PK\Solutions\NetduinoPlus2\TinyCLR\TinyCLR.proj]  EXEC : error : L6221E: Load region LR_FLASH with Load range [0x08000000,0x080678f8) overlaps with Load region LR_CONFIG with Load range [0x08040000,0x0804090c). [C:\MF\PK\Solutions\NetduinoPlus2\TinyCLR\TinyCLR.proj]  EXEC : error : L6221E: Execution region ER_FLASH with Execution range [0x08000000,0x08066d48) overlaps with Execution region ER_CONFIG with Execution range [0x08040000,0x0804090c). [C:\MF\PK\Solutions\NetduinoPlus2\TinyCLR\TinyCLR.proj]  EXEC : error : L6221E: Execution region ER_RAM_RW with Execution range [0x20000000,0x2000c6c0) overlaps with Execution region ER_HEAP_BEGIN with Execution range [0x20008000,0x20008004). [C:\MF\PK\Solutions\NetduinoPlus2\TinyCLR\TinyCLR.proj]  EXEC : error : L6221E: Execution region ER_RAM_RW with Execution range [0x20000000,0x2000c6c0) overlaps with Execution region ER_CUSTOM_HEAP_BEGIN with Execution range [0x20005e00,0x20005f54). [C:\MF\PK\Solutions\NetduinoPlus2\TinyCLR\TinyCLR.proj]  EXEC : error : L6221E: Execution region ER_RAM_RW with Execution range [0x20000000,0x2000c6c0) overlaps with Execution region ER_STACK_BOTTOM with Execution range [0x20006000,0x20006004). [C:\MF\PK\Solutions\NetduinoPlus2\TinyCLR\TinyCLR.proj]  EXEC : error : L6221E: Execution region ER_RAM_RW with Execution range [0x20000000,0x2000c6c0) overlaps with Execution region ER_STACK_TOP with Execution range [0x20007ff8,0x20007ffc). [C:\MF\PK\Solutions\NetduinoPlus2\TinyCLR\TinyCLR.proj]    修改TinyCLR目录下的scatterfile_tinyclr_mdk.xml文件  a.EXEC : error : L6220E: Load region LR_FLASH size (424184 bytes) exceeds limit (262144 bytes)EXEC : error : L6221E: Load region LR_FLASH with Load range [0x08000000,0x080678f8) overlaps with Load region LR_CONFIG with Load range [0x08040000,0x0804090c). EXEC : error : L6221E: Execution region ER_FLASH with Execution range [0x08000000,0x08066d48) overlaps with Execution region ER_CONFIG with Execution range [0x08040000,0x0804090c)这三个问题修改<Set Name="Config_BaseAddress"  Value="0x08040000"/>  -->  <Set Name="Config_BaseAddress"  Value="0x0806F8F8"/> 把空间放大一点,否则程序运行时候会有异常  b.EXEC : error : L6221E: Execution region ER_RAM_RW with Execution range [0x20000000,0x2000c6c0) overlaps with Execution region ER_HEAP_BEGIN with Execution range [0x20008000,0x20008004).     EXEC : error : L6221E: Execution region ER_RAM_RW with Execution range [0x20000000,0x2000c6c0) overlaps with Execution region ER_CUSTOM_HEAP_BEGIN with Execution range [0x20005e00,0x20005f54).    EXEC : error : L6221E: Execution region ER_RAM_RW with Execution range [0x20000000,0x2000c6c0) overlaps with Execution region ER_STACK_BOTTOM with Execution range [0x20006000,0x20006004).    EXEC : error : L6221E: Execution region ER_RAM_RW with Execution range [0x20000000,0x2000c6c0) overlaps with Execution region ER_STACK_TOP with Execution range [0x20007ff8,0x20007ffc).    这几个问题将调整RAM的分配区域来解决    <Set Name="RAM_Start"           Value="0x20000000"/>    <!-- Custom heap used for interrupt handler table only -->    <Set Name="Custom_Heap_Begin"       Value="0x20005E00"/>    <Set Name="Custom_Heap_End"         Value="0x20005FF8"/>    <Set Name="Stack_Bottom"            Value="0x20006000"/>    <Set Name="Stack_Top"               Value="0x20007FF8"/>    <Set Name="Heap_Begin"              Value="0x20008000"/>    <Set Name="Heap_End"                Value="0x2000FFF8"/>    <IfDefined Name="PROFILE_BUILD">        <Set Name="Heap_End"            Value="0x2000DFF8"/>        <Set Name="ProfileBuffer_Begin" Value="0x2000E000"/>        <Set Name="ProfileBuffer_End"   Value="0x2000FFFC"/>    </IfDefined>调整为预留足够的RAM空间,这里预留的大小为    <Set Name="RAM_Start"           Value="0x20000000"/>    <!-- Custom heap used for interrupt handler table only -->    <Set Name="Custom_Heap_Begin"       Value="0x2000D000"/>    <Set Name="Custom_Heap_End"         Value="0x2000D1F8"/>    <Set Name="Stack_Bottom"            Value="0x2000D200"/>    <Set Name="Stack_Top"               Value="0x2000F1F8"/>    <Set Name="Heap_Begin"              Value="0x2000F200"/>    <Set Name="Heap_End"                Value="0x200171F0"/>    <IfDefined Name="PROFILE_BUILD">        <Set Name="Heap_End"            Value="0x200191F0"/>        <Set Name="ProfileBuffer_Begin" Value="0x20015200"/>        <Set Name="ProfileBuffer_End"   Value="0x200171FC"/>    </IfDefined>3、error : Error trying to process scatterfile scatterfile_bootloader_MDK.xml into C:\MF\PK\BuildOutput\THUMB2\MDK4.54\le\FLASH\release\NetduinoPlus2\bin\Tinybooter_scatterfile.txt: 这个有人说不是错误,可以不修改,地址http://www.newlifex.com/showtopic-112.aspx
来自:http://blog.csdn.net/lan120576664
0 0