Difference between revisions of "Setting up Development Environment"

From ATI public wiki
Jump to: navigation, search
Line 1: Line 1:
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, the working environment and the toolchain need to be configured properly.
+
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.
 
This section tries to provide some information on how to set up the environment in order to work with the modules.
  
 
==Setting up Toolchain==
 
==Setting up Toolchain==
In order to work with the modules, two toolchains are needed - one for compiling and flashing AVR modules and one for ARM modules.
+
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.
  
===AVR===
+
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.
The AVR toolchain consists of following components:
+
* '''avr-binutils:''' linker, assembler, etc for the AVR platform
+
* '''avr-gcc:''' the GNU C cross-compiler for the AVR platform
+
* '''avr-libc:''' C libraries and header files for the AVR platform
+
* '''avrdude:''' for uploading the code to the chip
+
  
====Microsoft Windows====
+
Last, but not least, some software for uploading the code to the microcontrollers is also needed.
In Windows installing of the AVR toolchain is quite easy. All that is needed is to download and install [http://winavr.sourceforge.net/download.html WinAVR] (old version) (or [http://www.atmel.com/tools/atmelstudio.aspx Atmel Studio]).
+
  
'''Note:''' Atmel stopped developing WinAVR as a separate entity in 2010 and it is now distributed as a component of the Atmel Studio package. Although the last (2010) seperate version is still available for download, it does not support the newer ATmega256RFR2 controller. For users who do not want to download and install the entire Atmel Studio package, a newer, seperate WinAVR, extracted from the Atmel Studio package is available [https://strudel.pld.ttu.ee/owncloud/public.php?service=files&t=ad6e40949ec8e6ffc63d8ab077e99f26 here].
+
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.
 +
{| class="wikitable" style="margin: left;"
 +
| '''Tool'''
 +
| '''Link'''
 +
| '''Latest version <br> at the time of writing'''
 +
| '''System path variable'''
 +
| '''Description'''
 +
|-
 +
| Yagarto tools
 +
| [https://code.google.com/p/csud/downloads/detail?name=yagarto-tools-20121018-setup.exe&can=2&q= Download]
 +
| 20121018
 +
| [isnt_root]\bin
 +
| Make command + tools for minimal Unix-like environment
 +
|-
 +
| AVR toolchain
 +
| [http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORWINDOWS.aspx Download]
 +
| 3.4.5
 +
| [isnt_root]\bin
 +
| AVR compiler toolchain (avr-gcc)
 +
|-
 +
| Yagarto
 +
| [http://sourceforge.net/projects/yagarto/ Download]
 +
| 4.7.2
 +
| [isnt_root]\bin
 +
| ARM compiler toolchain (arm-gcc)
 +
|}
 +
 
 +
===GNU/Linux===
 +
See [[GNU/Linux related material]] (under construction).
  
 
==Setting up IDE==
 
==Setting up IDE==

Revision as of 17:18, 9 July 2015

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.

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
Yagarto tools Download 20121018 [isnt_root]\bin Make command + tools for minimal Unix-like environment
AVR toolchain Download 3.4.5 [isnt_root]\bin AVR compiler toolchain (avr-gcc)
Yagarto Download 4.7.2 [isnt_root]\bin ARM compiler toolchain (arm-gcc)

GNU/Linux

See GNU/Linux related material (under construction).

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:

  1. File -> New -> Makefile Project with Existing Code
  2. For Existing Code Location, select the path to the toplevel folder of the stack, leave other settings to default and click Finish.