Uvision Compiler Version 5 Download

0 views
Skip to first unread message

Eboni Kleifgen

unread,
Aug 3, 2024, 10:25:09 AM8/3/24
to AJ Squared CBD Gummies

Hello, I'm trying to use STM32F411 to control a Wi-Fi module which comes with some sample projects that can be used to learn but the manual uses compiler version 5 to compile them which I don't have it in my Keil vision 5. after I installed Keil MDK it only shows Complier Version 6 and Complier 5 is missing. I have found the link (link for compiler ver 5) for arm website form where we can download the compiler 5 but how do we install it so that we can use it with Keil vision 5.

Arm Compiler 5.06 update 7 must be installed underneath the ARM subdirectory of the Keil MDK installation. For example, if your Keil MDK installation is in C:\Keil_v5 the recommended installation path is C:\Keil_v5\ARM\ARM_Compiler_5.06u7.

Thanks, i have read that before and followed it but after reading it again looks like i made a mistake of installing it in path C:\Keil_v5\ARM instead of C:\Keil_v5\ARM\ARM_Compiler_5.06u7. let me reinstall it and see if it fixes the issues thanks

i have uninstalled it and reinstalled it into same path as in the example and still in Options for target > target showing as missing: compiler version 5. do you know what else could be causing this issue.

while I upload a code through KEIL MDK software into STM32F401RE board, it has some error occurs like -missing compiler version 5 in stm32 Keil uvision 5, also when clicking to the flash download - pop up window occurs and say error to download into flash.

New releases of the MDK don't come with the 5.xx compilers, you either have to install them as some sort of legacy pack, or simply bring up the Project Options, and in the Target Tab change the "ARM Compiler" setting to "Use default compiler version 6"

When using Keil ARM Compiler version 6 to compile the code, I am observing several concerns, possibly because the FreeRTOS-Kernel code is still compilable with help of Keil ARM Compiler Version 5 and not with Keil Compiler Version 6.

I have made modifications to the files and brought them up to a level wherein the compiler is now not throwing errors. I however need your help with how to correctly use the extern variables inside the ASM code . I am also concerned about how to handle C variables in assembly.

May you please help me with the path for the GCC files for Keil. Maybe I added incorrect reference to files that I am using, as I was not sure where to find the exact Keil Compiler related files on the GitHub / FreeRTOS Kernel.

I did review both the base files and they are indeed coded for compiling with help of Keil / ARM Compiler Version 5. Also as I am sure about the current compiler being supported, I tried modifying the two files so that the files can be compiled with help of ARM / Keil compiler version 6.

As I am developing code for STM32H753BIT6, I used STM32CubeMX to configure the microcontroller and also enabled FreeRTOS in the tool, so as to get the FreeRTOS (version 10.2.1 with CMSIS-RTOS version 2.0) port for the microcontroller

all:I updated my keil MDK version to the latest which is V5.37,and then I found that the project can't build anymore.since the V5.37 do not support the compiler 5 and set the default compiler to compiler 6,I installed the compiler 5(Arm compiler version 5 ,V5.06 update7) with a independent patch.and then add the compiler 5 to the keil,set the compiler 5 as the default compiler,but keil can't build the project,build output as follows:

We're evaluating L1306 with Launchpad. Customer only bought compiler version up to V6.10.1. Using this compiler, when debugging FLASH, L1306 will easily get locked (JLINK won't identify the MCU). We noticed TI recommends using compiler version > v6.16. And customer tested through v6.16 and didn't meet similar issue. Do you have any advice for customer without official compiler for v6.16?

Our software team has only tested this with v6.16, but the feedback from them was that we don't really need anything too special to support MSPM0 since we just have a CM0+. So if version 6.10.1 support CM0+ it should be doable.

I have isolated at least one thing that is a bit worrisome and that is that (for reasons unknown to me at this time) the ARM Compiler defines the symbol __GNUC__ and NOT the symbo __CC_ARM. This results in a whole bunch of incorrect preprocessor symbols being picked up in the build.

Perhaps you can try to compare your project settings with one of the Keil projects found in our SDK and see if you can see anything that differs? If you can't find anything, perhaps you need to ask Keil directly.

If it helps, starting with version 6.x, the ARM Compiler uses CLANG which is also used by GCC which leads to the side effect (not sure if it was intentional or accidental) that it defines the symbol __GNUC__.

I did try to use version 5.x of the compiler but that led to a whole slew of other errors SDK, most of which I got rid of when I set the language to use C90 and GNU Extensions.... but I prefer something more recent and robust.

Well, my original post was a request to get a version of the SDK that builds with KEIL compiler -- a question to Nordic, not KEIL. Besides, the problem is in the ASM fragment that translates and forwards the SoftDevice service call to the SVC handler, also provided by Nordic.

The procedure I used to get the mbed online compiler led blinky example to workis based on App note 207 from Keil, along with example blinky uVision project. ://www.keil.com/download/files/apnt207.zip

I simply followed the application note to the word and got it working in about 2 min.I didn't run into any of the linking problems that the old thread goes into detail about, so it looks like it's all sorted out now.

Hopefully those arduino nuts will stop winning about the online cloud compiling thing and be willing to use a microcontroller with some real balls. Yea I know that Keil uVision isn't opensource, and the eval version only supports 32kb, which is half the available ram on the mbed, but with the arduinos you only have 32kb anyway.

It took me a little longer than 2 minutes because I am using some features from a later mbed library than the one in the apnt207.zip file so had to download the latest files from here: download the header files and the other files, copying them over those from the zip file.

Another issue I had was that I am using '\e' to determine that the escape key has been pressed, this initially caused the Keil software to issue a warning and the Escape key wasn't recognised. I was able to correct this problem by adding a '- -gnu' instruction to the compiler options (see the 'Misc Controls' section):

Should I download the files that Sophie said? btw, How did you do it? I mean, I didn't find an option to download the .h files directly, I would have to copy the text and then delete the file numbers and stuff (which would be quite annoying).Thanks in advance!!

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.

I was planing to use ARM Keil MDK lite edition as it is free and compatible with commercial products (with a 32Kb limitation). Of course I would like to use the latest version of the SDK to have the latest features and bug correction. From my understanding, the last version is v6.0.20.1338 (v6.0.20.1338 release note).

I don't really understand this warning. Did it means that I don't have the possibility to use the latest SDK (which is not conceivable for me) or did it means that I have to use the (not included) compiler version 5?

I have tried to build an example from the latest SDK 6.0.20 with the included ARM compiler (v6) and as the guide tells us, the LTO option prevents us to build it. But if I disable this option the project builds.

Hi Olivier,

Thank you for posting your question online.
In order to develop your application with DA14531 you will need Keil MDK IDE.
SDK v6.0.14 and SDK v6.0.16 use ARM Compiler v5.
SDK v6.0.18 and SDK v6.0.20 (which is the latest SDK release) use ARM Compiler v6.
The DSPS SDK use ARM Compiler v5. The next version of DSPS SDK is going to be released in ARM Compiler v6.
The Codeless SDK use ARM Compiler v6 and exceeds the 32kB limitation.
ARM Keil MDK lite edition has the 32kB limitation (which will stop you from testing specific examples) and does not offer the Link Time Optimization option.
ARM Compiler v6 requires the LTO option for the most examples.
On the DA14531 you can load a firmware up to 48kB, but with the lite edition you will not be able to create a firmware over 32kB.
Now let me try to answer your questions:

The latest SDK (v6.0.20) should be used only with a licensed Keil IDE in order for all the examples to built and work as expected.
Generally, I believe that during the MDK installation you accept their Term and Conditions. In those terms it is stated that if you are going to develop a product with MDK you will have to buy a license. So, I would have to suggest you get a license if you intend to create a product, if you are just testing you can try and use the MDK Professional License which has a 30-day free period: keil.com/MDKEvaluationRequest/

Best Regards,
OV_Renesas

The SDK v6.0.20 (and v6.0.18) has been tested and qualified with LTO enabled. You could probably build a few examples with LTO disabled but we cannot provide support on that. The SDK is qualifies only with LTO enabled.

Yes, you could use SDK v6.0.16. You can find on the Release Notes all the features and issues that have been included/fixed in the most recent versions. With SDK v6.0.16 you can make an application for a commercial product.

Best Regards,
OV_Renesas

So I have understood that you don't recommend using the latest SDK version with ARM v6 compiler without LTO. But however, I haven't understood if you recommend using the latest SDK with ARM compiler v5. I have tried to install it and build an example, it builds without error.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages