<< Chapter < Page | Chapter >> Page > |
To develop applications to run on the MSP430 chip, we use the CrossWorks MSP430 IDE (integrated development environment). Not only does this application provide a powerful code editor, but it also allows a simple one-click deployment of the source code onto the MSP chip using USB as well as hardware debugging capabilities that allow you to trace through actual stack calls. This module is intended to get your started using CrossWorks quickly so that you may begin building your own MSP430 applications!
The very first thing you must do before you can start downloading any code onto the MSP, is to create a project in CrossStudio that will contain all of the relevant files for your application. Select File->New->New Project and the New Project dialog will appear. By default, the Standard Projects project type will be selected in the left window pane and you will see templates such as Project Wizard, Executable, Library, etc. Select the Project Wizard template within the Standard Projects project type. Enter in a name in the text field and make sure the location field is set to the correct directory for this project. If you have an existing solution loaded, then you can put the project into that solution or create a new solution. Don't worry if you do not know what a solution is, as it will be covered later in this tutorial. Click OK to create the project.
The project wizard will now guide you through creating your project. You will see a dialog box in which you need to customize the project based on the processor and project type. Click next and finish creating the project. The project explorer will now show the solution and the project you have just created. You'll notice that the project name is highlighted -- this is now the active project and subsequent build and debug operations will use this project. If you have more than one project then you can set the active project using the combo box on the build toolbar or the context menu of the project explorer.
If your project consists of more than one file, you will need to add it to the current project. To create a new file, go to Project->Add New File... If the file already exists, then choose Project -> Add Existing File ...
The CrossStudio compiler allows you to have multiple projects in different configurations all residing in a given solution. Usually, the projects differentiate themselves as a debug build or as a release build. Debug builds will have different compiler options. Configurations can also be used to produce variants of software. For example, a library could be built for several different hardware variants. Note that configurationsn inherit properties from other configurations, enabling a single point of change for definitions that are common to configurations. A particular proplerty can be overriden in a particular configuration to enable configuration specific settings.
Upon creation of a solution, the Debug and Release configurations are generated automatically.
The next important step that you must take is to make sure that there is heap available for the project to use. By default, there is no heap allocated. If your program will be mallocing and freeing memory dynamically, then you will need to change the heap size to a more appropriate value. To do this, choose menu item Project -> Properties ... You will then see a dialog box with various project options. In the left pane, click on your solution and then the linker tab on the right pane. There will be a Heap Size category that you can click on to change. The MSP430 has up to 2000 bytes of RAM that can be allocated for the heap. The heap size is an option that is set for a given solution and thus applies to all projects that are contained within a solution. Keep this in mind if your solution contains multiple projects.
Before any of the code can be executed, you need to first connect to a target. Make sure the board is connected via USB to the computer.. Then, go to Target -> Connect MSP430 USB CrossConnect . CrossStudio should be able to connect rather quickly to the MSP. If the application hangs, then check that the USB connection is secure, that the programming cables are plugged in correctly, and that power is being supplied to the device. If problems continue, try resetting the device, unplugging everything for awhile, and starting over again.
This is the part you've been waiting for: actually testing your program! Use the Debug -> Start Debugging menu item to load the currently active project and set your program running. You can also set any breakpoints beforehand; by default, there are no breakpoints set by the debugger.
You can pause the debugger when the target is running if you would like to look at the value of certain variables. Select Debug -> Break and open a watch window to examine the value of certain variables. It is suggested that you copy the variables you are interested in to temporary global variables. Because local variables go out of scope, it is uncertain if their correct value is maintained when the debugger is paused.
Debugging can be stopped using Debug -> Stop . At this point, the watch window will not display your variable values. At this point, I would suggest that you make any modifications to your program as necessary and restart the debugger from the beginning. It is possible to resume debugging by using Debug -> Go , but it is not recommended.
You're all set to start using the CrossStudio compiler to write embedded microcontroller code.
Notification Switch
Would you like to follow the 'Microcontroller and embedded systems laboratory' conversation and receive update notifications?