<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://conceptcar.iese.de:80/ConceptCar1/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://conceptcar.iese.de:80/ConceptCar1/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kenan</id>
		<title>ConceptCar - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://conceptcar.iese.de:80/ConceptCar1/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kenan"/>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=Special:Contributions/Kenan"/>
		<updated>2026-05-04T12:03:18Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.2</generator>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T13:14:01Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Debugging Example Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting Eclipse (Ganymede/Helios)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* If you choose Eclipse(GANYMEDE)you will need to install Zylin GDB embedded debugging plugin. Therefore run Eclipse, go to Help-&amp;gt;Install new Software. Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 300px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Debugging in Eclipse Helios is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
** Use window 1 for initialization commands&lt;br /&gt;
** Use window 2 for run commands&lt;br /&gt;
** do not check &amp;quot;break at: &amp;quot; and &amp;quot;resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* After that go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Debug Configuration&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T13:11:26Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting Eclipse (Ganymede/Helios)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* If you choose Eclipse(GANYMEDE)you will need to install Zylin GDB embedded debugging plugin. Therefore run Eclipse, go to Help-&amp;gt;Install new Software. Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 300px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Debugging in Eclipse Helios is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
** Use window 1 for initialization commands&lt;br /&gt;
** Use window 2 for run commands&lt;br /&gt;
** do not check &amp;quot;break at: &amp;quot; and &amp;quot;resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T13:10:50Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Configure FreeRTOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting Eclipse (Ganymede/Helios)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* If you choose Eclipse(GANYMEDE)you will need to install Zylin GDB embedded debugging plugin. Therefore run Eclipse, go to Help-&amp;gt;Install new Software. Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 300px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Debugging in Eclipse Helios is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
** Use window 1 for initialization commands&lt;br /&gt;
** Use window 2 for run commands&lt;br /&gt;
** do not check &amp;quot;break at: &amp;quot; and &amp;quot;resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T13:10:16Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting Eclipse (Ganymede/Helios)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* If you choose Eclipse(GANYMEDE)you will need to install Zylin GDB embedded debugging plugin. Therefore run Eclipse, go to Help-&amp;gt;Install new Software. Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 300px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Debugging in Eclipse Helios is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
** Use window 1 for initialization commands&lt;br /&gt;
** Use window 2 for run commands&lt;br /&gt;
** do not check &amp;quot;break at: &amp;quot; and &amp;quot;resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T13:04:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Configuring Eclipse (HELIOS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 300px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Debugging in Eclipse Helios is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
** Use window 1 for initialization commands&lt;br /&gt;
** Use window 2 for run commands&lt;br /&gt;
** do not check &amp;quot;break at: &amp;quot; and &amp;quot;resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T13:03:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Using Eclipse (HELIOS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 300px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Configuring and using the Helios version is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
** Use window 1 for initialization commands&lt;br /&gt;
** Use window 2 for run commands&lt;br /&gt;
** do not check &amp;quot;break at: &amp;quot; and &amp;quot;resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T13:03:13Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Using FreeRTOS in Eclipse (GANYMEDE) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Using Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 300px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Configuring and using the Helios version is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
** Use window 1 for initialization commands&lt;br /&gt;
** Use window 2 for run commands&lt;br /&gt;
** do not check &amp;quot;break at: &amp;quot; and &amp;quot;resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T13:02:19Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Using FreeRTOS in Eclipse (HELIOS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 300px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Configuring and using the Helios version is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
** Use window 1 for initialization commands&lt;br /&gt;
** Use window 2 for run commands&lt;br /&gt;
** do not check &amp;quot;break at: &amp;quot; and &amp;quot;resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T13:01:48Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Using FreeRTOS in Eclipse (HELIOS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 300px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Configuring and using the Helios version is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
** Use window 1 for initialization commands&lt;br /&gt;
** Use window 2 for run commands&lt;br /&gt;
** do not check &amp;quot;break at: &amp;quot; and &amp;quot;resume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T12:58:02Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Using FreeRTOS in Eclipse (HELIOS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
[[Image:HeliosSelectStartup.JPG|thumb | GDB Startup| 400px]]&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Configuring and using the Helios version is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T12:57:03Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Configuring and using the Helios version is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
[[Image:HeliosSelectStartup.jpg|thumb | GDB Startup| 400px]]&lt;br /&gt;
&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:HeliosSelectStartup.JPG</id>
		<title>File:HeliosSelectStartup.JPG</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:HeliosSelectStartup.JPG"/>
				<updated>2010-12-13T12:55:42Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T12:55:05Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Using FreeRTOS in Eclipse (HELIOS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Configuring and using the Helios version is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* after adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
* last step is to add Startup information (see picture)&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T12:44:34Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Configuring and using the Helios version is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* Select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* Double click on GDB Hardware Debugging will create a new Configuration&lt;br /&gt;
* After adding project specific information change the Launcher from GDB (DSF) Hardware Launcher to Standard GDB Hardware Debugging Launcher&lt;br /&gt;
* Change to Debugger Tab and replace gdb with add arm-none-eabi-gdb&lt;br /&gt;
* uncheck Use remote target&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T12:34:04Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT] (Install CDT: Help-&amp;gt;Install new Software)&lt;br /&gt;
Configuring and using the Helios version is slightly different.&lt;br /&gt;
&lt;br /&gt;
Debug Configurations:&lt;br /&gt;
* Select Run-&amp;gt;Debug Configurations&lt;br /&gt;
* Double click on GDB Hardware Debugging&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T12:24:49Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT]&lt;br /&gt;
Configuring and using the Helios version is slightly different than the Ganymede. Install CDT: Help-&amp;gt;Install new Software&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T12:18:59Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Using FreeRTOS in Eclipse (HELIOS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* For Eclipse Helios see below&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php  C/C++ Development Tooling - CDT]&lt;br /&gt;
. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T12:18:28Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse (GANYMEDE)==&lt;br /&gt;
* For Eclipse Helios see below&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download [http://www.eclipse.org/cdt/downloads.php/  C/C++ Development Tooling - CDT]&lt;br /&gt;
. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-12-13T12:13:00Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: /* Using FreeRTOS in Eclipse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (GANYMEDE)==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse (HELIOS)==&lt;br /&gt;
&lt;br /&gt;
For using Eclipse Helios version, first download the C/C++ Development Tooling - CDT. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T14:20:41Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead of the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T14:16:10Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging. These can be used instead the first steps mentioned above.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T14:15:12Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;br /&gt;
* Eclipse provides shortcut buttons for running External Tools and Debugging.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T14:09:21Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 300px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set/removed by double click&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T14:07:16Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
&lt;br /&gt;
==Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;br /&gt;
* Breakpoints will be set by double click&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T13:58:55Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
&lt;br /&gt;
==Example Project==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Project and import it into Eclipse.&lt;br /&gt;
* Build the project and follow the steps mentioned above&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:EclipseDebugSession.jpg</id>
		<title>File:EclipseDebugSession.jpg</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:EclipseDebugSession.jpg"/>
				<updated>2010-08-19T13:58:25Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: uploaded a new version of &amp;quot;Image:EclipseDebugSession.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T13:52:42Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
&lt;br /&gt;
==Example Project==&lt;br /&gt;
Download the [[Media:FreeRTOS LED Blink Example.zip | FreeRTOS LED Blink Example]] Example Project and import it into Eclipse.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T13:49:35Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
&lt;br /&gt;
==Example Project==&lt;br /&gt;
Download the [[Media:FreeRTOS LED Blink Example.zip]] Example Project and import it into Eclipse.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T13:46:39Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
&lt;br /&gt;
==Example Project==&lt;br /&gt;
Download the [[Media: FreeRTOS LED Blink Example.zip]]Example Project and import it into Eclipse.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T13:46:18Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
&lt;br /&gt;
==Example Project==&lt;br /&gt;
Download the [[FreeRTOS LED Blink Example.zip]]Example Project and import it into Eclipse.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T13:45:47Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
&lt;br /&gt;
==Example Project==&lt;br /&gt;
Download the [[Media:FreeRTOS LED Blink Example.zip]]Example Project and import it into Eclipse.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:FreeRTOS_LED_Blink_Example.zip</id>
		<title>File:FreeRTOS LED Blink Example.zip</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:FreeRTOS_LED_Blink_Example.zip"/>
				<updated>2010-08-19T13:45:01Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: This is an example Eclipse Project where FreeRTOS has been used to let a LED blink.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is an example Eclipse Project where FreeRTOS has been used to let a LED blink.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T13:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;br /&gt;
&lt;br /&gt;
==Example Project==&lt;br /&gt;
Download the [[Media:Example.ogg]]Example Project and import it into Eclipse.&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T13:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOSConfig.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T12:55:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg |thumb | Debug Session| 200px]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;br /&gt;
* The debug session will start at the first executable&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T12:44:38Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:EclipseDebugSession.jpg]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:EclipseDebugSession.jpg</id>
		<title>File:EclipseDebugSession.jpg</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:EclipseDebugSession.jpg"/>
				<updated>2010-08-19T12:43:34Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: uploaded a new version of &amp;quot;Image:EclipseDebugSession.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:EclipseDebugSession.jpg</id>
		<title>File:EclipseDebugSession.jpg</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=File:EclipseDebugSession.jpg"/>
				<updated>2010-08-19T12:39:38Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T12:39:14Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
[[Image:Example.jpg]]&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T12:35:47Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
&lt;br /&gt;
==Run debugging==&lt;br /&gt;
* First go to Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T12:33:44Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using FreeRTOS in Eclipse==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Click Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
==Configure FreeRTOS==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T12:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an Eclipse Project for using FreeRTOS==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and the GDB.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Clock Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T12:26:35Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an Eclipse Project for using FreeRTOS==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Add the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and the GDB debugging.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Clock Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T12:00:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download [http://eclipse.org/downloads/packages/ Eclipse CDT]&lt;br /&gt;
   &lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of [http://sourceforge.net/projects/freertos/files/FreeRTOS/ FreeRTOS] &lt;br /&gt;
&lt;br /&gt;
* Get the [http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib Standard Peripheral Library for the STM32]&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with [http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite Sourcery G++ Lite] because it supports us with a library for the Thumb2 Instruction Set for the Cortex M3.&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD. Therefore download the [http://www.freddiechopin.info/index.php/en/download/category/4-openocd Windows Installer for OpenOCD] or the [http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280 OpenOCD Project Files] which has to be configured first, before using it.   &lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an Eclipse Project for using FreeRTOS==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Create the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need.There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and the GDB debugging.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Clock Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T11:33:05Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download Eclipse CDT from the Website below:&lt;br /&gt;
   http://eclipse.org/downloads/packages/&lt;br /&gt;
&lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Further Downloads== &lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of FreeRTOS from: &lt;br /&gt;
   http://sourceforge.net/projects/freertos/files/FreeRTOS/&lt;br /&gt;
&lt;br /&gt;
* Get the Standard Peripheral Library for the STM32&lt;br /&gt;
   http://www.st.com/mcu/inchtml.php?fdir=pages&amp;amp;fnam=stm32lib&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with the Sourcery G++ Lite because it supports us with a special library for the thumb2 which the Cortex M3 is using. For downloading CodeSourcery G++ Lite use the following Link:&lt;br /&gt;
   http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD, which can be downloaded from:&lt;br /&gt;
   http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280&lt;br /&gt;
&lt;br /&gt;
* Alternatively a Windows Installer for OpenOCD can be found at:&lt;br /&gt;
   http://www.freddiechopin.info/index.php/en/download/category/4-openocd&lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an Eclipse Project for using FreeRTOS==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Create the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need. There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. The files Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and the GDB debugging.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Clock Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T11:30:13Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download Eclipse CDT from the Website below:&lt;br /&gt;
   http://eclipse.org/downloads/packages/&lt;br /&gt;
&lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download FreeRTOS, a Toolchain and OpenOCD==&lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of FreeRTOS from: &lt;br /&gt;
   http://sourceforge.net/projects/freertos/files/FreeRTOS/&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with the Sourcery G++ Lite because it supports us with a special library for the thumb2 which the Cortex M3 is using. For downloading CodeSourcery G++ Lite use the following Link:&lt;br /&gt;
   http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD, which can be downloaded from:&lt;br /&gt;
   http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280&lt;br /&gt;
&lt;br /&gt;
* Alternatively a Windows Installer for OpenOCD can be found at:&lt;br /&gt;
   http://www.freddiechopin.info/index.php/en/download/category/4-openocd&lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an Eclipse Project for using FreeRTOS==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Create the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need. There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. The files Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and the GDB debugging.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Clock Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-19T11:13:30Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download Eclipse CDT from the Website below:&lt;br /&gt;
   http://eclipse.org/downloads/packages/&lt;br /&gt;
&lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get FreeRTOS and a Toolchain==&lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of FreeRTOS from: &lt;br /&gt;
   http://sourceforge.net/projects/freertos/files/FreeRTOS/&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with the Sourcery G++ Lite because it supports us with a special library for the thumb2 which the Cortex M3 is using. For downloading CodeSourcery G++ Lite use the following Link:&lt;br /&gt;
   http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD, which can be downloaded from:&lt;br /&gt;
   http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280&lt;br /&gt;
&lt;br /&gt;
* Alternatively a Windows Installer for OpenOCD can be found at:&lt;br /&gt;
   http://www.freddiechopin.info/index.php/en/download/category/4-openocd&lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an Eclipse Project for using FreeRTOS==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case where the STM32F103RB has been used, the Project structure contains the following folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create an empty C Makefile Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Create the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need. There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. The files Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and the GDB debugging.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Clock Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-18T14:18:58Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download Eclipse CDT from the Website below:&lt;br /&gt;
   http://eclipse.org/downloads/packages/&lt;br /&gt;
&lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get FreeRTOS and a Toolchain==&lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of FreeRTOS from: &lt;br /&gt;
   http://sourceforge.net/projects/freertos/files/FreeRTOS/&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with the Sourcery G++ Lite because it supports us with a special library for the thumb2 which the Cortex M3 is using. For downloading CodeSourcery G++ Lite use the following Link:&lt;br /&gt;
   http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD, which can be downloaded from:&lt;br /&gt;
   http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280&lt;br /&gt;
&lt;br /&gt;
* Alternatively a Windows Installer for OpenOCD can be found at:&lt;br /&gt;
   http://www.freddiechopin.info/index.php/en/download/category/4-openocd&lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an Eclipse Project for using FreeRTOS==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case, the Project contains three folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourcceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the cfg for openOCD and the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create a Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Create the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need. There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. The files Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and the GDB debugging.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Clock Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-18T14:17:20Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download Eclipse CDT from the Website below:&lt;br /&gt;
   http://eclipse.org/downloads/packages/&lt;br /&gt;
&lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get FreeRTOS and a Toolchain==&lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of FreeRTOS from: &lt;br /&gt;
   http://sourceforge.net/projects/freertos/files/FreeRTOS/&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with the Sourcery G++ Lite because it supports us with a special library for the thumb2 which the Cortex M3 is using. For downloading CodeSourcery G++ Lite use the following Link:&lt;br /&gt;
   http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD, which can be downloaded from:&lt;br /&gt;
   http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280&lt;br /&gt;
&lt;br /&gt;
* Alternatively a Windows Installer for OpenOCD can be found at:&lt;br /&gt;
   http://www.freddiechopin.info/index.php/en/download/category/4-openocd&lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an Eclipse Project for using FreeRTOS==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case, the Project contains three folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourcceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the cfg for openOCD and the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create a Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Create the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need. There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. The files Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and the GDB debugging.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Remove .gdbinit in the GDB Command file field&lt;br /&gt;
** Clock Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	<entry>
		<id>https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo</id>
		<title>FreeRTOS CortexM3 HowTo</title>
		<link rel="alternate" type="text/html" href="https://conceptcar.iese.de:80/ConceptCar1/index.php?title=FreeRTOS_CortexM3_HowTo"/>
				<updated>2010-08-18T14:05:59Z</updated>
		
		<summary type="html">&lt;p&gt;Kenan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Configuring Eclipse==&lt;br /&gt;
&lt;br /&gt;
* Download Eclipse CDT from the Website below:&lt;br /&gt;
   http://eclipse.org/downloads/packages/&lt;br /&gt;
&lt;br /&gt;
* After installing Eclipse we will need to install Zylin GDB embedded debugging plugin. Therefore open Eclipse, go to Help-&amp;gt;Software Updates  or Help-&amp;gt;Install new Software (depends on which Version of Eclipse CDT you are using). Download and install Zylin Embedded CDT from:&lt;br /&gt;
   http://opensource.zylin.com/zylincdt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Get FreeRTOS and a Toolchain==&lt;br /&gt;
 &lt;br /&gt;
* Download the newest Version of FreeRTOS from: &lt;br /&gt;
   http://sourceforge.net/projects/freertos/files/FreeRTOS/&lt;br /&gt;
&lt;br /&gt;
* The next step is to get a Toolchain. In our case, we decided to work with the Sourcery G++ Lite because it supports us with a special library for the thumb2 which the Cortex M3 is using. For downloading CodeSourcery G++ Lite use the following Link:&lt;br /&gt;
   http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite&lt;br /&gt;
&lt;br /&gt;
* After all that, be sure using the newest Version of OpenOCD, which can be downloaded from:&lt;br /&gt;
   http://developer.berlios.de/project/showfiles.php?group_id=4148&amp;amp;release_id=17280&lt;br /&gt;
&lt;br /&gt;
* Alternatively a Windows Installer for OpenOCD can be found at:&lt;br /&gt;
   http://www.freddiechopin.info/index.php/en/download/category/4-openocd&lt;br /&gt;
&lt;br /&gt;
* Because of a GPL license violation OpenOCD cannot be distributed with support for ftd2xx.dll library. FT2232 JTAGs have to be used via libusb-win32 drivers and OpenOCD will be linked with libftdi library. If there were FTDI drivers installed in the system, they have to be manually removed and then libusb-win32 drivers have to be installed manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create an Eclipse Project for using FreeRTOS==&lt;br /&gt;
&lt;br /&gt;
There are different ways to create a FreeRTOS specific Project under Eclipse. In this case, the Project contains three folders:&lt;br /&gt;
 - FreeRTOSSource&lt;br /&gt;
 - STMSourceFiles&lt;br /&gt;
 - SourceCodes&lt;br /&gt;
 - Boot&lt;br /&gt;
 - Scripts&lt;br /&gt;
&lt;br /&gt;
The FreeRTOSSource folder includes all FreeRTOS specific Header and Source files. The STM Source Files are located in the STMSourcceFiles folder. The Boot folder contains all files which are necessary for the Board, e.g the startup file. The Script folder holds the cfg for openOCD and the linker scripts.&lt;br /&gt;
&lt;br /&gt;
The following steps describes how to create a Project which is running FreeRTOS.&lt;br /&gt;
&lt;br /&gt;
* Create a new empty C Makefile Project&lt;br /&gt;
&lt;br /&gt;
* Create the folder structure mentioned above. All folders except the Script folder are declared as source folders.&lt;br /&gt;
&lt;br /&gt;
* Fill the FreeRTOSSource folder with the FreeRTOS specific files you will need. There should be also a copy of Port.c, Portmacro.c and the heap_n.c files. The files Port.c and Portmacro.c can be found at ..\FreeRTOS Install Path\Source\portable\GCC\ARM_CM3 if an CortexM3 is used with the GCC. If the GCC is not the compiler you are using, the portable folder contains all by FreeRTOS supported compiler and Microcontroller. The MemMang folder which can also be found at ..\FreeRTOS Install Path\Source\portable\ holds heap_1.c, heap_2.c and heap_3.c. In our case heap_2.c is used.&lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ Build &lt;br /&gt;
**under &amp;quot;Settings&amp;quot; select &amp;quot;GNU Elf Parser&amp;quot; &lt;br /&gt;
**under &amp;quot;ToolChain Editor&amp;quot; select &amp;quot;No Toolchain&amp;quot; &lt;br /&gt;
&lt;br /&gt;
* Go to Project Settings-&amp;gt;C/C++ General-&amp;gt;Paths and Symbols and add the following folder to GNU C&lt;br /&gt;
   \Code Sourcery Root\arm-none-eabi\include&lt;br /&gt;
&lt;br /&gt;
* After preparing the folder structure, the next step will be to configure OpenOCD and the GDB debugging.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For configuring OpenOCD click Run-&amp;gt;External Tools-&amp;gt;External Tools Configurations. &lt;br /&gt;
[[Image:External Tools config.jpg |thumb | External Tools Conifiguration| 400px]]&lt;br /&gt;
* Create a new configuration for OpenOCD by:&lt;br /&gt;
** Choosing a name for the new created configuration&lt;br /&gt;
** Setting the location of the OpenOCD.exe &lt;br /&gt;
** Setting the working directory&lt;br /&gt;
** Specifying the arguments to run OpenOCD&lt;br /&gt;
** Save changes by clicking on the Apply Button&lt;br /&gt;
&lt;br /&gt;
Below is a simple example for the arguments used for the Olimex STM32, Olimex JTAG TINY:&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\board\olimex_stm32_h103.cfg&lt;br /&gt;
 -f \openocd-0.4.0\0.4.0\interface\olimex-jtag-tiny.cfg&lt;br /&gt;
 -c init&lt;br /&gt;
 -c reset run&lt;br /&gt;
 -c halt&lt;br /&gt;
 -d 3&lt;br /&gt;
 -l openocd.log&lt;br /&gt;
&lt;br /&gt;
-f can be used to load e.g. a configuration file. -c specifies commands for openocd. -d chooses the debug level and with &lt;br /&gt;
&amp;quot;-l openocd.log&amp;quot; a Log file will be created and saved under openocd.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The next step is to set the Debug Configurations, therefore go to Run-&amp;gt;Debug Configurations &lt;br /&gt;
[[Image:GDBCommands.jpg |thumb | GDB Commands| 400px]]&lt;br /&gt;
* Create a new configuration for Debugging&lt;br /&gt;
** Create a new Zylin Embedded debug (native) configuration&lt;br /&gt;
** Choose a name for the new configuration&lt;br /&gt;
** Select the Project&lt;br /&gt;
** Pick the C/C++ Application which should be used&lt;br /&gt;
** Click on Debugger Tab and load the GDB debugger &lt;br /&gt;
** Clock Command Tab and specify &amp;#039;Initialize&amp;#039; Commands for GDB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example GDB init commands:&lt;br /&gt;
 target remote localhost:3333&lt;br /&gt;
 reset init&lt;br /&gt;
 load &lt;br /&gt;
 reset init&lt;br /&gt;
 tbreak main&lt;br /&gt;
 continue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Running OpenOCD and GDB==&lt;br /&gt;
* Replace SVCHandler, PendSVHandler and the SysTickHandler in the startup file with the FreeRTOS specific handlers: &lt;br /&gt;
 SVCHandler     -&amp;gt; vPortSVCHandler	&lt;br /&gt;
 PendSVHandler  -&amp;gt; xPortPendSVHandler	&lt;br /&gt;
 SysTickHandler -&amp;gt; xPortSysTickHandler&lt;br /&gt;
* Check the CPU Clock in FreeRTOS.h&lt;br /&gt;
* Click on Run-&amp;gt;External Tools and select the created external Tool and wait until OpenOCD is ready&lt;br /&gt;
* Click on Run-&amp;gt;Debug Configurations and run the created Zylin Embedded Debug&lt;br /&gt;
* Change to Debug view Window-&amp;gt;Open Perspective-&amp;gt;Debug&lt;/div&gt;</summary>
		<author><name>Kenan</name></author>	</entry>

	</feed>