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 have a program compiled to target a DS87C520. The source is A51 assembly and C code mix. The compiled output is in Intel Hex file format. The Keil Simulator executes the program just fine. We also have an ICE that runs the program. However, when I burn the hex record into the actual micro, I get nothing. Any ideas? I can email source, hex file, etc if anyone wants to take a look. Thanks, Chris Beattie
Are you using on-chip XDATA? If yes, did you enable it in the startup code? Jon
I remember that I got the same problem on an old project. How do you enable on-chip XDATA ? I will check on my project if this is the problem that I got. Thanks
Check the following knowledgebase article for info on enabling the on-chip XDATA. http://www.keil.com/support/docs/677.htm Jon
Jon, I took a step back and tried the HELLO example that comes with the Keil suite and got the same results. I tried the example vanilla out of the box and then with the "Use On Chip ROM" option checked (we're programming the Intel Hex file directly into the micro and trying to run, no external RAM right now) and still no dice. I'm 99% sure it's not a hardware issue, as we have downloaded a freeware monitor (PaulMon2) from the internet, programmed the micro with that hex file and it works just fine. This monitor is written entirely in assembly, no C. The only thing I can think of is that there is something wrong with initialization, like the reset vector isn't set up right. Is doing a "CSEG AT 0" the same as a "org 0"? Any other ideas would be EXTREMELY appreciated and welcome. Thanks, Chris Beattie
Jon, I finally got the Keil Hello example working. I had to reorder the Intel Hex file so that the records were sorted in increasing order of addresses. Apparently our programmer is a POS. Is there any way to make uVision2 spit out ordered Intel Hex files? Thanks, Chris Beattie