4 years, 6 months ago.

unknown register name 'vfpcc' in asm

Hi, I haven't touched my mbed code (online compiler) in a few days, and now when i compile i get this "unknown register name 'vfpcc' in asm" error. Also, been having trouble updating /mbed library (using mbed 2 not 5) and the system would crash saying server error. This just occur this past few days, I've rolled back revisions of known working code and it has the same error so i suspect it is not on my end.

any help would be great. I'm using a K64F board, crashing in core_cmFunc.h " ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc");"

I have been getting the same error since last Friday (i.e. 27 Sept). It applies to the same line in the same source file.

I have looked into my personal backups, and this file has not changed at least since August.

posted by John Mitchell 30 Sep 2019

I first discovered it on friday 27th also. I'm convinced something on the backend changed, have had no luck porting out to any of the other compilers. Eclipse, VScode, even with CLI haven't had much success.

posted by David Jeffrey 01 Oct 2019

I emailed support@mbed.com about this last Friday. No response so far, apart from the auto-reply. Emailed again this morning.

posted by John Mitchell 01 Oct 2019

awesome, looking forward to some help, as this is blocking a product delivery... exploring recovering with eclipse and working through that to decouple this problem. No go so far

posted by David Jeffrey 02 Oct 2019

FYI, I began experiencing the same problem, also on Friday 27 Sep. Will also email support@mbed.com.

posted by Joseph Matesa 03 Oct 2019

Back in the office after a long weekend. Problem still not fixed - and still no response from mbed support. Emailed them again.

posted by John Mitchell 08 Oct 2019

same i emailed them 2 days ago as well.

posted by David Jeffrey 10 Oct 2019

I have been out of the office for a few days. I got a response from mbed support last Thursday (Oct 17):

Since the default compiler of online compiler has been changed from Arm C5 to Arm C6, and the assembler directives in this code base are `armcc` not `armclang` and therefore not compatible with C6. We currently don't have a plan for the fix, there are two proposed workaround - Build offline with Arm C 5 - Update the inline assembler directives to work with Arm C6

Unfortunately I can't find 'armcc' or 'armclang' anywhere in my project.

We are purchasing the Keil compiler.

posted by John Mitchell 22 Oct 2019

Thanks John. Finally some answers, I've ported to another project and working towards moving compiler offline so we can at least lock it .

posted by David Jeffrey 23 Oct 2019

1 Answer

4 years, 6 months ago.

Hi,

As mentioned, the online compiler has migrated from ARMC5 to ARMC6. Unfortunately, the assembler syntax changes between the two compiler versions so any inline assembler will no longer work. This will probably mean that you need to build offline, if you want to keep current Mbed OS version

Note this file has been removed since Mbed OS 5.5, so it is reasonable you won't encounter such issues if you update your Mbed OS version. Is updating your Mbed OS an option?

Regards, Mbed Support Ron