123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735 |
- /* generated memory regions file - do not edit */
- define symbol ATCM_START = 0x00000000;
- define symbol ATCM_LENGTH = 0x20000;
- define symbol BTCM_START = 0x00100000;
- define symbol BTCM_LENGTH = 0x20000;
- define symbol SYSTEM_RAM_START = 0x10000000;
- define symbol SYSTEM_RAM_LENGTH = 0x180000;
- define symbol SYSTEM_RAM_MIRROR_START = 0x30000000;
- define symbol SYSTEM_RAM_MIRROR_LENGTH = 0x180000;
- define symbol xSPI0_CS0_SPACE_MIRROR_START = 0x40000000;
- define symbol xSPI0_CS0_SPACE_MIRROR_LENGTH = 0x4000000;
- define symbol xSPI0_CS1_SPACE_MIRROR_START = 0x44000000;
- define symbol xSPI0_CS1_SPACE_MIRROR_LENGTH = 0x4000000;
- define symbol xSPI1_CS0_SPACE_MIRROR_START = 0x48000000;
- define symbol xSPI1_CS0_SPACE_MIRROR_LENGTH = 0x4000000;
- define symbol CS0_SPACE_MIRROR_START = 0x50000000;
- define symbol CS0_SPACE_MIRROR_LENGTH = 0x4000000;
- define symbol CS2_SPACE_MIRROR_START = 0x54000000;
- define symbol CS2_SPACE_MIRROR_LENGTH = 0x4000000;
- define symbol CS3_SPACE_MIRROR_START = 0x58000000;
- define symbol CS3_SPACE_MIRROR_LENGTH = 0x4000000;
- define symbol CS5_SPACE_MIRROR_START = 0x5C000000;
- define symbol CS5_SPACE_MIRROR_LENGTH = 0x4000000;
- define symbol xSPI0_CS0_SPACE_START = 0x60000000;
- define symbol xSPI0_CS0_SPACE_LENGTH = 0x4000000;
- define symbol xSPI0_CS1_SPACE_START = 0x64000000;
- define symbol xSPI0_CS1_SPACE_LENGTH = 0x4000000;
- define symbol xSPI1_CS0_SPACE_START = 0x68000000;
- define symbol xSPI1_CS0_SPACE_LENGTH = 0x4000000;
- define symbol CS0_SPACE_START = 0x70000000;
- define symbol CS0_SPACE_LENGTH = 0x4000000;
- define symbol CS2_SPACE_START = 0x74000000;
- define symbol CS2_SPACE_LENGTH = 0x4000000;
- define symbol CS3_SPACE_START = 0x78000000;
- define symbol CS3_SPACE_LENGTH = 0x4000000;
- define symbol CS5_SPACE_START = 0x7C000000;
- define symbol CS5_SPACE_LENGTH = 0x4000000;
- /* The memory information for each device is done in memory regions file.
- * The starting address and length of memory not defined in memory regions file are defined as 0. */
- if (isdefinedsymbol(ATCM_START))
- {
- define symbol ATCM_PRV_START = ATCM_START;
- }
- else
- {
- define symbol ATCM_PRV_START = 0;
- }
- if (isdefinedsymbol(ATCM_LENGTH))
- {
- define symbol ATCM_PRV_LENGTH = ATCM_LENGTH;
- }
- else
- {
- define symbol ATCM_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(BTCM_START))
- {
- define symbol BTCM_PRV_START = BTCM_START;
- }
- else
- {
- define symbol BTCM_PRV_START = 0;
- }
- if (isdefinedsymbol(BTCM_LENGTH))
- {
- define symbol BTCM_PRV_LENGTH = BTCM_LENGTH;
- }
- else
- {
- define symbol BTCM_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(SYSTEM_RAM_START))
- {
- define symbol SYSTEM_RAM_PRV_START = SYSTEM_RAM_START;
- }
- else
- {
- define symbol SYSTEM_RAM_PRV_START = 0;
- }
- if (isdefinedsymbol(SYSTEM_RAM_LENGTH))
- {
- define symbol SYSTEM_RAM_PRV_LENGTH = SYSTEM_RAM_LENGTH;
- }
- else
- {
- define symbol SYSTEM_RAM_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(SYSTEM_RAM_MIRROR_START))
- {
- define symbol SYSTEM_RAM_MIRROR_PRV_START = SYSTEM_RAM_MIRROR_START;
- }
- else
- {
- define symbol SYSTEM_RAM_MIRROR_PRV_START = 0;
- }
- if (isdefinedsymbol(SYSTEM_RAM_MIRROR_LENGTH))
- {
- define symbol SYSTEM_RAM_MIRROR_PRV_LENGTH = SYSTEM_RAM_MIRROR_LENGTH;
- }
- else
- {
- define symbol SYSTEM_RAM_MIRROR_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(xSPI0_CS0_SPACE_MIRROR_START))
- {
- define symbol xSPI0_CS0_SPACE_MIRROR_PRV_START = xSPI0_CS0_SPACE_MIRROR_START;
- }
- else
- {
- define symbol xSPI0_CS0_SPACE_MIRROR_PRV_START = 0;
- }
- if (isdefinedsymbol(xSPI0_CS0_SPACE_MIRROR_LENGTH))
- {
- define symbol xSPI0_CS0_SPACE_MIRROR_PRV_LENGTH = xSPI0_CS0_SPACE_MIRROR_LENGTH;
- }
- else
- {
- define symbol xSPI0_CS0_SPACE_MIRROR_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(xSPI0_CS1_SPACE_MIRROR_START))
- {
- define symbol xSPI0_CS1_SPACE_MIRROR_PRV_START = xSPI0_CS1_SPACE_MIRROR_START;
- }
- else
- {
- define symbol xSPI0_CS1_SPACE_MIRROR_PRV_START = 0;
- }
- if (isdefinedsymbol(xSPI0_CS1_SPACE_MIRROR_LENGTH))
- {
- define symbol xSPI0_CS1_SPACE_MIRROR_PRV_LENGTH = xSPI0_CS1_SPACE_MIRROR_LENGTH;
- }
- else
- {
- define symbol xSPI0_CS1_SPACE_MIRROR_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(xSPI1_CS0_SPACE_MIRROR_START))
- {
- define symbol xSPI1_CS0_SPACE_MIRROR_PRV_START = xSPI1_CS0_SPACE_MIRROR_START;
- }
- else
- {
- define symbol xSPI1_CS0_SPACE_MIRROR_PRV_START = 0;
- }
- if (isdefinedsymbol(xSPI1_CS0_SPACE_MIRROR_LENGTH))
- {
- define symbol xSPI1_CS0_SPACE_MIRROR_PRV_LENGTH = xSPI1_CS0_SPACE_MIRROR_LENGTH;
- }
- else
- {
- define symbol xSPI1_CS0_SPACE_MIRROR_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(xSPI1_CS1_SPACE_MIRROR_START))
- {
- define symbol xSPI1_CS1_SPACE_MIRROR_PRV_START = xSPI1_CS1_SPACE_MIRROR_START;
- }
- else
- {
- define symbol xSPI1_CS1_SPACE_MIRROR_PRV_START = 0;
- }
- if (isdefinedsymbol(xSPI1_CS1_SPACE_MIRROR_LENGTH))
- {
- define symbol xSPI1_CS1_SPACE_MIRROR_PRV_LENGTH = xSPI1_CS1_SPACE_MIRROR_LENGTH;
- }
- else
- {
- define symbol xSPI1_CS1_SPACE_MIRROR_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(CS0_SPACE_MIRROR_START))
- {
- define symbol CS0_SPACE_MIRROR_PRV_START = CS0_SPACE_MIRROR_START;
- }
- else
- {
- define symbol CS0_SPACE_MIRROR_PRV_START = 0;
- }
- if (isdefinedsymbol(CS0_SPACE_MIRROR_LENGTH))
- {
- define symbol CS0_SPACE_MIRROR_PRV_LENGTH = CS0_SPACE_MIRROR_LENGTH;
- }
- else
- {
- define symbol CS0_SPACE_MIRROR_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(CS2_SPACE_MIRROR_START))
- {
- define symbol CS2_SPACE_MIRROR_PRV_START = CS2_SPACE_MIRROR_START;
- }
- else
- {
- define symbol CS2_SPACE_MIRROR_PRV_START = 0;
- }
- if (isdefinedsymbol(CS2_SPACE_MIRROR_LENGTH))
- {
- define symbol CS2_SPACE_MIRROR_PRV_LENGTH = CS2_SPACE_MIRROR_LENGTH;
- }
- else
- {
- define symbol CS2_SPACE_MIRROR_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(CS3_SPACE_MIRROR_START))
- {
- define symbol CS3_SPACE_MIRROR_PRV_START = CS3_SPACE_MIRROR_START;
- }
- else
- {
- define symbol CS3_SPACE_MIRROR_PRV_START = 0;
- }
- if (isdefinedsymbol(CS3_SPACE_MIRROR_LENGTH))
- {
- define symbol CS3_SPACE_MIRROR_PRV_LENGTH = CS3_SPACE_MIRROR_LENGTH;
- }
- else
- {
- define symbol CS3_SPACE_MIRROR_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(CS5_SPACE_MIRROR_START))
- {
- define symbol CS5_SPACE_MIRROR_PRV_START = CS5_SPACE_MIRROR_START;
- }
- else
- {
- define symbol CS5_SPACE_MIRROR_PRV_START = 0;
- }
- if (isdefinedsymbol(CS5_SPACE_MIRROR_LENGTH))
- {
- define symbol CS5_SPACE_MIRROR_PRV_LENGTH = CS5_SPACE_MIRROR_LENGTH;
- }
- else
- {
- define symbol CS5_SPACE_MIRROR_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(xSPI0_CS0_SPACE_START))
- {
- define symbol xSPI0_CS0_SPACE_PRV_START = xSPI0_CS0_SPACE_START;
- }
- else
- {
- define symbol xSPI0_CS0_SPACE_PRV_START = 0;
- }
- if (isdefinedsymbol(xSPI0_CS0_SPACE_LENGTH))
- {
- define symbol xSPI0_CS0_SPACE_PRV_LENGTH = xSPI0_CS0_SPACE_LENGTH;
- }
- else
- {
- define symbol xSPI0_CS0_SPACE_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(xSPI0_CS1_SPACE_START))
- {
- define symbol xSPI0_CS1_SPACE_PRV_START = xSPI0_CS1_SPACE_START;
- }
- else
- {
- define symbol xSPI0_CS1_SPACE_PRV_START = 0;
- }
- if (isdefinedsymbol(xSPI0_CS1_SPACE_LENGTH))
- {
- define symbol xSPI0_CS1_SPACE_PRV_LENGTH = xSPI0_CS1_SPACE_LENGTH;
- }
- else
- {
- define symbol xSPI0_CS1_SPACE_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(xSPI1_CS0_SPACE_START))
- {
- define symbol xSPI1_CS0_SPACE_PRV_START = xSPI1_CS0_SPACE_START;
- }
- else
- {
- define symbol xSPI1_CS0_SPACE_PRV_START = 0;
- }
- if (isdefinedsymbol(xSPI1_CS0_SPACE_LENGTH))
- {
- define symbol xSPI1_CS0_SPACE_PRV_LENGTH = xSPI1_CS0_SPACE_LENGTH;
- }
- else
- {
- define symbol xSPI1_CS0_SPACE_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(xSPI1_CS1_SPACE_START))
- {
- define symbol xSPI1_CS1_SPACE_PRV_START = xSPI1_CS1_SPACE_START;
- }
- else
- {
- define symbol xSPI1_CS1_SPACE_PRV_START = 0;
- }
- if (isdefinedsymbol(xSPI1_CS1_SPACE_LENGTH))
- {
- define symbol xSPI1_CS1_SPACE_PRV_LENGTH = xSPI1_CS1_SPACE_LENGTH;
- }
- else
- {
- define symbol xSPI1_CS1_SPACE_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(CS0_SPACE_START))
- {
- define symbol CS0_SPACE_PRV_START = CS0_SPACE_START;
- }
- else
- {
- define symbol CS0_SPACE_PRV_START = 0;
- }
- if (isdefinedsymbol(CS0_SPACE_LENGTH))
- {
- define symbol CS0_SPACE_PRV_LENGTH = CS0_SPACE_LENGTH;
- }
- else
- {
- define symbol CS0_SPACE_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(CS2_SPACE_START))
- {
- define symbol CS2_SPACE_PRV_START = CS2_SPACE_START;
- }
- else
- {
- define symbol CS2_SPACE_PRV_START = 0;
- }
- if (isdefinedsymbol(CS2_SPACE_LENGTH))
- {
- define symbol CS2_SPACE_PRV_LENGTH = CS2_SPACE_LENGTH;
- }
- else
- {
- define symbol CS2_SPACE_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(CS3_SPACE_START))
- {
- define symbol CS3_SPACE_PRV_START = CS3_SPACE_START;
- }
- else
- {
- define symbol CS3_SPACE_PRV_START = 0;
- }
- if (isdefinedsymbol(CS3_SPACE_LENGTH))
- {
- define symbol CS3_SPACE_PRV_LENGTH = CS3_SPACE_LENGTH;
- }
- else
- {
- define symbol CS3_SPACE_PRV_LENGTH = 0;
- }
- if (isdefinedsymbol(CS5_SPACE_START))
- {
- define symbol CS5_SPACE_PRV_START = CS5_SPACE_START;
- }
- else
- {
- define symbol CS5_SPACE_PRV_START = 0;
- }
- if (isdefinedsymbol(CS5_SPACE_LENGTH))
- {
- define symbol CS5_SPACE_PRV_LENGTH = CS5_SPACE_LENGTH;
- }
- else
- {
- define symbol CS5_SPACE_PRV_LENGTH = 0;
- }
- define symbol SYSTEM_RAM_END_OFFSET = 0x00048000;
- define symbol FLASH_ADDRESS = xSPI0_CS0_SPACE_PRV_START;
- /*
- define symbol INTVEC_ADDRESS = ATCM_PRV_START;
- define symbol RAM_ADDRESS = (ATCM_PRV_START + 0x100);
- define symbol RAM_END_ADDRESS = (ATCM_PRV_START + ATCM_PRV_LENGTH - 1);
- define symbol LOADER_STACK_ADDRESS = (BTCM_PRV_START + 0x2000);
- define symbol LOADER_STACK_END_ADDRESS = (BTCM_PRV_START + BTCM_PRV_LENGTH - 1);
- define symbol DATA_NONCACHE_OFFSET = 0x00048000;
- define symbol DATA_NONCACHE_END_OFFSET = 0x00044000;
- define symbol DMAC_LINK_MODE_OFFSET = 0x00044000;
- define symbol DMAC_LINK_MODE_END_OFFSET = 0x00040000;
- define symbol NONCACHE_BUFFER_OFFSET = 0x00020000;
- define symbol NONCACHE_BUFFER_END_OFFSET = 0;
- */
- /************* Override define symbol to place EtherCAT protocol into SystemRAM ************/
- define symbol INTVEC_ADDRESS = SYSTEM_RAM_PRV_START;
- define symbol RAM_ADDRESS = (SYSTEM_RAM_PRV_START + 0x100);
- define symbol RAM_END_ADDRESS = (SYSTEM_RAM_PRV_START + SYSTEM_RAM_PRV_LENGTH - 1);
- define symbol LOADER_STACK_ADDRESS = (BTCM_PRV_START + 0x2000);
- define symbol LOADER_STACK_END_ADDRESS = (BTCM_PRV_START + BTCM_PRV_LENGTH - 1);
- define symbol DATA_NONCACHE_OFFSET = 0x00048000;
- define symbol DATA_NONCACHE_END_OFFSET = 0x00044000;
- define symbol DMAC_LINK_MODE_OFFSET = 0x00044000;
- define symbol DMAC_LINK_MODE_END_OFFSET = 0x00040000;
- define symbol NONCACHE_BUFFER_OFFSET = 0x00020000;
- define symbol NONCACHE_BUFFER_END_OFFSET = 0;
- /*********************************************************************************************/
- /*###ICF### Section handled by ICF editor, don't touch! ****/
- /*-Editor annotation file-*/
- /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */
- /*-Specials-*/
- define symbol __ICFEDIT_intvec_start__ = INTVEC_ADDRESS;
- /*-Memory Regions-*/
- define symbol __ICFEDIT_region_ROM_start__ = FLASH_ADDRESS + 0x20100;
- define symbol __ICFEDIT_region_ROM_end__ = FLASH_ADDRESS + 0x6FFFF;
- define symbol __ICFEDIT_region_RAM_start__ = RAM_ADDRESS;
- define symbol __ICFEDIT_region_RAM_end__ = RAM_END_ADDRESS;
- /**** End of ICF editor section. ###ICF###*/
- /*-Sizes-*/
- define symbol __ICFEDIT_size_cstack__ = 0x200;
- /**** End of ICF editor section. ###ICF###*/
- define memory mem with size = 4G;
- define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
- define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
- define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
- define symbol __region_D_LOADER_STACK_start__ = LOADER_STACK_ADDRESS;
- define symbol __region_D_LOADER_STACK_end__ = LOADER_STACK_END_ADDRESS;
- define symbol __region_DATA_NONCACHE_start__ = SYSTEM_RAM_MIRROR_PRV_START + SYSTEM_RAM_MIRROR_PRV_LENGTH - DATA_NONCACHE_OFFSET;
- define symbol __region_DATA_NONCACHE_end__ = SYSTEM_RAM_MIRROR_PRV_START + SYSTEM_RAM_MIRROR_PRV_LENGTH - DATA_NONCACHE_END_OFFSET - 1;
- define symbol __region_DMAC_LINK_MODE_start__ = SYSTEM_RAM_MIRROR_PRV_START + SYSTEM_RAM_MIRROR_PRV_LENGTH - DMAC_LINK_MODE_OFFSET;
- define symbol __region_DMAC_LINK_MODE_end__ = SYSTEM_RAM_MIRROR_PRV_START + SYSTEM_RAM_MIRROR_PRV_LENGTH - DMAC_LINK_MODE_END_OFFSET - 1;
- define symbol __region_SHARED_NONCACHE_BUFFER_start__ = SYSTEM_RAM_MIRROR_PRV_START + SYSTEM_RAM_MIRROR_PRV_LENGTH - 0x00040000;
- define symbol __region_SHARED_NONCACHE_BUFFER_end__ = SYSTEM_RAM_MIRROR_PRV_START + SYSTEM_RAM_MIRROR_PRV_LENGTH - 0x00020000 - 1;
- define symbol __region_NONCACHE_BUFFER_start__ = SYSTEM_RAM_MIRROR_PRV_START + SYSTEM_RAM_MIRROR_PRV_LENGTH - NONCACHE_BUFFER_OFFSET;
- define symbol __region_NONCACHE_BUFFER_end__ = SYSTEM_RAM_MIRROR_PRV_START + SYSTEM_RAM_MIRROR_PRV_LENGTH - NONCACHE_BUFFER_END_OFFSET - 1;
- define symbol __region_ATCM_start__ = ATCM_PRV_START;
- define symbol __region_ATCM_end__ = ATCM_PRV_START + ATCM_PRV_LENGTH - 1;
- define symbol __region_BTCM_start__ = BTCM_PRV_START;
- define symbol __region_BTCM_end__ = BTCM_PRV_START + BTCM_PRV_LENGTH - 1;
- define symbol __region_SYSTEM_RAM_start__ = SYSTEM_RAM_PRV_START;
- define symbol __region_SYSTEM_RAM_end__ = SYSTEM_RAM_PRV_START + SYSTEM_RAM_PRV_LENGTH - SYSTEM_RAM_END_OFFSET - 1;
- define symbol __region_SYSTEM_RAM_MIRROR_start__ = SYSTEM_RAM_MIRROR_PRV_START;
- define symbol __region_SYSTEM_RAM_MIRROR_end__ = SYSTEM_RAM_MIRROR_PRV_START + SYSTEM_RAM_MIRROR_PRV_LENGTH - SYSTEM_RAM_END_OFFSET - 1;
- define symbol __region_XSPI0_CS0_MIRROR_start__ = xSPI0_CS0_SPACE_MIRROR_PRV_START;
- define symbol __region_XSPI0_CS0_MIRROR_end__ = xSPI0_CS0_SPACE_MIRROR_PRV_START + xSPI0_CS0_SPACE_MIRROR_PRV_LENGTH - 1;
- define symbol __region_XSPI0_CS1_MIRROR_start__ = xSPI0_CS1_SPACE_MIRROR_PRV_START;
- define symbol __region_XSPI0_CS1_MIRROR_end__ = xSPI0_CS1_SPACE_MIRROR_PRV_START + xSPI0_CS1_SPACE_MIRROR_PRV_LENGTH - 1;
- define symbol __region_XSPI1_CS0_MIRROR_start__ = xSPI1_CS0_SPACE_MIRROR_PRV_START;
- define symbol __region_XSPI1_CS0_MIRROR_end__ = xSPI1_CS0_SPACE_MIRROR_PRV_START + xSPI1_CS0_SPACE_MIRROR_PRV_LENGTH - 1;
- define symbol __region_XSPI1_CS1_MIRROR_start__ = xSPI1_CS1_SPACE_MIRROR_PRV_START;
- define symbol __region_XSPI1_CS1_MIRROR_end__ = xSPI1_CS1_SPACE_MIRROR_PRV_START + xSPI1_CS1_SPACE_MIRROR_PRV_LENGTH - 1;
- define symbol __region_CS0_MIRROR_start__ = CS0_SPACE_MIRROR_PRV_START;
- define symbol __region_CS0_MIRROR_end__ = CS0_SPACE_MIRROR_PRV_START + CS0_SPACE_MIRROR_PRV_LENGTH - 1;
- define symbol __region_CS2_MIRROR_start__ = CS2_SPACE_MIRROR_PRV_START;
- define symbol __region_CS2_MIRROR_end__ = CS2_SPACE_MIRROR_PRV_START + CS2_SPACE_MIRROR_PRV_LENGTH - 1;
- define symbol __region_CS3_MIRROR_start__ = CS3_SPACE_MIRROR_PRV_START;
- define symbol __region_CS3_MIRROR_end__ = CS3_SPACE_MIRROR_PRV_START + CS3_SPACE_MIRROR_PRV_LENGTH - 1;
- define symbol __region_CS5_MIRROR_start__ = CS5_SPACE_MIRROR_PRV_START;
- define symbol __region_CS5_MIRROR_end__ = CS5_SPACE_MIRROR_PRV_START + CS5_SPACE_MIRROR_PRV_LENGTH - 1;
- define symbol __region_XSPI0_CS0_start__ = xSPI0_CS0_SPACE_PRV_START;
- define symbol __region_XSPI0_CS0_end__ = xSPI0_CS0_SPACE_PRV_START + xSPI0_CS0_SPACE_PRV_LENGTH - 1;
- define symbol __region_XSPI0_CS1_start__ = xSPI0_CS1_SPACE_PRV_START;
- define symbol __region_XSPI0_CS1_end__ = xSPI0_CS1_SPACE_PRV_START + xSPI0_CS1_SPACE_PRV_LENGTH - 1;
- define symbol __region_XSPI1_CS0_start__ = xSPI1_CS0_SPACE_PRV_START;
- define symbol __region_XSPI1_CS0_end__ = xSPI1_CS0_SPACE_PRV_START + xSPI1_CS0_SPACE_PRV_LENGTH - 1;
- define symbol __region_XSPI1_CS1_start__ = xSPI1_CS1_SPACE_PRV_START;
- define symbol __region_XSPI1_CS1_end__ = xSPI1_CS1_SPACE_PRV_START + xSPI1_CS1_SPACE_PRV_LENGTH - 1;
- define symbol __region_CS0_start__ = CS0_SPACE_PRV_START;
- define symbol __region_CS0_end__ = CS0_SPACE_PRV_START + CS0_SPACE_PRV_LENGTH - 1;
- define symbol __region_CS2_start__ = CS2_SPACE_PRV_START;
- define symbol __region_CS2_end__ = CS2_SPACE_PRV_START + CS2_SPACE_PRV_LENGTH - 1;
- define symbol __region_CS3_start__ = CS3_SPACE_PRV_START;
- define symbol __region_CS3_end__ = CS3_SPACE_PRV_START + CS3_SPACE_PRV_LENGTH - 1;
- define symbol __region_CS5_start__ = CS5_SPACE_PRV_START;
- define symbol __region_CS5_end__ = CS5_SPACE_PRV_START + CS5_SPACE_PRV_LENGTH - 1;
- /************** SPI boot mode setting **************/
- define symbol __region_LDR_PARAM_start__ = FLASH_ADDRESS;
- define symbol __region_LDR_PARAM_end__ = FLASH_ADDRESS + 0x0000004B;
- define symbol __region_S_LOADER_STACK_start__ = FLASH_ADDRESS + 0x0000004C;
- define symbol __region_S_LOADER_STACK_end__ = FLASH_ADDRESS + 0x0000804B;
- define symbol __region_S_intvec_start__ = FLASH_ADDRESS + 0x20000;
- define symbol __region_S_intvec_end__ = FLASH_ADDRESS + 0x200FF;
- define symbol __region_S_RAM_start__ = FLASH_ADDRESS + 0x70000;
- define symbol __region_S_RAM_end__ = FLASH_ADDRESS + 0x7FFFF;
- /****************************************************/
- define region D_LOADER_STACK_region = mem:[from __region_D_LOADER_STACK_start__ to __region_D_LOADER_STACK_end__];
- define region LDR_PARAM_region = mem:[from __region_LDR_PARAM_start__ to __region_LDR_PARAM_end__];
- define region S_LOADER_STACK_region = mem:[from __region_S_LOADER_STACK_start__ to __region_S_LOADER_STACK_end__];
- define region S_intvec_region = mem:[from __region_S_intvec_start__ to __region_S_intvec_end__];
- define region S_RAM_region = mem:[from __region_S_RAM_start__ to __region_S_RAM_end__];
- define region DATA_NONCACHE_region = mem:[from __region_DATA_NONCACHE_start__ to __region_DATA_NONCACHE_end__];
- define region DMAC_LINK_MODE_region = mem:[from __region_DMAC_LINK_MODE_start__ to __region_DMAC_LINK_MODE_end__];
- define region SHARED_NONCACHE_BUFFER_region = mem:[from __region_SHARED_NONCACHE_BUFFER_start__ to __region_SHARED_NONCACHE_BUFFER_end__];
- define region NONCACHE_BUFFER_region = mem:[from __region_NONCACHE_BUFFER_start__ to __region_NONCACHE_BUFFER_end__];
- define region ATCM_region = mem:[from __region_ATCM_start__ to __region_ATCM_end__ ];
- define region BTCM_region = mem:[from __region_BTCM_start__ to __region_BTCM_end__ ];
- define region SYSTEM_RAM_region = mem:[from __region_SYSTEM_RAM_start__ to __region_SYSTEM_RAM_end__ ];
- define region SYSTEM_RAM_MIRROR_region = mem:[from __region_SYSTEM_RAM_MIRROR_start__ to __region_SYSTEM_RAM_MIRROR_end__ ];
- define region XSPI0_CS0_MIRROR_region = mem:[from __region_XSPI0_CS0_MIRROR_start__ to __region_XSPI0_CS0_MIRROR_end__ ];
- define region XSPI0_CS1_MIRROR_region = mem:[from __region_XSPI0_CS1_MIRROR_start__ to __region_XSPI0_CS1_MIRROR_end__ ];
- define region XSPI1_CS0_MIRROR_region = mem:[from __region_XSPI1_CS0_MIRROR_start__ to __region_XSPI1_CS0_MIRROR_end__ ];
- define region XSPI1_CS1_MIRROR_region = mem:[from __region_XSPI1_CS1_MIRROR_start__ to __region_XSPI1_CS1_MIRROR_end__ ];
- define region CS0_MIRROR_region = mem:[from __region_CS0_MIRROR_start__ to __region_CS0_MIRROR_end__ ];
- define region CS2_MIRROR_region = mem:[from __region_CS2_MIRROR_start__ to __region_CS2_MIRROR_end__ ];
- define region CS3_MIRROR_region = mem:[from __region_CS3_MIRROR_start__ to __region_CS3_MIRROR_end__ ];
- define region CS5_MIRROR_region = mem:[from __region_CS5_MIRROR_start__ to __region_CS5_MIRROR_end__ ];
- define region XSPI0_CS0_region = mem:[from __region_XSPI0_CS0_start__ to __region_XSPI0_CS0_end__ ];
- define region XSPI0_CS1_region = mem:[from __region_XSPI0_CS1_start__ to __region_XSPI0_CS1_end__ ];
- define region XSPI1_CS0_region = mem:[from __region_XSPI1_CS0_start__ to __region_XSPI1_CS0_end__ ];
- define region XSPI1_CS1_region = mem:[from __region_XSPI1_CS1_start__ to __region_XSPI1_CS1_end__ ];
- define region CS0_region = mem:[from __region_CS0_start__ to __region_CS0_end__ ];
- define region CS2_region = mem:[from __region_CS2_start__ to __region_CS2_end__ ];
- define region CS3_region = mem:[from __region_CS3_start__ to __region_CS3_end__ ];
- define region CS5_region = mem:[from __region_CS5_start__ to __region_CS5_end__ ];
- define block LDR_PRG_RBLOCK with fixed order
- { ro code section .loader_text_init object startup_core.o,
- ro code object startup_core.o,
- ro code object system_core.o,
- ro code object startup.o,
- ro code object system.o,
- ro code object bsp_clocks.o,
- ro code object bsp_irq_core.o,
- ro code object bsp_irq.o,
- ro code object bsp_register_protection.o,
- ro code object r_ioport.o,
- ro code object bsp_cache.o,
- ro code section .warm_start_init }
- except { ro code section .intvec_init,
- ro code section .reset_handler_init };
- define block LDR_PRG_WBLOCK with fixed order
- { rw code section .loader_text object startup_core.o,
- rw code object startup_core.o,
- rw code object system_core.o,
- rw code object startup.o,
- rw code object system.o,
- rw code object bsp_clocks.o,
- rw code object bsp_irq_core.o,
- rw code object bsp_irq.o,
- rw code object bsp_register_protection.o,
- rw code object r_ioport.o,
- rw code object bsp_cache.o,
- rw code section .warm_start }
- except { rw code section .intvec,
- rw code section .reset_handler };
- define block LDR_DATA_ZBLOCK with alignment = 4
- { section .bss object startup_core.o,
- section .bss object system_core.o,
- section .bss object startup.o,
- section .bss object system.o,
- section .bss object bsp_clocks.o,
- section .bss object bsp_irq_core.o,
- section .bss object bsp_irq.o,
- section .bss object bsp_register_protection.o,
- section .bss object r_ioport.o,
- section .bss object bsp_cache.o,
- section .bss object bsp_io.o };
- define block LDR_DATA_RBLOCK with fixed order, alignment = 4
- { section .data_init object startup_core.o,
- section .data_init object system_core.o,
- section .data_init object startup.o,
- section .data_init object system.o,
- section .data_init object bsp_clocks.o,
- section .data_init object bsp_irq_core.o,
- section .data_init object bsp_irq.o,
- section .data_init object bsp_register_protection.o,
- section .data_init object r_ioport.o,
- section .data_init object bsp_cache.o,
- section .rodata_init object system_core.o };
- define block LDR_DATA_WBLOCK with fixed order, alignment = 4
- { section .data object startup_core.o,
- section .data object system_core.o,
- section .data object startup.o,
- section .data object system.o,
- section .data object bsp_clocks.o,
- section .data object bsp_irq_core.o,
- section .data object bsp_irq.o,
- section .data object bsp_register_protection.o,
- section .data object r_ioport.o,
- section .data object bsp_cache.o,
- section .rodata object system_core.o };
- define block HEAP_BLOCK with alignment = 8 { rw section HEAP };
- define block THREAD_STACK with alignment = 8 { rw section .stack* };
- define block SYS_STACK with alignment = 8 { rw section .sys_stack };
- define block SVC_STACK with alignment = 8 { rw section .svc_stack };
- define block IRQ_STACK with alignment = 8 { rw section .irq_stack };
- define block FIQ_STACK with alignment = 8 { rw section .fiq_stack };
- define block UND_STACK with alignment = 8 { rw section .und_stack };
- define block ABT_STACK with alignment = 8 { rw section .abt_stack };
- define block VECTOR_RBLOCK with alignment = 32 { ro code section .intvec_init};
- define block VECTOR_WBLOCK with alignment = 32 { rw code section .intvec};
- define block USER_PRG_RBLOCK with alignment = 4 { ro code };
- define block USER_PRG_WBLOCK with alignment = 4 { rw code };
- define block USER_DATA_ZBLOCK with alignment = 4 { section .bss };
- define block USER_DATA_RBLOCK with fixed order, alignment = 4
- { section .data_init,
- section __DLIB_PERTHREAD_init,
- section .rodata_init,
- section .version_init };
- define block USER_DATA_WBLOCK with fixed order, alignment = 4
- { section .data,
- section __DLIB_PERTHREAD,
- section .rodata,
- section .version };
- define block USER_DATA_NONCACHE_RBLOCK with alignment = 4 { section .data_noncache_init };
- define block USER_DATA_NONCACHE_WBLOCK with alignment = 4 { section .data_noncache };
- define block DMAC_LINK_MODE_ZBLOCK with alignment = 4 { section .dmac_link_mode* };
- define block SHARED_NONCACHE_BUFFER_ZBLOCK with alignment = 32 { section .shared_noncache_buffer* };
- define block NONCACHE_BUFFER_ZBLOCK with alignment = 32 { section .noncache_buffer* };
- initialize manually { ro code object startup_core.o,
- ro code object system_core.o,
- ro code object startup.o,
- ro code object system.o,
- ro code object bsp_clocks.o,
- ro code object bsp_irq_core.o,
- ro code object bsp_irq.o,
- ro code object bsp_register_protection.o,
- ro code object r_ioport.o,
- ro code object bsp_cache.o,
- ro code section .intvec,
- ro code section .reset_handler,
- ro code section .warm_start,
- ro code,
- section .data,
- section __DLIB_PERTHREAD,
- section .rodata,
- section .version,
- section .data_noncache };
- do not initialize { section .noinit,
- section .bss,
- section .dmac_link_mode*,
- section .shared_noncache_buffer*,
- section .noncache_buffer*,
- rw section HEAP,
- rw section .stack*,
- rw section .sys_stack,
- rw section .svc_stack,
- rw section .irq_stack,
- rw section .fiq_stack,
- rw section .und_stack,
- rw section .abt_stack };
- place at address mem: __ICFEDIT_intvec_start__ { block VECTOR_WBLOCK };
- place in LDR_PARAM_region { readonly section .loader_param };
- place at start of S_LOADER_STACK_region { block LDR_PRG_RBLOCK };
- place in S_LOADER_STACK_region { section LDR_DATA_RBLOCK, block LDR_DATA_RBLOCK };
- place in S_intvec_region { block VECTOR_RBLOCK };
- place in ROM_region { block USER_PRG_RBLOCK, readonly };
- place in S_RAM_region { block USER_DATA_RBLOCK, block USER_DATA_NONCACHE_RBLOCK };
- place at start of D_LOADER_STACK_region { block LDR_PRG_WBLOCK };
- place in D_LOADER_STACK_region { section LDR_DATA_WBLOCK, block LDR_DATA_WBLOCK,
- section LDR_DATA_ZBLOCK, block LDR_DATA_ZBLOCK };
- place in D_LOADER_STACK_region { section SYS_STACK, block SYS_STACK,
- section SVC_STACK, block SVC_STACK,
- section IRQ_STACK, block IRQ_STACK,
- section FIQ_STACK, block FIQ_STACK,
- section UND_STACK, block UND_STACK,
- section ABT_STACK, block ABT_STACK };
- place in RAM_region { block USER_PRG_WBLOCK };
- place in RAM_region { readwrite, last block CSTACK };
- place in RAM_region { block USER_DATA_WBLOCK,
- block USER_DATA_ZBLOCK };
- place in RAM_region { section HEAP_BLOCK, block HEAP_BLOCK,
- section THREAD_STACK, block THREAD_STACK };
- place in DATA_NONCACHE_region { block USER_DATA_NONCACHE_WBLOCK };
- place in DMAC_LINK_MODE_region { block DMAC_LINK_MODE_ZBLOCK };
- place in SHARED_NONCACHE_BUFFER_region { block SHARED_NONCACHE_BUFFER_ZBLOCK };
- place in NONCACHE_BUFFER_region { block NONCACHE_BUFFER_ZBLOCK };
- place in ATCM_region { };
- place in BTCM_region { };
- place in SYSTEM_RAM_region { };
- place in SYSTEM_RAM_MIRROR_region { };
- place in XSPI0_CS0_MIRROR_region { };
- place in XSPI0_CS1_MIRROR_region { };
- place in XSPI1_CS0_MIRROR_region { };
- place in XSPI1_CS1_MIRROR_region { };
- place in CS0_MIRROR_region { };
- place in CS2_MIRROR_region { };
- place in CS3_MIRROR_region { };
- place in CS5_MIRROR_region { };
- place in XSPI0_CS0_region { };
- place in XSPI0_CS1_region { };
- place in XSPI1_CS0_region { };
- place in XSPI1_CS1_region { };
- place in CS0_region { };
- place in CS2_region { };
- place in CS3_region { };
- place in CS5_region { };
|