This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

problem: uvision 3 upgrade to uvision 4

I have a project which was completed by another persion by using uvision 3. Recently I plan to add some new fuctionalities in this project.
Since I only have uvision 4 on my machine, so, I plan to use uvision 4 to open the project and see if I can complie the project.

Without touching anything of the source and header files, I opened this project using uvison 4. However, when I compiled this project, there was an error message, "_swi_0 multiply defined in hal.o and rtx_config.o".

Is it caused by the toolchain upgrade? could anyone help on this issue?

Thanks a lot!

The hardware platform is LPC 2103 (Arm-7 core based)
RTOS: keil MDK RTOS

Louis

Parents
  • Since I only have uvision 4 on my machine, so, I plan to use uvision 4 to open the project and see if I can complie the project.

    That is insufficient reason for changing tools, particularly across a major version number step which typically signifies incompatible changes. There is a discipline called "configuration management" that deals with problems like that, and one of the primary rules of that discipline is: you keep the exact versions of all tools involved available throughout the foreseeable lifetime of the code. That means you ought to have Keil uVision 3 installed somewhere, or at least have the installation media and releated materials archived securely. If you had a contractor do the work, you should have made sure you get the tools as part of final delivery, and made them demonstrate that the final work can be built on your installation of the tools, bit-for-bit exactly as delivered.

    Tools change from one version to the next. That's what new versions exist for. It may be possible to compensate those changes to some extent, but that's really a problem you don't need. How will you ever be certain that the resulting program, which will almsot certainly be different from the original version, still functions the same way, i.e. that you didn't introduce bugs just by patching the software for the new tools?

Reply
  • Since I only have uvision 4 on my machine, so, I plan to use uvision 4 to open the project and see if I can complie the project.

    That is insufficient reason for changing tools, particularly across a major version number step which typically signifies incompatible changes. There is a discipline called "configuration management" that deals with problems like that, and one of the primary rules of that discipline is: you keep the exact versions of all tools involved available throughout the foreseeable lifetime of the code. That means you ought to have Keil uVision 3 installed somewhere, or at least have the installation media and releated materials archived securely. If you had a contractor do the work, you should have made sure you get the tools as part of final delivery, and made them demonstrate that the final work can be built on your installation of the tools, bit-for-bit exactly as delivered.

    Tools change from one version to the next. That's what new versions exist for. It may be possible to compensate those changes to some extent, but that's really a problem you don't need. How will you ever be certain that the resulting program, which will almsot certainly be different from the original version, still functions the same way, i.e. that you didn't introduce bugs just by patching the software for the new tools?

Children