From: Marco Schuler <marco.schu...@gmail.com> Date: 2017-01-12 11:16 GMT+01:00 Subject: Re: [cmake-developers] Creating a Keil uVision generator To: Paul Wilkinson <paul.wilkin...@cmedrobotics.com>
Hi all 2017-01-03 0:27 GMT+01:00 Paul Wilkinson <paul.wilkin...@cmedrobotics.com>: > Hi all, > > I am involved in a software project targeting a handful of ARM Cortex-M > microcontrollers. We develop the software using the Keil uVision v5 IDE > [1]. We > are considering whether CMake could help us with some of the limitations we > encounter using uVision alone. Same here. Lots of different boards and applications with shared code. It is a nightmare to manage all the configurations in uVision! I was thinking and investigating for a uVision generator some time ago already. I was also talking to the people from Keil at the embedded world congress about it. They did not like an approach using a template project that would be filled in with contents derived from CMake. There approach would be to generate a project-import file (xml) that can be imported with uVision using the -i option (see http://www.keil.com/ support/man/docs/uv4/uv4_commandline.htm). The format of such a file is specified in "C:\Keil_v5\UV4\project_import.xsd". The problem with such an import is that the available options are not sufficient for most cases. > Does anyone have experience or insight in to creating a CMake generator > for an > embedded systems IDE like uVision? > > Read on for some technical details. > > A uVision project's structure appears _roughly_ similar to a Microsoft > Visual > Studio 12 project. uVision has a Multi-Project Workspace (.uvmpw) rather > than a > VS solution (.sln), and a uVision Project (.uvprojx) instead of a VS > project > (.vcxproj). While looking at the directory that contains the project_import.xsd, I struggled over the following files: - project_optx.xsd - project_mpw.xsd - project_proj.xsd - project_opt.xsd - project_projx.xsd Here, all the possible options for project-/opt-/uvmpw-files are defined. Maybe these could be a starting-point for a uVision generator. > > > Some of the benefits I would imagine we would get from such a generator: > > - more human-friendly and diff-friendly project files (CMakeLists.txt > instead > of .uvprojx) > > - avoiding a combinatorial explosion of configurations by using the CMake > language and its cache variables. > I fully agree to these points! -- Cheers! Marco > ________________________________ > > This e-mail message is confidential and for use by the addressee only. If > you are not the intended recipient, you must not use, disclose, copy or > forward this transmission. Please return the message to the sender by > replying to it and then delete the message from your computer. Cambridge > Medical Robotics shall not be held liable to any person resulting from the > use of any information contained in this e-mail and shall not be liable to > any person who acts or omits to do anything in reliance upon it. Cambridge > Medical Robotics does not accept responsibility for changes made to this > message after it was sent. > > Company Information: > Name: Cambridge Medical Robotics Limited. > Registered Address: Unit 2, Crome Lea Business Park, Madingley Road, > Cambridge, CB23 7PH, UK. > Registered as a Company in England: 08863657 VAT Number: GB 186 4383 74. > i...@cmedrobotics.com > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at http://www.kitware.com/opensou > rce/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake-developers >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers