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 trying to compile a structure that is bigger than 4096 bytes, and the compiler (c51.exe V6.02d) answers : GENOMF FATAL-ERROR: TYPE-RECORD TOO LARGE (4096). Is there a solution different that the one consisting in splitting the structure ? THX Jose
I'm trying to compile a structure that is bigger than 4096 bytes, and the compiler (c51.exe V6.02d) answers: GENOMF FATAL-ERROR: TYPE-RECORD TOO LARGE (4096). Is there a solution different that the one consisting in splitting the structure ? I just tried the following simple program and it compiled and linked with no errors or warnings.
struct junk_st { unsigned char big_array [64000]; }; struct junk_st xdata junk_var; void main (void) { }
Is it possible he is using the small model and not explicitly putting the struct in XDATA?
I think this would result in an error because the internal DATA memory is 128 bytes MAX. Keil Support
Indeed. Could this, in fact, be his error? OP, where are you? Is this your problem?
Hi I am getting similar kind of error, but I am not passing any xdata variable as parameter to the function. I am passing four arguments each array of structures. The error is same GENOMF FATAL-ERROR: TYPE-RECORD TOO LARGE (4096) Can anyone help me. ashutosh
The problem is not the struct itself. The problem is the debug data type information behind this struct. Version 6.02 is already pretty old. We have increased compiler limits in Version 7 at lot, so this error will most likely not happen with a current tool version. You may try an current Eval Version to see if this error appears there. If you want to stay with your old C51 Version 6.02 you might reduce the variable name lenght of struct members. This shrinks the data type information.