This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Flash programming problem

I've finished debugging my program in RAM memory with keil monitor166 and everything works perfect,now I am trying to run it from flash. It writes into flash well, but when I am trying to start executing the program is executing just a part of my program do you have an idea about this problem, how can i configure my flash memory so that my program will work fine?

Parents
  • L166 LINKER/LOCATER V5.25 04/28/2009 16:12:17 PAGE 1

    L166 LINKER/LOCATER V5.25, INVOKED BY:
    C:\KEIL\C166\BIN\L166.EXE START167.obj, IO.obj, MAIN.obj, ASC.obj, GT2.obj, GT1.obj, INT.obj TO asyncron CLASSES (NCONST
    >> (00000H-03FFFH), NDATA (04000H-07FFFH), NDATA0 (04000H-07FFFH), SDATA (0C000H-0FFFFH), SDATA0 (0C000H-0FFFFH), IDATA
    >> (0FA00H-0FDFFH), IDATA0 (0FA00H-0FDFFH), BIT (0FD00H-0FDFFH), BIT0 (0FD00H-0FDFFH), BDATA (0FD00H-0FDFFH), BDATA0 (0
    >> FD00H-0FDFFH))

    CPU TYPE: C167 or derivative
    CPU MODE: SEGMENTED
    MEMORY MODEL: MEDIUM

    INPUT MODULES INCLUDED: START167.obj (?C_STARTUP) COMMENT TYPE 128: A166 V5.33 IO.obj (IO) COMMENT TYPE 128: C166 V6.18 MAIN.obj (MAIN) COMMENT TYPE 128: C166 V6.18 ASC.obj (ASC) COMMENT TYPE 128: C166 V6.18 GT2.obj (GT2) COMMENT TYPE 128: C166 V6.18 GT1.obj (GT1) COMMENT TYPE 128: C166 V6.18 INT.obj (INT) COMMENT TYPE 128: C166 V6.18 C:\KEIL\C166\LIB\C167M.LIB (?C_ENDINIT) COMMENT TYPE 128: A166 V5.32

    INTERRUPT PROCEDURES OF MODULE: asyncron (?C_STARTUP)

    INTERRUPT PROCEDURE INT INTERRUPT NAME
    =======================================================
    ?C_RESET 0 RESET
    ASC_viIsrTx 42 ---
    ASC_viIsrRx 43 ---
    ASC_viIsrTxBuf 71 ---
    GT2_viIsrTmr6 38 ---
    GT2_viIsrTmr5 37 ---
    GT1_viIsrTmr2 34 ---

    MEMORY MAP OF MODULE: asyncron (?C_STARTUP)

    START STOP LENGTH TYPE RTYP ALIGN TGR GRP COMB CLASS SECTION NAME
    =====================================================================================
    000000H 000003H 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000004H 000013H 000010H CODE REL WORD --- --- PUBL FCODE ?PR?IO
    000014H 000021H 00000EH XDATA REL WORD --- --- GLOB --- ?C_INITSEC
    000022H 000041H 000020H CODE REL WORD --- --- PUBL FCODE ?PR?GT1
    000042H 000049H 000008H CODE REL WORD --- --- PUBL FCODE ?PR?INT
    00004AH 000057H 00000EH CONST ABS WORD --- --- PRIV --- ?C_CLRMEMSEC
    000088H 00008BH 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000094H 00009BH 000008H --- --- --- --- --- --- * INTVECTOR TABLE *
    L166 LINKER/LOCATER V5.25 04/28/2009 16:12:17 PAGE 2

    0000A8H 0000AFH 000008H --- --- --- --- --- --- * INTVECTOR TABLE *
    00011CH 00011FH 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000120H 00023FH 000120H CODE REL WORD --- --- PRIV ICODE ?C_STARTUP_CODE
    000240H 0004B5H 000276H CODE REL WORD --- --- PUBL FCODE ?PR?MAIN
    0004B6H 000549H 000094H CODE REL WORD --- --- PUBL FCODE ?PR?ASC
    00054AH 0005EFH 0000A6H CODE REL WORD --- --- PUBL FCODE ?PR?GT2
    004000H 0041FFH 000200H DATA REL WORD --- 1 PUBL NDATA ?C_USERSTACK
    004200H 004217H 000018H DATA REL WORD --- 1 PUBL NDATA0 ?ND0?MAIN
    004218H 004219H 000002H DATA REL WORD --- 1 PUBL NDATA0 ?ND0?GT1
    00421AH 00421AH 000001H DATA REL BYTE --- 1 PUBL NDATA0 ?ND0?GT2
    00F800H 00FBFFH 000400H --- --- --- --- --- --- * SYSTEM STACK *
    00FC00H 00FC1FH 000020H DATA --- BYTE --- --- --- *REG* ?C_MAINREGISTERS

    GROUP LIST OF MODULE: asyncron (?C_STARTUP)

    GROUP NAME TYPE TGR GRP CLASS SECTION NAME
    =============================================================================
    NDATA DATA --- 1 NDATA ?C_USERSTACK NDATA0 ?ND0?MAIN NDATA0 ?ND0?GT2 NDATA0 ?ND0?GT1

    I use the 6.18 version of compiler and i use timer interrupts and asyncron interrupt, yes for smaller programs it works fine.

    I use the application to create a pwm signal and it crash after the first blink of my led control.

    I've tried to change the adresses from user classes and i've also tried to check the "use memory layout from target dialog" but still doesn't work.

    I use a c163 16F-25F.

    I hope these pieces of information will help you to give me an answer because i'm really new in this and i can't figure out the problem.

    thank you very much

Reply
  • L166 LINKER/LOCATER V5.25 04/28/2009 16:12:17 PAGE 1

    L166 LINKER/LOCATER V5.25, INVOKED BY:
    C:\KEIL\C166\BIN\L166.EXE START167.obj, IO.obj, MAIN.obj, ASC.obj, GT2.obj, GT1.obj, INT.obj TO asyncron CLASSES (NCONST
    >> (00000H-03FFFH), NDATA (04000H-07FFFH), NDATA0 (04000H-07FFFH), SDATA (0C000H-0FFFFH), SDATA0 (0C000H-0FFFFH), IDATA
    >> (0FA00H-0FDFFH), IDATA0 (0FA00H-0FDFFH), BIT (0FD00H-0FDFFH), BIT0 (0FD00H-0FDFFH), BDATA (0FD00H-0FDFFH), BDATA0 (0
    >> FD00H-0FDFFH))

    CPU TYPE: C167 or derivative
    CPU MODE: SEGMENTED
    MEMORY MODEL: MEDIUM

    INPUT MODULES INCLUDED: START167.obj (?C_STARTUP) COMMENT TYPE 128: A166 V5.33 IO.obj (IO) COMMENT TYPE 128: C166 V6.18 MAIN.obj (MAIN) COMMENT TYPE 128: C166 V6.18 ASC.obj (ASC) COMMENT TYPE 128: C166 V6.18 GT2.obj (GT2) COMMENT TYPE 128: C166 V6.18 GT1.obj (GT1) COMMENT TYPE 128: C166 V6.18 INT.obj (INT) COMMENT TYPE 128: C166 V6.18 C:\KEIL\C166\LIB\C167M.LIB (?C_ENDINIT) COMMENT TYPE 128: A166 V5.32

    INTERRUPT PROCEDURES OF MODULE: asyncron (?C_STARTUP)

    INTERRUPT PROCEDURE INT INTERRUPT NAME
    =======================================================
    ?C_RESET 0 RESET
    ASC_viIsrTx 42 ---
    ASC_viIsrRx 43 ---
    ASC_viIsrTxBuf 71 ---
    GT2_viIsrTmr6 38 ---
    GT2_viIsrTmr5 37 ---
    GT1_viIsrTmr2 34 ---

    MEMORY MAP OF MODULE: asyncron (?C_STARTUP)

    START STOP LENGTH TYPE RTYP ALIGN TGR GRP COMB CLASS SECTION NAME
    =====================================================================================
    000000H 000003H 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000004H 000013H 000010H CODE REL WORD --- --- PUBL FCODE ?PR?IO
    000014H 000021H 00000EH XDATA REL WORD --- --- GLOB --- ?C_INITSEC
    000022H 000041H 000020H CODE REL WORD --- --- PUBL FCODE ?PR?GT1
    000042H 000049H 000008H CODE REL WORD --- --- PUBL FCODE ?PR?INT
    00004AH 000057H 00000EH CONST ABS WORD --- --- PRIV --- ?C_CLRMEMSEC
    000088H 00008BH 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000094H 00009BH 000008H --- --- --- --- --- --- * INTVECTOR TABLE *
    L166 LINKER/LOCATER V5.25 04/28/2009 16:12:17 PAGE 2

    0000A8H 0000AFH 000008H --- --- --- --- --- --- * INTVECTOR TABLE *
    00011CH 00011FH 000004H --- --- --- --- --- --- * INTVECTOR TABLE *
    000120H 00023FH 000120H CODE REL WORD --- --- PRIV ICODE ?C_STARTUP_CODE
    000240H 0004B5H 000276H CODE REL WORD --- --- PUBL FCODE ?PR?MAIN
    0004B6H 000549H 000094H CODE REL WORD --- --- PUBL FCODE ?PR?ASC
    00054AH 0005EFH 0000A6H CODE REL WORD --- --- PUBL FCODE ?PR?GT2
    004000H 0041FFH 000200H DATA REL WORD --- 1 PUBL NDATA ?C_USERSTACK
    004200H 004217H 000018H DATA REL WORD --- 1 PUBL NDATA0 ?ND0?MAIN
    004218H 004219H 000002H DATA REL WORD --- 1 PUBL NDATA0 ?ND0?GT1
    00421AH 00421AH 000001H DATA REL BYTE --- 1 PUBL NDATA0 ?ND0?GT2
    00F800H 00FBFFH 000400H --- --- --- --- --- --- * SYSTEM STACK *
    00FC00H 00FC1FH 000020H DATA --- BYTE --- --- --- *REG* ?C_MAINREGISTERS

    GROUP LIST OF MODULE: asyncron (?C_STARTUP)

    GROUP NAME TYPE TGR GRP CLASS SECTION NAME
    =============================================================================
    NDATA DATA --- 1 NDATA ?C_USERSTACK NDATA0 ?ND0?MAIN NDATA0 ?ND0?GT2 NDATA0 ?ND0?GT1

    I use the 6.18 version of compiler and i use timer interrupts and asyncron interrupt, yes for smaller programs it works fine.

    I use the application to create a pwm signal and it crash after the first blink of my led control.

    I've tried to change the adresses from user classes and i've also tried to check the "use memory layout from target dialog" but still doesn't work.

    I use a c163 16F-25F.

    I hope these pieces of information will help you to give me an answer because i'm really new in this and i can't figure out the problem.

    thank you very much

Children
No data