打印

大家帮忙分析分析原因

[复制链接]
888|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
boy1990|  楼主 | 2016-1-31 16:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
bootloader烧写程序以后跳转不到应用程序
/* System memory map */

MEMORY
{
    CSM_ECSL_Z1     : origin = 0x00200000, length = 0x0024
    CSM_RSVD_Z1     : origin = 0x00200024, length = 0x000C
    RESETISR (RX)   : origin = 0x00200030, length = 0x0008   /* Reset ISR is mapped to boot to Flash location */
    INTVECS (RX)    : origin = 0x00201000, length = 0x01B0
    FLASHLOAD (RX)  : origin = 0x00201200, length = 0x2E00   /* For storing code in Flash to copy to RAM at runtime */
    FLASH (RX)     : origin = 0x00204000, length = 0x1C000
    CSM_RSVD_Z2     : origin = 0x0027FFD0, length = 0x000C
    CSM_ECSL_Z2     : origin = 0x0027FFDC, length = 0x0024
    C0 (RWX)        : origin = 0x20000000, length = 0x2000
    BOOT_RSVD (RX)  : origin = 0x20004000, length = 0x0900
    C1 (RWX)        : origin = 0x20004900, length = 0x1700
    CTOMRAM (RX)    : origin = 0x2007F000, length = 0x0800
    MTOCRAM (RWX)   : origin = 0x2007F800, length = 0x0800
}

/* Section allocation in memory */

SECTIONS
{
    .intvecs:   > INTVECS
    .resetisr:  > RESETISR
    .text   :   >> FLASH
    .const  :   >> FLASH
    .cinit  :   >  FLASH
    .pinit  :   >> FLASH

    .vtable :   >  C0
    .data   :   >  C1
    .bss    :   >> C1
    .sysmem :   >  C0 | C1
    .stack  :   >  C0 | C1

    .z1secvalues  :   >  CSM_ECSL_Z1
    .z1_csm_rsvd  :   >  CSM_RSVD_Z1
    .z2secvalues  :   >  CSM_ECSL_Z2
    .z2_csm_rsvd  :   >  CSM_RSVD_Z2


     GROUP
     {
     ramfuncs
     { -l F021_API_CortexM3_LE.lib}
     }LOAD = FLASHLOAD,
      RUN = C0,
      LOAD_START(RamfuncsLoadStart),
      LOAD_SIZE(RamfuncsLoadSize),
      RUN_START(RamfuncsRunStart),
      PAGE = 0

    GROUP : > MTOCRAM
    {
        PUTBUFFER
        PUTWRITEIDX
        GETREADIDX
    }

     GROUP : > CTOMRAM
    {
        GETBUFFER : TYPE = DSECT
        GETWRITEIDX : TYPE = DSECT
        PUTREADIDX : TYPE = DSECT
    }
}

__STACK_TOP = __stack + 256;





//////////////////////////////////////////////////应用程序CMD文件/////////////////////////////////////////////////////

/*
//###########################################################################
// FILE:    F28M35x_generic_M3_FLASH.cmd
// TITLE:   Linker Command File for F28M35x examples that run out of FLASH
//###########################################################################
// $TI Release: F28M35x Support Library v140 $
// $Release Date: Tue Jul  3 09:38:11 CDT 2012 $
//###########################################################################
*/

--retain=g_pfnVectors

/* The following command line options are set as part of the CCS project.    */
/* If you are building using the command line, or for some reason want to    */
/* define them here, you can uncomment and modify these lines as needed.     */
/* If you are using CCS for building, it is probably better to make any such */
/* modifications in your CCS project and leave this file alone.              */
/*                                                                           */
/* --heap_size=0                                                             */
/* --stack_size=256                                                          */
/* --library=rtsv7M3_T_le_eabi.lib                                           */


/* The following options allow the user to program Z1 and Z2 DCSM security   */
/* values, include CSM PSWD, ECSL PSWD, GRABSECT, GRABRAM, and FLASH EXEONLY */
/* The driverlib/dcsm_z1_secvalues.s and driverlib/dcsm_z2_secvalues.s files */
/* must be included in the Flash project for the below 2 lines to take       */
/* effect.                                                                   */
--retain=dcsm_z1_secvalues.obj(.z1secvalues,.z1_csm_rsvd)
--retain=dcsm_z2_secvalues.obj(.z2secvalues,.z2_csm_rsvd)

/* System memory map */

MEMORY
{
    CSM_ECSL_Z1     : origin = 0x00200000, length = 0x0024
    CSM_RSVD_Z1     : origin = 0x00200024, length = 0x000C
    RESETISR (RX)   : origin = 0x00260000, length = 0x0008   /* Reset ISR is mapped to boot to Flash location */
    INTVECS (RX)    : origin = 0x00261000, length = 0x01B0
    FLASHLOAD (RX)  : origin = 0x00261200, length = 0x2E00   /* For storing code in Flash to copy to RAM at runtime */
    DEFINE_FLASH (RX)     : origin = 0x00264000, length = 0x18000
    CSM_RSVD_Z2     : origin = 0x0027FF00, length = 0x00DC
    CSM_ECSL_Z2     : origin = 0x0027FFDC, length = 0x0024
    DEFINE_RAM0 (RWX)        : origin = 0x20002000, length = 0x2000
    DEFINE_RAM1 (RWX)        : origin = 0x20006000, length = 0x2000
    CTOMRAM (RX)    : origin = 0x2007F000, length = 0x0800
    MTOCRAM (RWX)   : origin = 0x2007F800, length = 0x0800
}

/* Section allocation in memory */

SECTIONS
{
    .intvecs:   > INTVECS
    .resetisr:  > RESETISR
    .text   :   >> DEFINE_FLASH
    .const  :   >> DEFINE_FLASH
    .cinit  :   >  DEFINE_FLASH
    .pinit  :   >> DEFINE_FLASH

    .vtable :   >  DEFINE_RAM0 | DEFINE_RAM1
    .data   :   >  DEFINE_RAM1
    .bss    :   >> DEFINE_RAM1
    .sysmem :   >  DEFINE_RAM0 | DEFINE_RAM1
    .stack  :   >  DEFINE_RAM0 | DEFINE_RAM1

    .z1secvalues  :   >  CSM_ECSL_Z1
    .z1_csm_rsvd  :   >  CSM_RSVD_Z1
    .z2secvalues  :   >  CSM_ECSL_Z2
    .z2_csm_rsvd  :   >  CSM_RSVD_Z2


     ramfuncs            : LOAD = FLASHLOAD,
                           RUN = DEFINE_RAM0,
                           LOAD_START(RamfuncsLoadStart),
                           LOAD_SIZE(RamfuncsLoadSize),
                           RUN_START(RamfuncsRunStart),
                           PAGE = 0

    GROUP : > MTOCRAM
    {
        PUTBUFFER  
        PUTWRITEIDX
        GETREADIDX  
    }

     GROUP : > CTOMRAM
    {
        GETBUFFER : TYPE = DSECT
        GETWRITEIDX : TYPE = DSECT
        PUTREADIDX : TYPE = DSECT
    }   
}

沙发
bbapple| | 2016-1-31 17:05 | 只看该作者
建议你可以查一下堆栈中保存的异常发生的地址和异常寄存器来分析具体原因。。。

使用特权

评论回复
板凳
xia00| | 2016-1-31 17:16 | 只看该作者
我想,可能是跳转时 新地址 和mcu设置的问题, 还有中断向量表地址.可以想想:lol

使用特权

评论回复
地板
CallReceiver| | 2016-1-31 17:17 | 只看该作者
内容太多, 不在这里啰嗦, 建议查一下专业手册吧

使用特权

评论回复
5
sourceInsight| | 2016-1-31 17:25 | 只看该作者
内容太多, 不在这里啰嗦, 建议还是查一下专业手册吧!!!

使用特权

评论回复
6
boy1990|  楼主 | 2016-1-31 17:26 | 只看该作者
CallReceiver 发表于 2016-1-31 17:17
内容太多, 不在这里啰嗦, 建议查一下专业手册吧

如何查看啊?哪里有专业的啊

使用特权

评论回复
7
boy1990|  楼主 | 2016-1-31 17:27 | 只看该作者
bbapple 发表于 2016-1-31 17:05
建议你可以查一下堆栈中保存的异常发生的地址和异常寄存器来分析具体原因。。。 ...

好的 ,多谢,我试试看。。。

使用特权

评论回复
8
handleMessage| | 2016-1-31 17:35 | 只看该作者
感觉这个太深奥了啊。。。我不很清楚。。

使用特权

评论回复
9
zhouhuanの| | 2016-1-31 17:41 | 只看该作者

看下faultISR中断的相关问题的吧。。。。

使用特权

评论回复
10
hfdy01| | 2016-1-31 17:48 | 只看该作者
看下这个中断响应后其中断标志的清除没,否则会一直相应中断的。。

使用特权

评论回复
11
rreedd00| | 2016-1-31 18:16 | 只看该作者

楼主解决了没?我也遇到过这种问题。

使用特权

评论回复
12
feiqi1| | 2016-1-31 18:22 | 只看该作者
不知道如何进入引导程序(不用硬件引导),在软件上面该如何处理啊??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

81

主题

1769

帖子

2

粉丝