100 likes | 118 Views
Eclipse[10]. MIPSinEclipse. Overview. Goal: To provide a friendly development environment for CS students programming in MIPS (particularly CS33 at UCLA), and early exposure to Eclipse. Updates since last presentation.
E N D
Eclipse[10] MIPSinEclipse
Overview • Goal: To provide a friendly development environment for CS students programming in MIPS (particularly CS33 at UCLA), and early exposure to Eclipse
Updates since last presentation • Completion of all milestones/requirements, many new features implemented since the midterm, plus an extra feature that was not in our requirements (SPIM execution with breakpoints)
Features • Editing environment with: • Syntax highlighting • Code collapsing (folding) • MIPS label browser for quick location of labels • MIPS Help: pop-ups explaining instructions and formats, viewing window with instruction set
Features • Macro processor capabilities: • Simple (string) macros • Macros with arguments (like functions) • Combining different files into a single file to run in SPIM *Note on the macro processor: using an existing macro processor was taken into consideration; none were found that were open source, easy to integrate (written in java), used a simple grammar, and known to be reliable (we found one on sourceforge, but it had no error checking in it)
Features • Simulator (built over SPIM): • Normal execution • Single step execution • Execution with breakpoints • Viewing window for register contents in different formats (hex, decimal, etc.)
Potential • Almost all universities teach MIPS architecture • SPIM is the most popular simulator, but doesn’t have an editor, and does not take macros or provide for execution with breakpoints • The Eclipse environment provides many nice features (indexable help contents, version management, searches, etc.) • Open source: free and customizable
Working with eclipse • For an application like this, it saves you a lot of work! • You have less to do because the Eclipse environment already has a lot of what you need (menu bar, customizable layout, “search” function, etc.) • Many components that you want probably already exist in the API (such as file wizards, message dialogs, and more) • It’s easy to test your plug-in; just click “run” to start new instance of Eclipse with plug-in added
Working with Eclipse • The challenge: seemingly simple tasks can take a lot longer than you expect • It is sometimes less than obvious how something should be done in Eclipse, since many of the internals are somewhat hidden from the developer • Finding helpful documentation on Eclipse plug-in development is difficult: • Eclipse comes out with new versions frequently, a lot of documentation is outdated, and sample source code no longer works (it does make a difference!) • Information is scattered among many different sources; often like “grab bags” of tricks • Overall, we think it’s a really good tool once you learn how to use it; it allows you to do a lot in much less time than building from scratch
What’s ahead: • April 10: meeting with Professor Smallberg and Professor Rohr to review, critique, and discuss possible changes and additions • In the meantime, make improvements to quality: • More testing • Refactoring • More help documentation for users • Improve the UI, aiming to make it more intuitive and easier to use • Get feedback from others • Goals: release next quarter, get accepted for use in CS33