Setting up Development Environment
Dresden Elektronik radio modules are designed to work with a special software stack developed by Dresden Elektronik and Atmel. In order to use this stack, first the working environment and the toolchain need to be configured properly.
This section tries to provide some information on how to set up the environment in order to work with the modules.
Contents
Setting up Toolchain
The Dresden Elektronik software stack uses makefile based approach for compilation of the source code. Makefiles, originating from Unix based systems, use modified Bash like syntax. Thus it is necessary for the operating system to be able to run some Unix commands. While this is not a problem in GNU/Linux, Windows needs some additional tools to be installed in order to be able to execute the commands found in the makefiles.
The software stack expects the GNU C cross-compiler (GCC) to be used for compilation. Since two different platforms are used (AVR and ARM), also two different cross-compiler toolchains, on for each platform, are needed to be installed on the development system.
Last, but not least, some software for uploading the code to the microcontrollers is also needed.
The following subsections try to give some information about installing the tools necessary for working with the Dresden Elektronik radio/MCU modules.
Microsoft Windows
In order to work with the modules in Windows, some additional tools need to be installed. Usually, the path where they are installed, does not matter, but needs to be specified in the system path variable. Table below describes the tools, gives download links and shows the correct path that is needed to be added to the system path variable. [inst_root] means the root installation directory for the software.
Tool | Link | Latest version at the time of writing |
System path variable | Description | Notes |
Yagarto tools | Download | 20121018 | [isnt_root]\bin | Make command + tools for minimal Unix-like environment | Run the installer, then manually add the path |
AVR toolchain | Download | 3.4.5 | [isnt_root]\bin | AVR compiler toolchain (avr-gcc) | Run the installer, then manually add the path |
Yagarto | Download | 4.7.2 | [isnt_root]\bin | ARM compiler toolchain (arm-gcc) | Run the installer, then manually add the path |
libusb-win32 | Download | 1.2.6.0 | Not needed | libusb USB library implementation for Windows | Download the .exe file and run it. When asked, do not run the filter installer wizard. |
avrdude | Download | 6.1 | [isnt_root] | AVR programming software | Download the avrdude-#.#-mingw32.zip file. (# = 0...9) Unpack it. Modify the system path according to the unpacking directory. |
AVRDragon driver | Download | N/A | Not needed | Windows driver for AVR Dragon AVR programmer | Download the driver. Unpack it. Plug in AVR Dragon. Use Device Manager to install the driver. |
J-link | Download | 5.00h | [isnt_root] | Windows driver for Atmel SAM-ICE ARM programmer, J-link programming software | Download Software and documentation pack from the webpage. Unpack. Install. Make modifications to the system path. |
deRFnode/deRFgateway USB serial driver | Download | 1.05 | Not needed | Driver for deRFnode/deRFgateway USB serial port | Download the file deRFusb V#_## (# = 0...9). Unpack it. Connect the board. Use Device Manager to install the driver. Note: As of July 2015, there was no official Windows 8.1 support for this driver. |
Sniffer | Download | 1.0.1 | Not needed | Bitcatcher driver and PC sniffing software | Download by clicking on the bitcatcher link. Unpack. Install driver usingdevice manager from driver/deRFusb folder. Install PC software from pc folder. |
GNU/Linux
See GNU/Linux related material (under construction).
Getting the Software Stack
The software stack is based on Atmel's IEEE 802.15.4 MAC stack, with some additions from Dresden Elektronik. There are currently two ways for obtaining the stack: either by using the official stack from Dresden Elektronik or downloading the pre-prepared and modified version from ATI's server (recommended).
Note: When installing the stack, it is recommended to install it directly into a folder that is located in the root of a drive. Otherwise, as the stack's directory structure is quite complex, OS's maximal path length can be hit while compiling. This will result in failure of the compilation process. (Default location (C:\Atmel) is OK)
Note 2: Not all examples provided with the stack work out of the box or have support for all platforms Only App_3_Beacon_Payload and App_4_Beacon_Broadcast_Data under MAC_Examples are guaranteed to work out of the box if the system is configured properly and the version downloaded from ATI's server is used. For all other examples and own projects, please use makefiles from these examples as a basis for proper configuration.
Downloading the stack from Dresden Elektronik
If the stack from Dresden Elektronik is desired for some reason, it can be downloaded from their website. The downloading / installation is a 3 step process:
- The Atmel MAC stack needs to be downloaded and installed from here
- Dresden Elektronik MAC additions need to be downloaded from here. After download, the Dresden Elektronik additions need to be installed on top of the Atmel MAC stack, into the same folder, overwriting files when asked.
- The Dresden Elektronik 6LoWPAN addition needs to be installed on top of the stack in similar fashion as the MAC addition. It can be downloaded from here.
Note: When using this method, there will not be any support for deRFmega256 chip and PWM in ARM controllers.
Setting up IDE
The recommended IDE for usage with the Dresden Elektronik software stack is Eclipse for C/C++ Developers. It can be downloaded for free from here.
After installing Eclipse, a new project containing the Dresden Elektronik communication stack can be created by following the next steps:
- File -> New -> Makefile Project with Existing Code
- For Existing Code Location, select the path to the toplevel folder of the stack, leave other settings to default and click Finish.
Compiling and flashing the code is done using makefiles. More information on using the stack can be found on Using the MAC / 6LoWPAN stack page.