We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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?
You forgot to post any information, so how will anyone be able to help?
What was the working RAM settings? What is the failing flash settings? What does the map file look like? Where does the application fail? How do you know the flash writing is ok? What have you done to try to figure out the problem? Will a smaller application work? Does it matter if you use interrupts? What tool versions do you use? Which specific chip? Anything special with your hardware? ...
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