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

Strange behaviour of USB library with different compilers

Hi

I don't know if you have checked this library or not, but Atmel itself has a complete library for various USB devices for Atmel MCUs.
I'm using a At91SAM7S256 chip for my tests, then I used this library for my work:
www.atmel.com/.../at91sam7s-ek.zip
This library is a complete code for both Full and High speed USB devices.

Ok,now here is my problem:
Previously, I was using an older version of keil(3.2 as I remember). With this version of Keil,this code compiles with no problem and runs on my device with no problem too.
But in these days, I tried to compile this code with latest version of Keil and surprisingly noticed that this code shows an error in link phase. Something like this error:
__swi_open is called but __swi_no_smihosting is requested. (I don't remember the exact words)
When I looked into the code, I thought that this semihosting is probably related to TRACE and DBGU units of this code(dbgu.c, debg.h, retarget.c, trace.h), then I removed these files from the code and repaired definitions appropriately.
With these changes code compiles and link with no problem, But when I program it my MCU, this code is not working at all(checked assembly and noticed that code goes into an infinite loop) and it doesn't even reach main function of code.

Any idea why this happens when I change compilers? and how I can solve this?

Regards

0