10 years, 11 months ago.

Error when I try to rebuild all target on Keil for an exported mbed program

After I made all the configuration in Target Options area in Keil and I try to rebuild all I get this error: SVC_Table.s: error: A3900U: Unrecognized option '- -gnu'. I exported many programs without the RTOS and i get no error with the same configuration. I tried to delete the - -gnu from C/C++ and ASM zone but then i got more errors. Any ideas?

3 Answers

10 years, 11 months ago.

Just remove gnu from the target options in the asm tab.

  • Right click 'mbed FRDM-KL25Z'
  • Click 'Target Options for Target ...'
  • In the Asm tab remove the Misc Controls option 'gnu'

Accepted Answer
10 years, 11 months ago.

Thank you for your answer. But as I already said when i tried to remove the - - gnu from asm tab I got some errors. Here they are: - mbed-rtos/rtx/rt_CMSIS.c(46): error: #35: #error directive: "Missing CORTEX_Mx definition" - mbed-rtos/rtx/RTX_CM_lib.h(120): error: #20: identifier "WORDS_STACK_SIZE" is undefined - mbed-rtos/rtx/RTX_CM_lib.h(120): error: #28: expression must have a constant value

The program which I exported is the program from MBED OFFICIAL - RTOS adapted for FRDM-KL25Z. This is the code:

#include "mbed.h"
#include "rtos.h"
 
DigitalOut led1(LED_GREEN);
DigitalOut led2(LED_RED);
 
void led2_thread(void const *args) {
    while (true) {
        led2 = !led2;
        Thread::wait(1000);
    }
}
 
int main() {
    Thread thread(led2_thread);
    
    while (true) {
        led1 = !led1;
        Thread::wait(500);
    }
}

I am currently removing errors in my rtos application too. For WORDS_STACK_SIZE you need to add more defines. See my question at http://mbed.org/questions/1023/Should-I-add-define-KL25Z-for-RTOS-heade/

posted by Eric Fossum 13 May 2013
10 years, 11 months ago.

Thanks for reporting this issue. The KL25Z project template has now been updated.