Hello
I noticed you have define kyprs_buf[500] locally in a function. That means that it will be allocated on the stack.
How big is your stack? Make sure it is big enough.
CrasyCat
hi cat,
thanks for pointing out it is a stack problem. initially I thought I have enough 8K RAM to store all the info.
I am using MC9S12NE64 in my embedded web project ( ANSW2836SW open TCPIP stack) and I created the array[500] in the function to store the info from browser. it works.
I started a new project file to test the keypad code and later I will copy the firmware to the original embedded web project file.
I had search through the data sheet of MC9S12NE64 and read the app note AN1064 (title: using the M68HC11 stack) but I still can't find how to solve this problem.
1. how to create an array with the size of array[500]?
2.how to find out the size of the stack
3. where is the address of stack?
4. any app note or documents that I can read further?
Message Edited by Wind on 2006-07-18 07:19 PM
hi cat,
I have move the kyprs_buf [500] to global. it works fine. thanks.
I look into the map file and .prm file of ANSW2836SW
in .prm file
STACKTOP 0x3FFF
in the map file
size type from to segment
.stack 1 R/W 0x3FFF 0x3FFF .stackSeg
the stack size is only 1 x 16 bits
what does this STACKTOP means?
if the stack size is only 16 bits, how to push the stack?
int f(void);void main(void) { f(); // ignore result}
int f(void);void main(void) { (void)f(); // explicitly ignore result}
hi cat,
thanks for the info. I had downloaded the file and I will slowly read up the build tool utilities manual.