Origin code :
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00200000 ; load region size_region
{
ER_IROM1 0x08000000 0x00200000 ; load address = execution address
{
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_DMARxDscrTab 0x30040000 0x60
{
*(.RxDecripSection) // Warning
}
RW_DMATxDscrTab 0x30040060 0x140
{
*(.TxDecripSection) // Warning
}
RW_Rx_Buffb 0x30040200 0x1800
{
*(.RxArraySection) // Warning
}
RW_IRAM2 0x20000000 0x00020000 ; RW data - 128KB DTCM
{
*(.DTCM) // Warning
}
RW_IRAM1 0x24000000 0x00080000 ; RW data - 512KB AXI SRAM
{
.ANY (+RW +ZI)
}
RW_IRAM3 0x30000000 0x00048000 ; RW data - 128KB SRAM1(0x30000000) + 128KB SRAM2(0x3002 0000) + 32KB SRAM3(0x30040000)
{
*(.RAM_D2) // Warning
}
RW_IRAM4 0x38000000 0x00010000 ; RW data - 64KB SRAM4(0x38000000)
{
*(.RAM_D3) // Warning
}
}
Build Output :
Repalce * with .ANY
The modified code :
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00200000 ; load region size_region
{
ER_IROM1 0x08000000 0x00200000 ; load address = execution address
{
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_DMARxDscrTab 0x30040000 0x60
{
.ANY(.RxDecripSection)
}
RW_DMATxDscrTab 0x30040060 0x140
{
.ANY(.TxDecripSection)
}
RW_Rx_Buffb 0x30040200 0x1800
{
.ANY(.RxArraySection)
}
RW_IRAM2 0x20000000 0x00020000 ; RW data - 128KB DTCM
{
.ANY(.DTCM)
}
RW_IRAM1 0x24000000 0x00080000 ; RW data - 512KB AXI SRAM
{
.ANY (+RW +ZI)
}
RW_IRAM3 0x30000000 0x00048000 ; RW data - 128KB SRAM1(0x30000000) + 128KB SRAM2(0x3002 0000) + 32KB SRAM3(0x30040000)
{
.ANY(.RAM_D2)
}
RW_IRAM4 0x38000000 0x00010000 ; RW data - 64KB SRAM4(0x38000000)
{
.ANY(.RAM_D3)
}
}
Build Output :
将RAM定义域里的全部用.ANY替换后警告就消失了
用.ANY替换原来的,是因为下面的一个执行域对指定的模块中的RW,ZI数据制定了存放地址
用.ANY就可以把已经被指定的具有RW,ZI属性的数据排除