I'm using uVision 5.25, and this IDE is difficult to work with. So I would like to use a different IDE that supports the Keil ARM toolchain. I see that Keil has an Eclipse IDE plugin for uVision 4 projects but not for version 5.
Is there an alternative IDE for Windows?
Here are some of the issues I have with uVision that make it difficult.
- When adding files to a group, if the files are scattered in a directory tree with subdirectories, I have to search for the files to add them. - The editor windows are not synced with the project window. - The project window can't sort files alphabetically. - Repositioning docked windows are not saved and move back to their default position when uVision is reopened. I run the program as Administrator. - The functions window lists all the functions in the project, not the current edit window's functions. - I can't add new projects to a multi-project workspace. I have to destroy the workspace file and then create the new projects.
I find more annoyances and difficulties each time I use uVision.
Hello Robert,
Thank you for the feedback. Here's how I use the Keil tools to do the equivalent of what you described. Let me know if they give you the functionality you need.
"Sort files alphabetically" -------------------------- - I use the View-> Functions Window: http://www.keil.com/support/man/docs/uv4/uv4_ui_functionstab.htm - The contents of this window get dynamically generated as you type / add code to source files. It works even if you haven't built your project.
"Repositioning docked windows" ----------------------------- - There is no need to run as administrator unless you are licensing your tools. The Keil tools memorize the window position/preferences for each user that works on a project in a *.uvguix file. - So there is a Kevin.uvguix file for my settings, and a Bob.uvguix for my coworker Bob's settings. If that is not working, perhaps you file got corrupted - you can reset it: http://www.keil.com/support/docs/3890.htm
"Add new projects to a multi-project workspace" - I do that under Project - Manage - Multi-Project Workspace. Also try not running as administrator: See www.keil.com/.../uv4_ca_managemultiprojectfile.htm
"List the current edit window's functions" ------------------------------------------ - The Function window is dynamically generated as you type. When debugging, I use the symbol window to view the symbols of the actual project: http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_symwin.htm - This requires Browse information, and that the project links successfully.
- To find additional code elements, use the Source Browser. http://www.keil.com/support/man/docs/uv4/uv4_ut_sourcebrowser.htm
"Syncing the project window with the editor windows" ---------------------------------------------------- - Could you please explain this a bit more? I might be able to help.
"Adding files scattered in a directory tree with subdirectories" - There is not a eclipse like drag a file to add it feature. From the "Add Files to Group" dialog you can hold down the shift button to add several files at once, but only from that folder location. - Fortunately, many device vendors offer Device Packs, so perhaps the code you are adding is already in a pack. Using the 'Manage RTE' window, I can choose a component, and the Keil IDE will bring in those files. http://www.keil.com/support/man/docs/uv4/uv4_ca_rtemanager.htm - If you keep adding the same files over and over to all of your projects, you can make your own custom pack file. All a pack file is an XML description file and a zip file. We have templates to get you started.
- Personally, I have done a workaround, and opened the uvprojx in a text editor and added the files by directly editing the uVision project file itself.
- The Pack Installer is the big feature of the Keil IDE, It makes it easy to find out about 3rd party code updates, manage those updates, and itegrate them into your project. See the video at: www.youtube.com/.../GYPmPBqsTIA
============== Saying all of that, Keil's is a Compiler, Debugger, Middleware company - we give the IDE away at no additional cost. We know there are very good IDEs out there, and that programmers have a personal preference. I myself often use my favorite text editor to edit code, and call the Keil tools from command line.
http://www.keil.com/support/man/docs/uv4/uv4_commandline.htm
Again we appreciate your feedback.
"Sort files alphabetically" "Syncing the project window with the editor windows"
These are navigation issues. If I want to find a file and I know it begins with the letter 'f', I can click in the project window and type 'f'. It will find the first file beginning with 'f'. If the files in the project window can be sorted alphabetically, I see all the files starting with 'f'. Note that I am talking about file names, not function names. Syncing the project and editor window means that selecting an editor tab will automatically show and highlight the file name in the project window and vise-versa.
"Repositioning docked windows"
I'll look into this one.
"Add new projects to a multi-project workspace"
I should have clarified this one. I mean "Create a new project in a multi-project workspace". When I created a multi-project workspace, the "Project->New uVision Project..." menu is grey'd out and inactive.
"List the current edit window's functions"
Lets say I'm jumping between function aaa and zzz in the same editor window. Or just looking for a particular function that I can't remember the exact name. The Functions window has too much information in it to be very useful.
"Adding files scattered in a directory tree with subdirectories"
I was trying to add STM32 LwIP TCP/IP stack to my project. It would have been nice to be able to select a directory and import all the files found under it.
I myself often use my favorite text editor to edit code, and call the Keil tools from command line.
This kind of defeats the purpose of an IDE (Integrated Development Environment). We are trying to put together a unified global development environment for current and future programmers here.
So I guess the answer is "No".
I'll add two things to this...
1) Project tree don't allow sub-trees 2) Browse information is an extreme resource hog. Both with ARM Compiler 5 (4-6 times longer compile time) and ARM Compiler 6 (dynamic generation can cause massive delays in editor).
With a project containing over 1000 source files, it can get annoying at times.