![](images/analog_devices.png)
Analog Devices ADuC7000 CPU Support Package
This package contains project templates and system files for the Analog Devices ADuC7000.
CrossWorks Version 3 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 Analog Devices ADuC7000 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 Analog Devices ADuC7000 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 Analog_ADuC7000.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 Analog Devices ADuC7000 CPU Support Package link to view the package and its contents.
- To install this support package using other versions
Release Notes
1.8
- 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.
1.7
- Added ADuC7023 support.
1.6
- Added ADuC7060 and ADuC7061 support.
1.5
- Updated I2C register definitions.
1.4
- There is now a loader for devices with 4KB of SRAM.
1.3
- 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.
1.2
- 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.
1.1
- 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.
1.0
- Initial Release.
Documentation
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.
Flash Loaders
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.
Known Problems
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.