keil分散加载文件sct写法

    xiaoxiao2021-03-26  41

    //--------------------------------------------------------------------------------------------------- 分散加载文件(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:所有变量         }     }
    转载请注明原文地址: https://ju.6miu.com/read-350376.html

    最新回复(0)