We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
I'm trying to learn the workings of/with the Keil RTX5, using the supplied tutorial.
During the first steps I do encounter a compiling error in the function "uint32_t os_Error (uint32_t code, void *object_id)". All the error codes os_ErrorStackUnderflow, os_ErrorISRQueueOverflow, os_ErrorTimerQueueOverflow, case os_ErrorClibSpace and os_ErrorClibMutex are unknown.
What I'm doing wrong?
Any help appreciated, Hans
Thanks a lot for your answer. I installed everything (Keil MDK + Tutorial) on a newly created virtual Win10 machine.It worked much better, but I still get an error:
The include chain “rtx_kernel.c -> rtx_lib.h -> rtx_core_c.h -> rtx_core_cm.h” percolates the following problem in rtx_core_cm.h, lines 464 – 465:
#if defined(__CC_ARM)static __asm uint8_t atomic_wr8 (uint8_t *mem, uint8_t val) {
The symblol ‘__asm’ is not recognized, the compiler says “error: expected identifier or ‘(‘”.
Kind regards, (too) Hans
PS: the reason behind this all is that I have to start a new Keil MDK project and I’m trying to use and get acquainted with RTX5. The old project which I inherited uses adapted code from an evaluation board.
I don't know exactly where this comes from, but it seems that there is a mismatch of the compiler versions. When you get an error message for this line, it means that the definition __CC_ARM is set. This is usually only set when the Arm compiler version 5 is selected. If this is the case, you should not get any errors. I assume, that you have selected the Arm compiler version 6 but maybe __CC_ARM is manually defined somewhere in your project. If you can't fix this issue, please tell me which versions of MDK, CMSIS and which Arm compiler you use (hint: MDK 5.35 was released yesterday, CMSIS 5.8.0 two days before). You could also create a support ticket with your project attached to it.
Hans
They might have more than one version installed?
1) Under Project -> Options For Target -> Target tab, on the top-right, I have "Use Default Compiler version 6" 2) In my project, When I open this file and go to line 464: C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.8.0\CMSIS\RTOS2\RTX\Source\rtx_core_cm.h#if defined(__CC_ARM)static __asm uint8_t atomic_wr8 (uint8_t *mem, uint8_t val) {The static line is grayed out - as it should, because I am using compiler 6. My setup:µVision V5.34.0.0Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved.Toolchain: MDK-ARM Professional Version: 5.34.0.0Toolchain Path: C:\Keil_v5\ARM\ARMCLANG\BinC Compiler: ArmClang.exe V6.16Assembler: Armasm.exe V6.16Linker/Locator: ArmLink.exe V6.16Library Manager: ArmAr.exe V6.16Hex Converter: FromElf.exe V6.16