Hello,
I've inherited a project that previously used uVision2 to build code for a Silabs C8051F060 device. The hex file built with uVision2 runs fine on my hardware.
However, when I open the uv2 project file with uVision4 and build, the resulting hex file doesn't run on the hardware. There are no modifications to the code, the only difference is the uvproj file generated by uVision4 and presumably the versions of C51,A51 and BL51.
I'm trying to isolate the actual point of failure in a debugger but haven't had any success yet.
Unfortunately, I don't have access to a copy of uVision2, so I need to get the code working under uVision4.
Are there any compatibility issues between these two versions that I should be aware of, or are there things I should look at that may help isolate the problem?
However, I did say that links should be given between the cross-posts...
Well I did include a link to this thread when I reposted the question on the Silabs forum. I guess I should have also put a link to that thread here.
Here goes... www.cygnal.org/.../000317.html
Does the boot loader and application share any data?
Does the boot loader sends some information to the application?
Does the boot loader allocates some memory that should be reserved by the application?
Is the boot loader using a standard startup file?
Does it turn on any interrupts before starting the application?
Does the boot loader and application share any data? It appears not
Does the boot loader sends some information to the application? No
Does the boot loader allocates some memory that should be reserved by the application? Not as far as I can tell
Is the boot loader using a standard startup file? It's the same startup file as the main application except for a different address to jump to after initialisation. Whether it's standard or not, I'm not sure.
Does it turn on any interrupts before starting the application? No
I think my problem may be in the actual generation of the bootloader assembly. The build process is neither automatic nor well-documented, so I may have made a mistake in how I created it. That's where I'm going to focus my efforts now. Thanks for all the helpful advice and pointers
Is the boot loader using a standard startup file? It's the same startup file as the main application except for a different address to jump to after initialisation. if that is the case, the whole thing is faulty you can only have ONE startup file. To have two you need the bootloader to overwrite itself and that is no good.
Erik
you can only have ONE startup file. To have two you need the bootloader to overwrite itself and that is no good.
Sorry my mistake. There are two startup files included in the project but the one used for the main application just jumps to the bootloader code and it isn't actually run.