Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years, 4 months ago.
Building with GNU Tools ARM Embedded
Hi,
I'm trying to compile the interface in an attempt to port it to the LPC11U24. As I can't afford a full version of Keil, and the evaluation version gives an error of (L6047U. The size of this image (<actual_size> bytes) exceeds the maximum allowed for this version of the linker). I've been trying to use GNU Tools ARM Embedded instead.
I was wondering if anyone has managed to get this working? So far what I have discovered is.
-The software only works with Python 2 and will fail with Python 3. - You need to install a version of Keil -I commented out versions of the build script that didn't seem necessary /media/uploads/john_ginger/build.py (i've attached my version) -You can change Keil to use GCC by opening \interface\mdk\lpc11u35\lpc11u35_interface.uvproj and then selecting Project ->Manage->Components,Enviroments and Book then going to enviroments and ticking Use GCC (which should really be a radio button) You then will get an error about it not being an ARM processor on compliation so you need to go to Project ->Options for Target then go to CC and tick "Compile Thumb Code"
If I then attempt to build using tools python build.py I get the error
[WARNING] Using default settings. Define your settings in the file private_setti ngs.py Building target k20dx128_bootloader of k20dx128_bootloader.uvproj... Status = 1 Building target lpc11u35_bootloader of lpc11u35_bootloader.uvproj... Status = 1 Building target lpc11u35_lpc1114_if of lpc11u35_interface.uvproj... Status = 2
- Error building target lpc11u35_lpc1114_if of lpc11u35_interface.uvproj
Digging a little further into \interface\mdk\lpc11u35\Obj\lpc11u35_lpc1114\lpc11u35_lpc1114_if.build_log.htm I get
.\Obj\lpc11u35_lpc1114\lpc11u35_lpc1114_if.axf: error: L6047U: The size of this image (33376 bytes) exceeds the maximum allowed for this version of the linker Finished: 0 information, 0 warning, 0 error and 1 fatal error messages. ".\Obj\lpc11u35_lpc1114\lpc11u35_lpc1114_if.axf" - 1 Error(s), 5 Warning(s).
Which doesn't seem to make sense as I should be using the GCC linker
I don't know if any of these steps are the correct ones but I was wondering if anyone had managed to get any further and could give me some pointers.
Question relating to:
2 Answers
10 years, 4 months ago.
Hello John Ginger,
the gcc support for the CMSIS-DAP will appear eventually, I am currently spending my free-time creating exporters.. This should allow us to port it to various IDE. Currently, GCC is not supported, so you have to supply required files (startup, linker command file).
Regards,
0xc0170
Is there any way to use the interface firmware on an LPC 11U24 then without spending money on purchasing a full version of Keil uVision?
posted by 21 Jul 2014I believe currently no.. I am trying to compile it currently using gcc arm, but it fails by big number of errors. Reason? Most of code (let's take USBStack as example, not to mention RTX and other middleware there) is written using ARMCC specific syntax (like _swi, pragmas and other specifiers), it requires quite large refactoring... This one should work under GCC: http://mbed.org/users/va009039/code/Simple-CMSIS-DAP/, haven't looked it yet, what it offers, but could be a good start :)
posted by 21 Jul 201410 years, 4 months ago.
Be wary of this warning:
[WARNING] Using default settings. Define your settings in the file private_setti ngs.py
It's imperative to define the correct settings in private_settings.py.
Do you know where private_settings.py is? Or where it should be? I've edited settings.py to FROMELF = 'C:\Keil\ARM\ARMCC\bin\fromelf.exe' UV4 = r'C:\Keil\UV4\UV4.exe'
posted by 21 Jul 2014Which repo are you using? The mbed repo https://github.com/mbedmicro/mbed is what I started with. It's recommended to copy workspace_tools/settings.py to workspace_tools/private_settings.py and make your modifications there.
I started an mbed API port for MSP430 https://github.com/atamariya/mbed. I'm trying to simplify the build process. This allows one to use a Makefile in addition to default Python script. Doing a blinky example with this code should be an easy win. Just make a copy of mbed\libraries\mbed\targets\hal\TARGET_TI and mbed\libraries\mbed\targets\cmsis\TARGET_TI folders and modify the files as per the platform. Let me know if that helps you.
posted by 22 Jul 2014Thanks - I will check it out. I'm working off the https://github.com/mbedmicro/CMSIS-DAP repo
posted by 25 Jul 2014