The Programming Process
To program a dual-core dsPIC33CH Digital Signal Controller two projects must be set up, one for the Master CPU and one for the Slave CPU. These two projects are incorporated into one hex file by MPLAB® X IDE. The combined project file is programmed into the device's Flash memory. During start-up, the device will copy the Slave project's instructions from FLASH into PRAM for execution by the Slave CPU. If the projects are set up using MPLAB Code Configurator (MCC), then the start-up code is configured and inserted into the hex file without specific intervention by the application programmer… MCC takes care of everything!
This page is part of a tutorial which provides information on using MCC to customize Master and Slave cores to leverage the maximum potential of a dual-core device. To support independent code development for each core, MCC can be started on either the Master or Slave core's MPLAB X IDE project.
Hereafter, a Master and Slave core's MPLAB X IDE project will be referred to as the Master project and the Slave project, respectively.
There are four distinct steps which must be taken to program a dual-core device:
- Set up the Master core using MCC.
- Set up the Slave core using MCC.
- Export the Slave core related MCC settings from the Master project.
- Import the Slave core related MCC settings done in the Master project to the Slave project.
In a Master project, Slave core related fuses need to be configured. This information needs to be shared with the Slave project and is facilitated by exporting and importing configuration-related information using MCC. The sharing of information from the Master project to the Slave project facilitates MCC to display the settings in the Slave project, which you configure in the Master project. If this information is not shared, MCC will display the default setting values in the Slave project. These settings are not editable in the Slave project and are only shown to help you in independent code development. Any change required in these settings can only be done in the Master project. Any modification you make to the Slave core fuses in the Master project, the settings have to be shared with the Slave project, and MCC displays these settings in the Slave project in synchronous with the Master project.
For more information on dual-core devices visit the dsPIC33CH family page.
For more information on getting started with dual-core devices, refer to Application Note "AN2721".
Learn More
Procedure
Configuring the Master Project
Configuring the Slave Project