??? 08/17/05 16:27 Read: times |
#99576 - Problem was ... Responding to: ???'s previous message |
Ok, In my FlashRoutine, I had defined a structure:
//------------------------------------------- typedef struct { unsigned char ucData[PAGE_SIZE]; // 128 bytes } tPageSize; typedef struct { tPageSize Page[MAX_PAGES]; // 32 pages } tPageFormat tPageFormat code tNewFirmware _at_ LOCATION_NEWFIRMWARE; // at 1800 tPageSize xdata tFirmwareData; //-------------------------------------------- Ok the above is my variables definition. So, due to my laziness, in my flash routine, I put: tFirmwareData = tNewFirmware.Page[PageNumber]; Keil loves this statement and decides to use the ?C?COPY routine from its library. So, I did a "For" loop to copy each byte manually. Its slower this way, but it doesn't matter. Also remove a couple more ?C?COPY, which is also found in other parts of my code. :), I can sleep in peace now. |
Topic | Author | Date |
Strange problem IAP for whole chip | 01/01/70 00:00 | |
Questions please | 01/01/70 00:00 | |
Nobody knows? | 01/01/70 00:00 | |
why | 01/01/70 00:00 | |
For IAP? | 01/01/70 00:00 | |
Which is exactly what FlashMagic is inte | 01/01/70 00:00 | |
and now we know why | 01/01/70 00:00 | |
Get a PC | 01/01/70 00:00 | |
Enclose PCB in a box | 01/01/70 00:00 | |
I understand | 01/01/70 00:00 | |
Process make sense | 01/01/70 00:00 | |
Thank god for the response | 01/01/70 00:00 | |
Maybe the libraries in causing it ??? | 01/01/70 00:00 | |
the problem with absolutes | 01/01/70 00:00 | |
AT89C51RC2 with 128 bytes per page | 01/01/70 00:00 | |
there is no such thing as a byte write, | 01/01/70 00:00 | |
byte write | 01/01/70 00:00 | |
No byte write | 01/01/70 00:00 | |
what was the problem? | 01/01/70 00:00 | |
Problem was ... | 01/01/70 00:00 | |
OK, now face problems in Variables | 01/01/70 00:00 | |
variables used in my remote update | 01/01/70 00:00 | |
Ok, Solved | 01/01/70 00:00 | |
Try this![]() | 01/01/70 00:00 |