Analog Devices ADuC7000 CPU Support Package
This package contains project templates and system files for the Analog Devices ADuC7000.
CrossWorks Version 1 Installation Instructions
- To install this support package
- Download the file Analog_ADuC7000.hzq using your web browser.
- Click the Tools > Install Package menu option.
- Select the file you have just downloaded to install the package.
- To install this support package using other versions
- Fixed download to Flash when the "Erase All" target property is set to "Yes".
- Fixed the reading of read sensitive interrupt registers when the IRQ register group is displayed in the registers window.
- Loaders now build in CrossWorks v2.1.
- Added ADuC7023 support.
- Added ADuC7060 and ADuC7061 support.
- Updated I2C register definitions.
- There is now a loader for devices with 4KB of SRAM.
- The file Analog_ADuC7000.c is now always compiled without optimisation on new projects. Existing projects should ensure this to avoid the irq_handler2 being inlined and consequently writing to a register that hasn't been saved by the irq_handler.
- Fixed ADuC7128 and ADuC7129 Timer0 register definitions. Standard loader is now RPC rather than DCC. Added support for ADuC7028, ADuC7128, ADuC7129. libaduc7000 supports dual-flash-array devices. Corrected FLASH memory size for some devices in the memory map files.
- Standard loader is now RPC rather than DCC. Added support for ADuC7028, ADuC7128, ADuC7129. libaduc7000 supports dual-flash-array devices. Corrected FLASH memory size for some devices in the memory map files.
- Initial Release.
Creating ADuC7000 Projects
To create a new Analog ADuC7000 project
- Select the File > New > New Project menu item.
- Select Analog Devices ADuC7000 from the Project Type list.
- Select the required project template type from the Templates list.
- Set the required project name and location directory.
- Click OK.
CrossStudio for ARM supports the ADuC7000 running applications from both RAM and FLASH.
To build and debug an application
- 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.
The following sections describe the Analog ADuC7000 support in more detail.
Memory Map Files
Default memory map files have been provided in the $(StudioDir)/targets/Analog_ADuC7000 directory for each member of the ADuC7000 family. These files are used to describe the memory layout of the target and is used for linking and debugging. The placement of program sections within the memory map for both RAM and FLASH configurations is described by the non-target-specific default memory maps $(StudioDir)/targets/flash_placement.xml and $(StudioDir)/targets/sram_placement.xml.
The Build > Target Processor project property specifies which of the ADuC7000 family memory map files are used.
Target Startup Code
The default startup code is in $(StudioDir)/targets/Analog_ADuC7000/Analog_ADuC7000_Startup.s. It contains the exception vectors, target specific startup code and the default exception handlers.
There are two loaders for the ADuC7000 family: one for ADuC70xx devices with a single flash controller and one for ADuC71xx devices with dual flash controllers. When you change a project's target processor, the appropriate loader is selected also.
The debugger is unable to reset ADuC7000 targets properly which means that when you start debugging the processor and peripherals can be in an undefined state which can cause the program to behave unpredictably. We therefore recommend that you do one of the following:
- Don't allow the program to startup from reset by leaving STARTUP_FROM_RESET undefined when assembling the startup code (the default) and manually reset the target before starting the debugger using Debug > Start Debugging or Debug > Reset and Debug.
- Allow the program to startup from reset by defining STARTUP_FROM_RESET when assembling the startup code, manually reset the target and attach the debugger to the running program using Debug > Attach Debugger.
JTAG debug of ADuC7023 devices currently only works with the Segger J-Link. To debug the ADuC7023 with a J-Link we found that you also need to set the "JTAG > Speed" target property to ~800kHz.