??? 03/24/10 11:52 Modified: 03/24/10 11:53 Read: times |
#174467 - compiler specific Responding to: ???'s previous message |
Yaniv K. said:
First of all, Just would like to point out that I am new with x51 Microprocessors (or Microprocessors in general) Does that also include 'C' programming in general? so please excuse my lack of in-depth knowledge and lack of experience. Do take time to check-out the tutorials & FAQs on this site - see the sidebar. And, of course, the Keil Manuals: http://www.keil.com/support/man_c51.htm There's also a booklist here: http://www.keil.com/books - they aren't all Keil-specific. I dont really understand how do I specify to the compiler to use the build in EPROM? The standard 'C' language knows absolutely nothing whatsoever about that - so it's down to specific language extensions provided by the compiler. For Keil, their C51 language extensions are summarised here: http://www.keil.com/support/m...nsions.htm I tried "idata" and just "data" First, you need to check the Datasheet for the specific chip that you're using; that will tell you whether the EEPROM appears in IDATA or DATA or some other memory space. Note, however, that the EEPROM might not be memory-mapped at all; you might just have to access it via SFRs (Special Function Registers) - as if it were an external device connected to a port. Only the Datasheet for the specific chip can tell you this. but the compiler gave me an error. It's really not useful to just say that! You need to show the actual code that you used, and the full text of the message from the compiler - use copy & paste; do not manually re-type it. And I assume Xdata isnt going to work. Never just assume - always check for specific details in the Datasheet! I use Keil uVision4 as compiler, 80C5131A-UM for Micro and C51 as programming language. heres the code segment that giving me a hard time unsigned char idata encrypted_password[7000] _at_ 0x0000; unsigned char idata user_name[22400] _at_ 0x1B5A; unsigned char idata user_level[1400] _at_ 0x72DB; Yes, it's basic tutorial time - check the sizes of DATA and IDATA... See also: http://www.keil.com/support/m...atamem.htm |
Topic | Author | Date |
Atmel 89C5131A-UM Internal memory programming | 01/01/70 00:00 | |
compiler specific | 01/01/70 00:00 | |
Reply | 01/01/70 00:00 | |
Sample code? | 01/01/70 00:00 | |
Timers | 01/01/70 00:00 | |
Timers Reply | 01/01/70 00:00 | |
Have you looked at the tutorials yet? | 01/01/70 00:00 | |
it's all for assembler - but that doesn't matter! | 01/01/70 00:00 | |
Huge amounts of data | 01/01/70 00:00 | |
disregard the large numbers | 01/01/70 00:00 | |
No compiler support for EEPROM | 01/01/70 00:00 | |
compiler handling the EEPROM transparently | 01/01/70 00:00 | |
I did not know Keil helper functions. | 01/01/70 00:00 | |
It's part of the "xdata banking" support | 01/01/70 00:00 | |
Previously, on 8052.com...![]() | 01/01/70 00:00 |