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.
I'm new in microcode, so the question may be foolish, but I can't find answer searching forum. I'm using very old AVR ISP with AT89S53 chip. I tried uVision, but found that HEX file produced, can't be loaded in ISP. It says FILE LARGER THAN DEVICE. I have looked for some memory settings and others and couldn't solve that. Eventually I found that Old version of uVision 1.24 with BL51 NOOL command line option produces correct file. I can't get the same from new version and I don't understand the reason it cause.
I'm using evaluation version and I have read about restrictions. But my program is smaller than 2K and uVision don't report any error and produces HEX file. But it can't be loaded into ISP. I don't know Intel HEX format but I see difference between usable and unusable files. So files produced by uVision 1.24 without NOOL and uVision of later versions looks similarly. I wonder why NOOVERLAY has no effect with later versions and what is that problem. I tried to combine different versions of Keil compilers, linkers and bin to hex converters, and I'm sure it is something wrong with linking. I also can't understand how built-in debugger works with that program fine if code has problems whith adresses.
"I'm using evaluation version and I have read about restrictions. But my program is smaller than 2K..." Size isn't the only restriction - look at the starting address. Look in the map file - does all the code fit into the address space of your processor?
"I also can't understand how built-in debugger works with that program fine if code has problems whith adresses." For one, because the debugger does not necessarily have exactly the same memory setup as your specific target hardware. Here are some more possible issues: http://www.keil.com/forum/docs/thread4173.asp
Thank you, you solve my problem. I didn't know anything about starting address limitations. I looked at map file and found that starting address is beyond the last address of code memory of device.
Ok. I didn't know this too. I feel I need to read more about linker and simulator. Can you advise me something downloadable?