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.
Hi,
I'm using uVision 3,23 with CA.exe (compiler) V2.41 and LA.exe (linker) 2.41. The program compiles, but with the linking run, I get errors;
*** WARNING L23: UNRESOLVED EXTERNAL SYMBOLS *** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: mktime?T ADDRESS: 200023B4H
... :S. I've tried I guess everything. This error happens with the line:
time_t TIME; struct tm *ptim; /* the rest of my code... */ TIME = mktime(ptim)-0x3FF36300;
.
If I comment that line, the linker does the linkiing fine. The mktime() is declared in time.h, and the file is included. When I put the decleration in the local file; same error.. I don't know what to do anymore :S. Any ideas? The microcontroller is a STR7 and the code is for sync the hardware-RTC with the current time..
Thank you so so very much..
Jay.
I am trying to use the RTC of LPC2378 and the RTX kernel of KEIL.
After reading this thread, I started to study the mktime() and localtime().
The return value of localtime() looks strange to me. After some further study, I found another function, localtime_r(), "which is thread-safe and returns values in a user-supplied buffer instead of possibly using a static data area that may be overwritten by each call."
To define/reduce the Task stack size of RTX is difficult to someone like me. My question is: if I use localtime() in one Task, does it need larger Task stack size?
It seems that snprintf() needs a larger Task stack size. If this is true, then why? does snprintf() also use a static data area?