![](images/atmel.png)
Atmel SAMA5D3 CPU Support Package
This package contains project templates and system files for the Atmel SAMA5D3.
CrossWorks Version 4 Installation Instructions
This package can only be installed if you have the following CrossWorks license bolt-ons:
- ARM License
- To install this support package
-
- Click the Tools > Package Manager menu option to open the package manager window.
- Right click on the Atmel SAMA5D3 CPU Support Package entry and select Install Selected Packages.
- Click Next to take you to the summary page.
- Click Next to install the package.
- Click Finish to close the package manager window.
- Click the Tools > Show Installed Packages.
- Click on the Atmel SAMA5D3 CPU Support Package link to view the package and its contents.
- To manually install this support package
-
- If you have not done so already, follow the CrossWorks Tasking Library Package installation instructions.
- Download the file SAMA5D3.hzq using your web browser.
- Click the Tools > Manually Install Packages menu option.
- Select the file you have just downloaded to install the package.
- Click the Tools > Show Installed Packages.
- Click on the Atmel SAMA5D3 CPU Support Package link to view the package and its contents.
- To install this support package using other versions
Release Notes
3.0
- Supplied latest version of libchip_sama5d3x header and library files.
- Removed SAMA5D5SimulatorMemory reselect the Target processor to use the default simulator.
- Modified SystemCoreClockUpdate to not use CKGR_MCFR.
- Modified SAMA5D3_Startup.s to enable it to be assembled with clang.
1.1
- Added SAMA5D36 support.
- Fixed building startup code when Soft floating point is selected.
- Updated libchip_sama5d3x to that supplied in Softpack version 1.3.2.
- Added ctl_lowest_isr_priority/ctl_highest_isr_priority/ctl_adjust_isr_priority/ctl_sleep/ctl_woken to SAMA5D3_ctl.c.
- Fixed NESTED_INTERRUPT support in irq_handler.
1.0
- Initial Release.
Documentation
Creating SAMA5D3 Projects
To create a new SAMA5D3 project
- Select the File > New > New Project menu item.
- Select the appropriate Generic SAMA5D3 from the Categories list.
- Select the required project template type from the Templates list.
- Set the required project name and location directory.
- Click OK.
To build and debug an application the runs in Internal SRAM
- Select the project to work on by using the Project > Set Active Project menu option.
- Select the configuration you require by using the Build > Set Active Build Configuration menu option.
- Build the project by using the Build > Build Project menu option.
- Connect to the appropriate target in the target window.
- Download and start debugging the current project by using Debug > Start Debugging.
SAMA5D3 Project Specifics
Target Processor
Once a project has been created you can select different target processors from the selected set by right clicking on the project node in the project explorer and selecting the Target property.
Selecting the target processor will specify the memory map that is used for the build and debug. You can view the selected memory map by right clicking on the project node in the project explorer and selecting Edit Memory Map. In the memory map files the memory segments defining the names, sizes and access types of the external memories are specified using macros which can be set using the Memory Map Macros project property.
Section Placement
CrossStudio for ARM supports SAMA5D3 projects running applications in a number of different memory configurations. You can select the memory configuration you require by right clicking on the project node in the project explorer and selecting the Placement property.
For SAMA5D3 projects the set of placements are:
- ISRAM application runs in internal SRAM.
- SDRAM application runs in SDRAM and can be loaded from SPIFlash.
Target Startup Code
The startup code SAMA5D3_Startup.s is common to all SAMA5D3 processors there are a set of preprocessor defines that configure the startup code and are documented in the startup file itself.
Target Reset Script
The reset script SAMA5D3_Target.js resets the target under debug control using the NSRST signal connected to the debug port.
CTL support
The file SAMA5D3_ctl.c implements the ctl_set_isr, ctl_unmask_isr and ctl_mask_isr functions by programming the AIC register group. The vector parameter to these functions corresponds to the peripheral identifier as defined in the appropriate device user manual. The priority parameter to the ctl_set_isr is between 0 and 7 then an ARM IRQ exception is generated. If nested interrupts are enabled on the irq_handler then the priority is a pre-emption priority i.e. interrupt handlers can be interrupted by higher priority interrupt handlers. If the priority parameter to the function ctl_set_isr is 8 then an ARM FIQ exception is generated. The startup code SAMA5D3_Startup.s implements the irq_handler and fiq_handler exception handlers.
Header and Library Files
The Atmel libchip_sama5d3x header and library files are provided.