您的位置:首页 > 其它

keil分散加载文件sct写法

2016-12-28 08:37 288 查看
//---------------------------------------------------------------------------------------------------

分散加载文件(scatter file):该文件用来指定ARM链接器在生成可执行文件时如何分配RO\RW\ZI等数据的存放地址

分散加载区域分为两部分:加载区;执行区。每个加载区可以创建一个或多个执行区

//---------------------------------------------------------------------------------------------------

一个标准的分散加载文件(KL25):

    LR_IROM1 0x00000000 0x00020000              ; 第一个加载区,名为LR_IROM1,起始地址0x00000000,长度0x00020000    //这个加载区其实就是KL25的flash,128k

    {        

        ER_IROM1 0x00000000 0x00020000          ; 第一个加载区中的第一个执行区,名为ER_IROM1,起始地址0x00000000,长度0x00020000    //第一个执行区其实就是整个flash

        {      

            *.o (RESET, +First)                    ; *.o:匹配所有目标        ; RESET:汇编中定义的段名    ; +First:指定RESET段存放在执行区的起始位置    //这里其实就是程序的入口

            *(InRoot$$Sections)                    

            .ANY (+RO)                            ; .ANY:匹配所有目标文件和库        ; +RO:只读属性        //其实就是把所有的剩余代码和常量存放在这里

        }

        RW_IRAM1 0x1FFFF000 0x00001000          ; 第一个加载区中的第二个执行区,名为RW_IRAM1,起始地址0x1ffff000,长度0x00001000    //第二个执行区其实就是KL25的低地址RAM片,4k,KL25RAM分为2片

        {  

            .ANY (+RW +ZI)                        ; +RW +ZI:所有变量

        }

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: