| Details |
Message |
|
Read-Only
Author mihopaul lee
Posted 26-Jul-2005 11:04 GMT
Toolset C51
|
 how to use function pointer array???
mihopaul lee
Hi All
I have use function pointer array like this
main.c
uchar i;
for(i = 0;i<END_COMMAND;i++)
printf("%bu %x\n",i,Func_table[i]);
cmd.h
typedef void (*Func) (void);
void init_func(void);
void reset_func(void);
void end_command(void);
cmd.c
Func Func_Table[] =
{
init_func,
reset_func,
end_command
}
void init_func(void){DO_SOMETHING}
void reset_func(void){DO_SOMETHING}
void end_command(void){DO_SOMETHING}
When I run in Keil IDE Debug mode
it can trace into code and print correct
function address (Ex 0 ff00 1 ff10 2 ff20)
,but when I run into flash,all function address is print zero(ex 0 0 1 0 2 0)
so I got reset when use this Func_Table
why??
Thanks a lot
|
|
|
Read-Only
Author Hans-Bernhard Broeker
Posted 26-Jul-2005 11:59 GMT
Toolset C51
|
 RE: how to use function pointer array???
Hans-Bernhard Broeker
First of all, be very wary of using function pointers on 8051s. It can be done, but it should be used sparingly and very carefully. "Thou hast been warnd".
The problem at hand is that your printf() statement is wrong.
1) You're trying to print a pointer as if it were a number. That's always a bad idea. The %p format specifier exists for a reason.
2) You're doing this with a function pointer. That's even worse.
3) You're doing printf() debugging in a compiler that comes with a very powerful integrated debugger. That's just a waste of your time.
|
|
|
Read-Only
Author Reinhard Keil
Posted 26-Jul-2005 12:01 GMT
Toolset C51
|
 RE: how to use function pointer array???
Reinhard Keil
Looks like you have a problem with RAM in your target hardware. Take a look to the linker map file and check if you have actually RAM there.
Since your function pointers are somehow constants, you should declare them as code *.
Take a look to:
http://www.keil.com/support/docs/996.htm
http://www.keil.com/support/docs/210.htm
See also: http://www.keil.com/forum/docs/thread1502.asp
Reinhard
|
|
|
Read-Only
Author mihopaul lee
Posted 26-Jul-2005 13:18 GMT
Toolset C51
|
 RE: how to use function pointer array???
mihopaul lee
Hi
I have try to use code like this
code void (*Func_Table []) (void)=
{
a,b
}
but it cann't run any more,even the main function also cann't run any code !!
why??
Please help
TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------
* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"
DATA 0008H 0011H UNIT ?DT?MPG450
DATA 0019H 0005H UNIT _DATA_GROUP_
001EH 0002H *** GAP ***
BIT 0020H.0 0001H.1 UNIT _BIT_GROUP_
0021H.1 0000H.7 *** GAP ***
IDATA 0022H 0001H UNIT ?STACK
* * * * * * * X D A T A M E M O R Y * * * * * * *
XDATA 0000H 013CH UNIT ?XD?MPG450
XDATA 013CH 0028H UNIT _XDATA_GROUP_
XDATA 0164H 0020H UNIT ?XD?DDRAMC_BIST_MODE?DDRAMC
XDATA 0184H 0019H UNIT ?XD?_RS232_PROCESS?DEBUG
XDATA 019DH 0007H UNIT ?XD?DDRAMC_INT_HANDER?DDRAMC
XDATA 01A4H 0007H UNIT ?XD?_FIND_BIST_CLK?FUNC
XDATA 01ABH 0006H UNIT ?XD?SET_EMPG_VIDEO_TYPE?USERCMD
XDATA 01B1H 0005H UNIT ?XD?DMPG_INT_HANDER?DMPG
XDATA 01B6H 0005H UNIT ?XD?_CHANGE_VIDEO_SIZE?FUNC
XDATA 01BBH 0005H UNIT ?XD?SET_DISPLAY_OUTPUT_PATH?USERCMD
XDATA 01C0H 0003H UNIT ?XD?_DMA_TASK_SCHEDULER?MPG450
XDATA 01C3H 0003H UNIT ?XD?PDMAC_INT_HANDER?PDMAC
XDATA 01C6H 0003H UNIT ?XD?DRAMC_BIST?FUNC
XDATA 01C9H 0003H UNIT ?XD?SET_EMPG_FRAME_RATE?USERCMD
XDATA 01CCH 0003H UNIT ?XD?SET_EMPG_QTABLE?USERCMD
XDATA 01CFH 0003H UNIT ?XD?GET_VIDEO_MOTION_STATUS?USERCMD
XDATA 01D2H 0003H UNIT ?XD?SET_VIDEO_MOTION_REGION?USERCMD
XDATA 01D5H 0003H UNIT ?XD?SET_EADPCM_BPS?USERCMD
XDATA 01D8H 0002H UNIT ?XD?EDRAMC_INT_HANDER?EDRAMC
XDATA 01DAH 0002H UNIT ?XD?_DDRAMC_CONFIG?DDRAMC
XDATA 01DCH 0002H UNIT ?XD?PCIC51_INT_HANDER?PCIC51
XDATA 01DEH 0002H UNIT ?XD?SET_CHECKSUM?FUNC
XDATA 01E0H 0002H UNIT ?XD?START_ALL?USERCMD
XDATA 01E2H 0002H UNIT ?XD?SET_CHIP_REGISTER?USERCMD
XDATA 01E4H 0002H UNIT ?XD?GET_CHIP_REGISTER?USERCMD
XDATA 01E6H 0002H UNIT ?XD?START_VIDEO?USERCMD
XDATA 01E8H 0002H UNIT ?XD?START_EMPG?USERCMD
XDATA 01EAH 0002H UNIT ?XD?START_DMPG?USERCMD
XDATA 01ECH 0002H UNIT ?XD?START_DISPLAY?USERCMD
XDATA 01EEH 0002H UNIT ?XD?START_EADPCM?USERCMD
XDATA 01F0H 0002H UNIT ?XD?SET_EMPG_WATERMARK_INFO?USERCMD
XDATA 01F2H 0002H UNIT ?XD?SET_EMPG_FRAME_BASE?USERCMD
XDATA 01F4H 0002H UNIT ?XD?SET_EMPG_AV_SYNC?USERCMD
XDATA 01F6H 0002H UNIT ?XD?SET_DMPG_CH_LEN?USERCMD
XDATA 01F8H 0002H UNIT ?XD?SET_VIDEO_MOTION_CTRL?USERCMD
XDATA 01FAH 0002H UNIT ?XD?SET_VIDEO_DEINTER_MODE?USERCMD
XDATA 01FCH 0002H UNIT ?XD?SET_DISPLAY_SIZE?USERCMD
XDATA 01FEH 0002H UNIT ?XD?SET_DISPLAY_QUAD?USERCMD
XDATA 0200H 0002H UNIT ?XD?SET_DISPLAY_BACKGROUND?USERCMD
XDATA 0202H 0002H UNIT ?XD?SET_EADPCM_BYPASS?USERCMD
XDATA 0204H 0002H UNIT ?XD?SET_DADPCM_BPS?USERCMD
XDATA 0206H 0002H UNIT ?XD?SET_DADPCM_VOLUME?USERCMD
XDATA 0208H 0002H UNIT ?XD?SET_DATA_CH_LEN?USERCMD
|
|
|
Read-Only
Author mihopaul lee
Posted 26-Jul-2005 13:21 GMT
Toolset C51
|
 RE: how to use function pointer array???
mihopaul lee
XDATA 020AH 0002H UNIT ?XD?SET_HCBR?USERCMD
XDATA 020CH 0001H UNIT ?XD?CPU_UR0_INIT?CPU_API
XDATA 020DH 0001H UNIT ?XD?_PDMAC_START?MPG450
XDATA 020EH 0001H UNIT ?XD?SYSTEM_INIT?MPG450
XDATA 020FH 0001H UNIT ?XD?_EDRAMC_CONFIG?EDRAMC
XDATA 0210H 0001H UNIT ?XD?_EDRAMC_INIT?EDRAMC
XDATA 0211H 0001H UNIT ?XD?_DDRAMC_INIT?DDRAMC
XDATA 0212H 0001H UNIT ?XD?_CHECK_DMPG_TIMECODE?DMPG
XDATA 0213H 0001H UNIT ?XD?RS232_INPUT?DEBUG
XDATA 0214H 0001H UNIT ?XD?END_COMMAND?USERCMD
XDATA 0215H 0001H UNIT ?XD?START_DADPCM?USERCMD
XDATA 0216H 0001H UNIT ?XD?SET_EMPG_IP_RATIO?USERCMD
XDATA 0217H 0001H UNIT ?XD?SET_EMPG_EXT_INFO?USERCMD
XDATA 0218H 0001H UNIT ?XD?SET_EMPG_QP?USERCMD
XDATA 0219H 0001H UNIT ?XD?SET_EMPG_NEW_PREDICTION?USERCMD
XDATA 021AH 0001H UNIT ?XD?SET_EMPG_MOTION_VECTOR?USERCMD
XDATA 021BH 0001H UNIT ?XD?GET_EMPG_FRAME_BASE?USERCMD
XDATA 021CH 0001H UNIT ?XD?SET_DMPG_CLEAR?USERCMD
XDATA 021DH 0001H UNIT ?XD?SET_DMPG_SEARCH?USERCMD
XDATA 021EH 0001H UNIT ?XD?SET_DMPG_PLAY_MODE?USERCMD
XDATA 021FH 0001H UNIT ?XD?SET_DMPG_SPEED?USERCMD
XDATA 0220H 0001H UNIT ?XD?SET_DMPG_SEARCH_TIME?USERCMD
XDATA 0221H 0001H UNIT ?XD?SET_DMPG_WATERMARK?USERCMD
XDATA 0222H 0001H UNIT ?XD?SET_VIDEO_TYPE?USERCMD
XDATA 0223H 0001H UNIT ?XD?SET_VIDEO_FRAME_RATE?USERCMD
XDATA 0224H 0001H UNIT ?XD?GET_VIDEO_DROP_FRAMES?USERCMD
XDATA 0225H 0001H UNIT ?XD?SET_EADPCM_CTRL?USERCMD
XDATA 0226H 0001H UNIT ?XD?GET_DADPCM_BPS?USERCMD
XDATA 0227H 0001H UNIT ?XD?SET_IRC_FEQ_TUNE?USERCMD
XDATA 0228H 0001H UNIT ?XD?GET_HCBR?USERCMD
* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
CODE 0003H 0007H UNIT ?PR?CPU_EXINT1_SET?CPU_API
CODE 000AH 0007H UNIT ?PR?GET_MPG450_STATUS?USERCMD
0011H 0002H *** GAP ***
CODE 0013H 0003H ABSOLUTE
CODE 0016H 10B7H UNIT ?PR?_RS232_PROCESS?DEBUG
CODE 10CDH 0827H UNIT ?PR?DMA_TASK_EXECUTE?MPG450
CODE 18F4H 07E7H UNIT ?PR?DMPG_INT_HANDER?DMPG
CODE 20DBH 049EH UNIT ?PR?_DMA_TASK_SCHEDULER?MPG450
CODE 2579H 049CH UNIT ?PR?SET_EMPG_QTABLE?USERCMD
CODE 2A15H 0430H UNIT ?PR?DDRAMC_BIST_MODE?DDRAMC
CODE 2E45H 0401H UNIT ?CO?DEBUG
CODE 3246H 03D3H UNIT ?PR?DDRAMC_INT_HANDER?DDRAMC
CODE 3619H 03C2H UNIT ?PR?SET_DISPLAY_OUTPUT_PATH?USERCMD
CODE 39DBH 03AFH UNIT ?PR?_DDRAMC_INIT?DDRAMC
CODE 3D8AH 0365H UNIT ?PR?PRINTF?PRINTF
CODE 40EFH 0350H UNIT ?PR?SET_EMPG_EXT_INFO?USERCMD
CODE 443FH 0336H UNIT ?PR?GET_DADPCM_TIMECODE?USERCMD
CODE 4775H 02CAH UNIT ?PR?SET_EMPG_WATERMARK_INFO?USERCMD
CODE 4A3FH 0281H UNIT ?PR?_CHECK_DMPG_TIMECODE?DMPG
CODE 4CC0H 022BH UNIT ?PR?SET_DISPLAY_BACKGROUND?USERCMD
CODE 4EEBH 0218H UNIT ?PR?SET_HCBR?USERCMD
CODE 5103H 0203H UNIT ?PR?SET_EMPG_VIDEO_TYPE?USERCMD
CODE 5306H 01FEH UNIT ?C?LIB_CODE
CODE 5504H 01E5H UNIT ?PR?_CHANGE_VIDEO_SIZE?FUNC
|
|
|
Read-Only
Author Reinhard Keil
Posted 26-Jul-2005 14:11 GMT
Toolset C51
|
 RE: how to use function pointer array???
Reinhard Keil
Did you really try to get an understanding for what we are saying on this discussion forum?
Reinhard
|
|
|
Read-Only
Author mihopaul lee
Posted 26-Jul-2005 14:34 GMT
Toolset C51
|
 RE: how to use function pointer array???
mihopaul lee
Sorry ^^"""
I just add [code] like you say,
but when I add the [code] key word
my program cann't not run any more
if I remove code ,it can run but will
get reset when I use the Func_Table
I add like this
code void (*Func_Table []) (void)=
{
init_func,
reset_func
}
I have try to see the m51 file,
but I cann't see any start address or length like this
SEGMENT DATA_GROUP
+--> CALLED SEGMENT START LENGTH
-------------------------------------------------
?C_C51STARTUP ----- -----
+--> ?PR?MAIN?FPMAIN
?PR?MAIN?FPMAIN ----- -----
+--> ?PR?_FUNC?FPMAIN
+--> ?PR?_FUNC_CALLER?FPCALLER
?PR?_FUNC?FPMAIN 0008H 000AH
?PR?_FUNC_CALLER?FPCALLER 0008H 0003H
^^^^^^^^^^
I cann't find this!!
Thanks a lot
|
|
|
Read-Only
Author mihopaul lee
Posted 26-Jul-2005 14:56 GMT
Toolset C51
|
 RE: how to use function pointer array???
mihopaul lee
sorry ^^"""
May you teach me how to check the lineker
map??
If my target hardwave already has ram
how to avoid it?? how to locate the
data or code in another place??
Thanks a lot
|
|
|
Read-Only
Author mihopaul lee
Posted 27-Jul-2005 06:10 GMT
Toolset C51
|
 RE: how to use function pointer array???
mihopaul lee
TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------
* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"
DATA 0008H 0005H UNIT _DATA_GROUP_
000DH 0013H *** GAP ***
BIT 0020H.0 0001H.1 UNIT _BIT_GROUP_
0021H.1 0000H.7 *** GAP ***
IDATA 0022H 0001H UNIT ?STACK
* * * * * * * X D A T A M E M O R Y * * * * * * *
XDATA 0000H 011CH UNIT ?XD?MPG450
XDATA 011CH 0028H UNIT _XDATA_GROUP_
XDATA 0144H 0019H UNIT ?XD?_RS232_PROCESS?DEBUG
XDATA 015DH 0009H UNIT ?XD?_DMA_TASK_SCHEDULER?MPG450
XDATA 0166H 0008H UNIT ?XD?DMA_TASK_EXECUTE?MPG450
XDATA 016EH 0005H UNIT ?XD?_CHANGE_VIDEO_SIZE?FUNC
XDATA 0173H 0003H UNIT ?XD?EXINT1_INT_ROUTINE?MPG450
XDATA 0176H 0003H UNIT ?XD?DRAMC_BIST?FUNC
XDATA 0179H 0002H UNIT ?XD?SET_CHECKSUM?FUNC
XDATA 017BH 0001H UNIT ?XD?CPU_UR0_INIT?CPU_API
XDATA 017CH 0001H UNIT ?XD?_PDMAC_START?MPG450
XDATA 017DH 0001H UNIT ?XD?MAIN?MPG450
XDATA 017EH 0001H UNIT ?XD?RS232_INPUT?DEBUG
BL51 BANKED LINKER/LOCATER V5.03 07/27/2005 10:40:44 PAGE 2
XDATA 017FH 0001H UNIT ?XD?END_COMMAND?USERCMD
* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
CODE 0003H 000CH UNIT ?PR?SET_CHECKSUM?FUNC
CODE 000FH 0001H UNIT ?PR?INIT_MPG450?USERCMD
CODE 0010H 0001H UNIT ?PR?RESET_MPG450?USERCMD
0011H 0002H *** GAP ***
CODE 0013H 0003H ABSOLUTE
CODE 0016H 07CAH UNIT ?PR?_RS232_PROCESS?DEBUG
CODE 07E0H 07B2H UNIT ?PR?DMA_TASK_EXECUTE?MPG450
CODE 0F92H 054AH UNIT ?PR?_DMA_TASK_SCHEDULER?MPG450
CODE 14DCH 0365H UNIT ?PR?PRINTF?PRINTF
CODE 1841H 023FH UNIT ?CO?DEBUG
CODE 1A80H 0194H UNIT ?PR?_CHANGE_VIDEO_SIZE?FUNC
CODE 1C14H 0194H UNIT ?C?LIB_CODE
CODE 1DA8H 0135H UNIT ?PR?RS232_INPUT?DEBUG
CODE 1EDDH 010AH UNIT ?PR?WDT_RESET?WDTC
CODE 1FE7H 0109H UNIT ?C_INITSEG
CODE 20F0H 00C8H UNIT ?PR?EXINT1_INT_ROUTINE?MPG450
CODE 21B8H 009AH UNIT ?PR?_PDMAC_START?MPG450
CODE 2252H 0090H UNIT ?PR?SYSTEM_INIT?MPG450
CODE 22E2H 008CH UNIT ?C_C51STARTUP
CODE 236EH 0070H UNIT ?PR?MAIN?MPG450
CODE 23DEH 0043H UNIT ?PR?BUS_READY?FUNC
CODE 2421H 0041H UNIT ?PR?SHOW_MENU?DEBUG
CODE 2462H 0037H UNIT ?PR?DRAMC_BIST?FUNC
CODE 2499H 0036H UNIT ?PR?WDTC_INIT?WDTC
CODE 24CFH 0034H UNIT ?PR?CPU_RAM_INIT?CPU_API
CODE 2503H 0032H UNIT ?PR?CPU_UR0_INIT?CPU_API
CODE 2535H 0027H UNIT ?PR?PUTCHAR?PUTCHAR
CODE 255CH 0026H UNIT ?CO?MPG450
CODE 2582H 0026H UNIT ?PR?END_COMMAND?USERCMD
CODE 25A8H 001DH UNIT ?PR?TOINT?TOINT
CODE 25C5H 000AH UNIT ?PR?_GETKEY?_GETKEY
CODE 25CFH 0007H UNIT ?PR?CPU_EXINT1_SET?CPU_API
|
|
|
Read-Only
Author mihopaul lee
Posted 27-Jul-2005 06:11 GMT
Toolset C51
|
 RE: how to use function pointer array???
mihopaul lee
TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------
* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"
DATA 0008H 0005H UNIT _DATA_GROUP_
000DH 0013H *** GAP ***
BIT 0020H.0 0001H.1 UNIT _BIT_GROUP_
0021H.1 0000H.7 *** GAP ***
IDATA 0022H 0001H UNIT ?STACK
* * * * * * * X D A T A M E M O R Y * * * * * * *
XDATA 0000H 009CH UNIT ?XD?MPG450
XDATA 009CH 0028H UNIT _XDATA_GROUP_
XDATA 00C4H 0019H UNIT ?XD?_RS232_PROCESS?DEBUG
XDATA 00DDH 0009H UNIT ?XD?_DMA_TASK_SCHEDULER?MPG450
XDATA 00E6H 0008H UNIT ?XD?DMA_TASK_EXECUTE?MPG450
XDATA 00EEH 0005H UNIT ?XD?_CHANGE_VIDEO_SIZE?FUNC
XDATA 00F3H 0003H UNIT ?XD?EXINT1_INT_ROUTINE?MPG450
XDATA 00F6H 0003H UNIT ?XD?DRAMC_BIST?FUNC
XDATA 00F9H 0002H UNIT ?XD?SET_CHECKSUM?FUNC
XDATA 00FBH 0001H UNIT ?XD?CPU_UR0_INIT?CPU_API
XDATA 00FCH 0001H UNIT ?XD?_PDMAC_START?MPG450
XDATA 00FDH 0001H UNIT ?XD?MAIN?MPG450
XDATA 00FEH 0001H UNIT ?XD?RS232_INPUT?DEBUG
BL51 BANKED LINKER/LOCATER V5.03 07/27/2005 10:38:22 PAGE 2
XDATA 00FFH 0001H UNIT ?XD?END_COMMAND?USERCMD
* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0003H ABSOLUTE
CODE 0003H 000CH UNIT ?PR?SET_CHECKSUM?FUNC
CODE 000FH 0001H UNIT ?PR?INIT_MPG450?USERCMD
CODE 0010H 0001H UNIT ?PR?RESET_MPG450?USERCMD
0011H 0002H *** GAP ***
CODE 0013H 0003H ABSOLUTE
CODE 0016H 07CAH UNIT ?PR?_RS232_PROCESS?DEBUG
CODE 07E0H 07B2H UNIT ?PR?DMA_TASK_EXECUTE?MPG450
CODE 0F92H 054AH UNIT ?PR?_DMA_TASK_SCHEDULER?MPG450
CODE 14DCH 0365H UNIT ?PR?PRINTF?PRINTF
CODE 1841H 023FH UNIT ?CO?DEBUG
CODE 1A80H 0194H UNIT ?PR?_CHANGE_VIDEO_SIZE?FUNC
CODE 1C14H 0194H UNIT ?C?LIB_CODE
CODE 1DA8H 0135H UNIT ?PR?RS232_INPUT?DEBUG
CODE 1EDDH 010AH UNIT ?PR?WDT_RESET?WDTC
CODE 1FE7H 00C8H UNIT ?PR?EXINT1_INT_ROUTINE?MPG450
CODE 20AFH 009AH UNIT ?PR?_PDMAC_START?MPG450
CODE 2149H 0090H UNIT ?PR?SYSTEM_INIT?MPG450
CODE 21D9H 008CH UNIT ?C_C51STARTUP
CODE 2265H 0085H UNIT ?C_INITSEG
CODE 22EAH 0070H UNIT ?PR?MAIN?MPG450
CODE 235AH 0043H UNIT ?PR?BUS_READY?FUNC
CODE 239DH 0041H UNIT ?PR?SHOW_MENU?DEBUG
CODE 23DEH 0037H UNIT ?PR?DRAMC_BIST?FUNC
CODE 2415H 0036H UNIT ?PR?WDTC_INIT?WDTC
CODE 244BH 0034H UNIT ?PR?CPU_RAM_INIT?CPU_API
CODE 247FH 0032H UNIT ?PR?CPU_UR0_INIT?CPU_API
CODE 24B1H 0027H UNIT ?PR?PUTCHAR?PUTCHAR
CODE 24D8H 0026H UNIT ?CO?MPG450
CODE 24FEH 0026H UNIT ?PR?END_COMMAND?USERCMD
CODE 2524H 001DH UNIT ?PR?TOINT?TOINT
CODE 2541H 000AH UNIT ?PR?_GETKEY?_GETKEY
CODE 254BH 0007H UNIT ?PR?CPU_EXINT1_SET?CPU_API
|
|
|
Read-Only
Author mihopaul lee
Posted 27-Jul-2005 06:15 GMT
Toolset C51
|
 RE: how to use function pointer array???
mihopaul lee
Sorry
May anyone tell me what is the diffent
between this two linker map
The fisrt one cann't run any thing!!
The second will get reset when use
function pointer table
The source code only has one place diffent
the first add [ code ] key word !!
Thanks a lot
|
|
|
Read-Only
Author Reinhard Keil
Posted 27-Jul-2005 06:39 GMT
Toolset C51
|
 RE: how to use function pointer array???
Reinhard Keil
I think nobody is able to figure out your programming problem from the posted MAP files.
When you get a RESET, you should analyse the problem using the debugger.
I suggest that you start with a small example frist. Take a look to A51.PDF, Chapter 9, Using the Overlay Control, Pointer to a Function in Arrays or Tables.
Reinhard
|
|
|
Read-Only
Author mihopaul lee
Posted 27-Jul-2005 10:10 GMT
Toolset C51
|
 RE: how to use function pointer array???
mihopaul lee
Thanks
The Code I have run very well before,
I just distributed code into many c file
add [code] key world cann't run any,
I add [NOOVERLAY],the result is the same><
Thanks again,I will try to read DOC more
|
|