<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://ift.wiki.uib.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yag005</id>
	<title>ift - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://ift.wiki.uib.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yag005"/>
	<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/Special:Contributions/Yag005"/>
	<updated>2026-05-16T18:59:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=User:Yag005&amp;diff=2730</id>
		<title>User:Yag005</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=User:Yag005&amp;diff=2730"/>
		<updated>2019-03-02T16:52:10Z</updated>

		<summary type="html">&lt;p&gt;Yag005: Updated information and added link to thesis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;yag005 is the username for Mats F. Heigre.&lt;br /&gt;
Mats was part of the microelectronics group in the period August 2016 until he delivered his master thesis and thus finishing his degree in October 2018.&lt;br /&gt;
His master thesis, Design of an Embedded Readout System for the ALOFT Gamma-Ray Detector Instrument, can be found at BORA under the following link: [http://bora.uib.no/handle/1956/18671 http://bora.uib.no/handle/1956/18671]&lt;br /&gt;
&lt;br /&gt;
Contact email: yag005@student.uib.no&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2668</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2668"/>
		<updated>2018-01-09T13:58:17Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
Tutorial heavily based on: &lt;br /&gt;
#REDIRECT [[http://rishifranklin.blogspot.no/2015/04/freertos-on-xilinx-zynq-zybo-single-core.html]]&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted folder, and copy the following files into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
platform.c&amp;lt;br /&amp;gt;&lt;br /&gt;
platform.h&amp;lt;br /&amp;gt;&lt;br /&gt;
platform_config.h&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your SDK project source folder should now look like this:&lt;br /&gt;
[[File:source_folder.png|thumbnail|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the highlighted line to the lscript.id file located in the SDK project source folder to contain &amp;quot;*(.freertos_vectors)&amp;quot;:&lt;br /&gt;
[[File:lscript_id_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comment out &amp;quot;*pxTopOfStack |= portTHUMB_MODE_BIT;&amp;quot; on line 280 in port.c to avoid FreeRTOS to run in thumb-mode:&lt;br /&gt;
[[File:port_c_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting CPU frequency =&lt;br /&gt;
&lt;br /&gt;
Next we should configure the CPU to run at 50MHz in the FreeRTOSConfig.h file by editing the configCPU_CLOCK_HZ parameter:&lt;br /&gt;
[[File:FreeRTOSConfig_cpu_freq_edit.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
= Write the application =&lt;br /&gt;
Go back into Xilinx SDK and refresh(F5). All the added files should now be visible in the project explorer.&lt;br /&gt;
&lt;br /&gt;
Open main.c, and comment out the call to &#039;&#039;vParTestInitialise()&#039;&#039; from the &#039;&#039;prvSetupHardware&#039;&#039; function as it is not related to the Zybo board.&lt;br /&gt;
Also comment out all the included headerfiles under &amp;quot;Standard Demo Include:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:remove_include_demo_libs.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also set &#039;&#039;#define mainSELECTED_APPLICATION	0&#039;&#039; instead of 1. It should be located around line 141.&lt;br /&gt;
Add &#039;&#039;#define AXI_LED_BASE 0x43c30000&#039;&#039; somewhere in the top of the code, but not within any functions, for example right after all the #includes.&lt;br /&gt;
&lt;br /&gt;
Time to write the actual code. Add the following as a function before main:&lt;br /&gt;
[[File:AXILedBlink_code.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
The last thing we need to do code vise, is to call the function we just created in the main function:&lt;br /&gt;
[[File:main_code.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Save, then goto &#039;&#039;Project --&amp;gt; Build All&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Time to test the software! Bring up your favorite Xilinx Zybo SoC board, and ensure that jumper 5 (JP5) is configured for booting via JTAG. Connect the board to the computer, and power it up. Then in Xilinx SDK, goto &#039;&#039;Xilinx --&amp;gt; Program FPGA&#039;&#039;. If successful, goto &#039;&#039;Run --&amp;gt; Run as --&amp;gt; 1 Launch on Hardware (System Debugger)&#039;&#039;. The 4 LEDs on the board should now light up and blink.&lt;br /&gt;
&lt;br /&gt;
End of tutorial!&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_concurrent_application_projects_in_Xilinx_SDK&amp;diff=2667</id>
		<title>Running concurrent application projects in Xilinx SDK</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_concurrent_application_projects_in_Xilinx_SDK&amp;diff=2667"/>
		<updated>2018-01-04T15:19:45Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx SDK 2017.4, with Xilinx Digilent Zybo SoC.&lt;br /&gt;
&lt;br /&gt;
= Running concurrent application projects in Xilinx SDK =&lt;br /&gt;
This tutorial gives a brief introduction to running concurrent application projects in Xilinx SDK on a micro processor. This is done by assigning each of the Application Projects a specific processor core to run on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Requirements = &lt;br /&gt;
&lt;br /&gt;
This tutorial requires a multi-core micro processor system that can be programmed by Xilinx SDK. It also assumes that the user has two working independent Project applications with respective Board Support Packages (BSP&#039;s) generated by the &amp;quot;File --&amp;gt; New --&amp;gt; Project Application&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
= Assigning application project to specific processor core =&lt;br /&gt;
Click once on one of the Application projects in the Project Explorer Tree.&lt;br /&gt;
&lt;br /&gt;
Goto: &amp;quot;Run --&amp;gt; Run Configurations&amp;quot;. Then click on &amp;quot;System Debugger using Debug_standalone_bsp_0_NAMEOFYOURPROJECT.elf on Local&amp;quot; under &amp;quot;Xilinx C/C++ application (SystemDebugger).&lt;br /&gt;
Then open the Application tab. You should now see that your application is configured in the Summary window to run on core 0 on whatever processor you&#039;re using. [[File:running_concurrent_xilinx_sdk_not_added.png|400px|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
The next step is to take use of the other processor core, by assigning it the other application project you want to run. Click on the line with the processor core you want to use (ps7_cortexa9_1 for this tutorial), mark &amp;quot;Download&amp;quot;, and click on Browse in the Application bar. Find the nameofproject.elf file for the application project, usually found under /NameOfVivadoProject.sdk/NameOfProject/Debug/NameOfProject.elf. For this tutorial we added the FreeRTOS.elf created in the [[Running FreeRTOS on Xilinx Zybo]]-tutorial. &lt;br /&gt;
It should now look like this:&lt;br /&gt;
[[File:running_concurrent_xilinx_sdk_added.png|400px|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Click Apply, and run. This should program the processor over JTAG, and both applications should be up and running.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_concurrent_application_projects_in_Xilinx_SDK&amp;diff=2666</id>
		<title>Running concurrent application projects in Xilinx SDK</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_concurrent_application_projects_in_Xilinx_SDK&amp;diff=2666"/>
		<updated>2018-01-04T15:19:13Z</updated>

		<summary type="html">&lt;p&gt;Yag005: Created page with &amp;quot;Tested on Xilinx SDK 2017.4, with Xilinx Digilent Zybo SoC.  = Running concurrent application projects in Xilinx SDK = This tutorial gives a brief introduction to running conc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx SDK 2017.4, with Xilinx Digilent Zybo SoC.&lt;br /&gt;
&lt;br /&gt;
= Running concurrent application projects in Xilinx SDK =&lt;br /&gt;
This tutorial gives a brief introduction to running concurrent application projects in Xilinx SDK on a micro processor. This is done by assigning each of the Application Projects a specific processor core to run on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Requirements = &lt;br /&gt;
&lt;br /&gt;
This tutorial requires a multi-core micro processor system that can be programmed by Xilinx SDK. It also assumes that the user has two working independent Project applications with respective Board Support Packages (BSP&#039;s) generated by the &amp;quot;File --&amp;gt; New --&amp;gt; Project Application&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
= Assigning application project to specific processor core =&lt;br /&gt;
Click once on one of the Application projects in the Project Explorer Tree.&lt;br /&gt;
&lt;br /&gt;
Goto: &amp;quot;Run --&amp;gt; Run Configurations&amp;quot;. Then click on &amp;quot;System Debugger using Debug_standalone_bsp_0_NAMEOFYOURPROJECT.elf on Local&amp;quot; under &amp;quot;Xilinx C/C++ application (SystemDebugger).&lt;br /&gt;
Then open the Application tab. You should now see that your application is configured in the Summary window to run on core 0 on whatever processor you&#039;re using. [[File:running_concurrent_xilinx_sdk_not_added.png|400px|thumbnail]]&lt;br /&gt;
&lt;br /&gt;
The next step is to take use of the other processor core, by assigning it the other application project you want to run. Click on the line with the processor core you want to use (ps7_cortexa9_1 for this tutorial), mark &amp;quot;Download&amp;quot;, and click on Browse in the Application bar. Find the nameofproject.elf file for the application project, usually found under /NameOfVivadoProject.sdk/NameOfProject/Debug/NameOfProject.elf. For this tutorial we added the FreeRTOS.elf created in the [[Running FreeRTOS on Xilinx Zybo]]-tutorial. &lt;br /&gt;
It should now look like this:&lt;br /&gt;
[[File:running_concurrent_xilinx_sdk_added.png|400px|thumbnail]]&lt;br /&gt;
&lt;br /&gt;
Click Apply, and run. This should program the processor over JTAG, and both applications should be up and running.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Running_concurrent_xilinx_sdk_added.png&amp;diff=2665</id>
		<title>File:Running concurrent xilinx sdk added.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Running_concurrent_xilinx_sdk_added.png&amp;diff=2665"/>
		<updated>2018-01-04T15:17:11Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Running_concurrent_xilinx_sdk_not_added.png&amp;diff=2664</id>
		<title>File:Running concurrent xilinx sdk not added.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Running_concurrent_xilinx_sdk_not_added.png&amp;diff=2664"/>
		<updated>2018-01-04T15:08:06Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Xilinx_SDK&amp;diff=2663</id>
		<title>Xilinx SDK</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Xilinx_SDK&amp;diff=2663"/>
		<updated>2018-01-04T14:32:00Z</updated>

		<summary type="html">&lt;p&gt;Yag005: Created page with &amp;quot;Running concurrent application projects in Xilinx SDK&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Running concurrent application projects in Xilinx SDK]]&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Xilinx_Vivado&amp;diff=2662</id>
		<title>Xilinx Vivado</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Xilinx_Vivado&amp;diff=2662"/>
		<updated>2018-01-04T14:31:21Z</updated>

		<summary type="html">&lt;p&gt;Yag005: Created page with &amp;quot;Creating example project with AXI4 Lite peripheral in Xilinx Vivado&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Microelectronics_group&amp;diff=2661</id>
		<title>Microelectronics group</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Microelectronics_group&amp;diff=2661"/>
		<updated>2018-01-04T14:30:22Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Øvinger og guider ==&lt;br /&gt;
=== Mentor Graphics ===&lt;br /&gt;
&lt;br /&gt;
* [[Expedition PCB]] Komme i gang med kretskortutlegg ved hjelp av Expedition PCB&lt;br /&gt;
&lt;br /&gt;
* [[Modelsim/Questa]] Skrive og simulere VHDL-kode med Mentor Graphics ModelSim&lt;br /&gt;
&lt;br /&gt;
=== Cadence ===&lt;br /&gt;
&lt;br /&gt;
* [[Cadence Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
=== Microsemi ===&lt;br /&gt;
&lt;br /&gt;
* [[SmartFusion2- AMBA APB, Custom Peripheral]] Making a custom peripheral for the AMBA APB bus&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ===&lt;br /&gt;
&lt;br /&gt;
* [[Xilinx Vivado]] Tutorials for Xilinx Vivado&lt;br /&gt;
&lt;br /&gt;
* [[Xilinx SDK]] Tutorials for Xilinx Software Development Kit&lt;br /&gt;
&lt;br /&gt;
=== Annet ===&lt;br /&gt;
* [[Bitvis UVVM VHDL Verification Component Framework]] &lt;br /&gt;
&lt;br /&gt;
* [[Tutorials]] Tutorials from the web&lt;br /&gt;
&lt;br /&gt;
* [[XJTAG]]  Boundary Scan with XJTAG&lt;br /&gt;
&lt;br /&gt;
* [[XJDeveloper]] Innføring i XJDeveloper&lt;br /&gt;
&lt;br /&gt;
* [[FreeRTOS]] Free Real Time Operating System&lt;br /&gt;
&lt;br /&gt;
== Andre fagressurser og laboratorieveiledninger==&lt;br /&gt;
&lt;br /&gt;
* [[PHYS222]] Fagressurser for PHYS222 og PHYS223&lt;br /&gt;
&lt;br /&gt;
* [[PHYS321]] Fagressurser for PHYS321&lt;br /&gt;
&lt;br /&gt;
* [[Teknisk hjelp]] Teknisk hjelp for bruk av DAK-programvare&lt;br /&gt;
&lt;br /&gt;
* [[BGA lodding]] bruk av Martin 09.6 XL BGA lodding maskin (intern)&lt;br /&gt;
&lt;br /&gt;
* [[Reflow Soldering]] Use of Technoprint HA-02 reflow oven&lt;br /&gt;
&lt;br /&gt;
== Eldre øvinger og guider ==&lt;br /&gt;
=== Mentor Graphics ===&lt;br /&gt;
* [[IC studio]] Veiledning til IC-design ved hjelp av IC studio&lt;br /&gt;
&lt;br /&gt;
* [[IC studio - SPICE/Symbol Tutorial]] Relate a SPICE file to a Symbol&lt;br /&gt;
&lt;br /&gt;
* [[IC Station]] Tegne utlegg for integrerte kretser&lt;br /&gt;
&lt;br /&gt;
=== Annet ===&lt;br /&gt;
* [[PCI-eksperiment]] Øving med HLT-RORC-prototypekort&lt;br /&gt;
&lt;br /&gt;
* [[Xilinx]] Øving i bruk av Xilinx Project Studio&lt;br /&gt;
&lt;br /&gt;
* [[SmartFusion2]] Oppsett og design med SF2&lt;br /&gt;
&lt;br /&gt;
* [[FLTK GUI]] Graphical User Interface using FLTK&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Microelectronics_group&amp;diff=2659</id>
		<title>Microelectronics group</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Microelectronics_group&amp;diff=2659"/>
		<updated>2018-01-04T14:27:58Z</updated>

		<summary type="html">&lt;p&gt;Yag005: Added Xilinx to comply with readability criteria.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Øvinger og guider ==&lt;br /&gt;
=== Mentor Graphics ===&lt;br /&gt;
&lt;br /&gt;
* [[Expedition PCB]] Komme i gang med kretskortutlegg ved hjelp av Expedition PCB&lt;br /&gt;
&lt;br /&gt;
* [[Modelsim/Questa]] Skrive og simulere VHDL-kode med Mentor Graphics ModelSim&lt;br /&gt;
&lt;br /&gt;
=== Cadence ===&lt;br /&gt;
&lt;br /&gt;
* [[Cadence Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
=== Microsemi ===&lt;br /&gt;
&lt;br /&gt;
* [[SmartFusion2- AMBA APB, Custom Peripheral]] Making a custom peripheral for the AMBA APB bus&lt;br /&gt;
&lt;br /&gt;
=== Xilinx ===&lt;br /&gt;
&lt;br /&gt;
* [[Vivado]] Xilinx Vivado&lt;br /&gt;
&lt;br /&gt;
* [[SDK]] Xilinx Software Development Kit&lt;br /&gt;
&lt;br /&gt;
=== Annet ===&lt;br /&gt;
* [[Bitvis UVVM VHDL Verification Component Framework]] &lt;br /&gt;
&lt;br /&gt;
* [[Tutorials]] Tutorials from the web&lt;br /&gt;
&lt;br /&gt;
* [[XJTAG]]  Boundary Scan with XJTAG&lt;br /&gt;
&lt;br /&gt;
* [[XJDeveloper]] Innføring i XJDeveloper&lt;br /&gt;
&lt;br /&gt;
* [[FreeRTOS]] Free Real Time Operating System&lt;br /&gt;
&lt;br /&gt;
== Andre fagressurser og laboratorieveiledninger==&lt;br /&gt;
&lt;br /&gt;
* [[PHYS222]] Fagressurser for PHYS222 og PHYS223&lt;br /&gt;
&lt;br /&gt;
* [[PHYS321]] Fagressurser for PHYS321&lt;br /&gt;
&lt;br /&gt;
* [[Teknisk hjelp]] Teknisk hjelp for bruk av DAK-programvare&lt;br /&gt;
&lt;br /&gt;
* [[BGA lodding]] bruk av Martin 09.6 XL BGA lodding maskin (intern)&lt;br /&gt;
&lt;br /&gt;
* [[Reflow Soldering]] Use of Technoprint HA-02 reflow oven&lt;br /&gt;
&lt;br /&gt;
== Eldre øvinger og guider ==&lt;br /&gt;
=== Mentor Graphics ===&lt;br /&gt;
* [[IC studio]] Veiledning til IC-design ved hjelp av IC studio&lt;br /&gt;
&lt;br /&gt;
* [[IC studio - SPICE/Symbol Tutorial]] Relate a SPICE file to a Symbol&lt;br /&gt;
&lt;br /&gt;
* [[IC Station]] Tegne utlegg for integrerte kretser&lt;br /&gt;
&lt;br /&gt;
=== Annet ===&lt;br /&gt;
* [[PCI-eksperiment]] Øving med HLT-RORC-prototypekort&lt;br /&gt;
&lt;br /&gt;
* [[Xilinx]] Øving i bruk av Xilinx Project Studio&lt;br /&gt;
&lt;br /&gt;
* [[SmartFusion2]] Oppsett og design med SF2&lt;br /&gt;
&lt;br /&gt;
* [[FLTK GUI]] Graphical User Interface using FLTK&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=FreeRTOS_FSBL&amp;diff=2658</id>
		<title>FreeRTOS FSBL</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=FreeRTOS_FSBL&amp;diff=2658"/>
		<updated>2017-12-06T18:23:32Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Running FreeRTOS on Xilinx Zybo]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Creating FSBL =====&lt;br /&gt;
&lt;br /&gt;
The result from the previous tutorial linked at the top of this tutorial, should be a Project Explorer looking like this:&lt;br /&gt;
[[File:project_explorer_start.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Goto &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039;. Name the new project &amp;quot;FSBL&amp;quot; and let OS platform be &amp;quot;standalone&amp;quot;. On the next page, choose the &amp;quot;Zynq FSBL&amp;quot;-template. Finish.&lt;br /&gt;
The Project Explorer should now contain the following:&lt;br /&gt;
[[File:fsbl_created.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Goto &#039;&#039;Xilinx --&amp;gt; Create Boot Image&#039;&#039;. Choose the Zynq architecture and click to browse for a Output BIF file path. Name the file &amp;quot;output.bif&amp;quot; and create a folder called &amp;quot;output&amp;quot; within the axi4_lite_tutorial_project.sdk directory. Click OK.&lt;br /&gt;
Check that the output format is &amp;quot;BIN&amp;quot;. Now click add in the Boot Image Partitions section:&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Bootloader&amp;quot; as partition type, and navigate to the file &amp;quot;FSBL.elf&amp;quot; under \axi4_lite_tutorial_project.sdk\FSBL\Debug\ in the file path.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now add a new partition, this time as type &amp;quot;datafile&amp;quot;. The file that should be added to file path is &amp;quot;design_1_wrapper.bit&amp;quot; under \axi4_lite_tutorial_project.runs\impl_1\&amp;lt;br /&amp;gt;&lt;br /&gt;
The third and final partition is of type &amp;quot;datafile&amp;quot;, has the name &amp;quot;FreeRTOS_example_project.elf&amp;quot;, and is found at \axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\Debug\&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
When all partitions have been added, click &amp;quot;Create Image&amp;quot;. Navigate to the directory you specified for output, in our case \axi4_lite_tutorial_project.sdk\output.&lt;br /&gt;
It should now contain two files: BOOT.bin, and output.bif. Copy the BOOT.bin file onto an SD-card formatted as FAT.&lt;br /&gt;
&lt;br /&gt;
Bring up your favorite Xilinx Zybo SoC board, and configure jumper 5 (JP5) for SD boot configuration. Insert the SD card, and connect a power source (wall or USB). Then power up the board. After a couple of seconds, it should behave just as it did when booting from JTAG in the &amp;quot;[[Running FreeRTOS on Xilinx Zybo]]&amp;quot;-tutorial.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=FreeRTOS_FSBL&amp;diff=2657</id>
		<title>FreeRTOS FSBL</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=FreeRTOS_FSBL&amp;diff=2657"/>
		<updated>2017-12-06T18:22:13Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Running FreeRTOS on Xilinx Zybo]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Creating FSBL =====&lt;br /&gt;
&lt;br /&gt;
The result from the previous tutorial linked at the top of this tutorial, should be a Project Explorer looking like this:&lt;br /&gt;
[[File:project_explorer_start.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Goto &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039;. Name the new project &amp;quot;FSBL&amp;quot; and let OS platform be &amp;quot;standalone&amp;quot;. On the next page, choose the &amp;quot;Zynq FSBL&amp;quot;-template. Finish.&lt;br /&gt;
The Project Explorer should now contain the following:&lt;br /&gt;
[[File:fsbl_created.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Goto &#039;&#039;Xilinx --&amp;gt; Create Boot Image&#039;&#039;. Choose the Zynq architecture and click to browse for a Output BIF file path. Name the file &amp;quot;output.bif&amp;quot; and create a folder called &amp;quot;output&amp;quot; within the axi4_lite_tutorial_project.sdk directory. Click OK.&lt;br /&gt;
Check that the output format is &amp;quot;BIN&amp;quot;. Now click add in the Boot Image Partitions section:&lt;br /&gt;
&lt;br /&gt;
Choose &amp;quot;Bootloader&amp;quot; as partition type, and navigate to the file &amp;quot;FSBL.elf&amp;quot; under \axi4_lite_tutorial_project.sdk\FSBL\Debug\ in the file path.&amp;lt;br /&amp;gt;&lt;br /&gt;
Now add a new partition, this time as type &amp;quot;datafile&amp;quot;. The file that should be added to file path is &amp;quot;design_1_wrapper.bit&amp;quot; under \axi4_lite_tutorial_project.runs\impl_1\&amp;lt;br /&amp;gt;&lt;br /&gt;
The third and final partition: Partition type &amp;quot;datafile&amp;quot;, name: FreeRTOS_example_project.elf  File path: \axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\Debug\&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
When all partitions have been added, click &amp;quot;Create Image&amp;quot;. Navigate to the directory you specified for output, in our case \axi4_lite_tutorial_project.sdk\output.&lt;br /&gt;
It should now contain two files: BOOT.bin, and output.bif. Copy the BOOT.bin file onto an SD-card formatted as FAT.&lt;br /&gt;
&lt;br /&gt;
Bring up your favorite Xilinx Zybo SoC board, and configure jumper 5 (JP5) for SD boot configuration. Insert the SD card, and connect a power source (wall or USB). Then power up the board. After a couple of seconds, it should behave just as it did when booting from JTAG in the &amp;quot;[[Running FreeRTOS on Xilinx Zybo]]&amp;quot;-tutorial.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=FreeRTOS_FSBL&amp;diff=2656</id>
		<title>FreeRTOS FSBL</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=FreeRTOS_FSBL&amp;diff=2656"/>
		<updated>2017-12-06T17:53:43Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Running FreeRTOS on Xilinx Zybo]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Creating FSBL =====&lt;br /&gt;
&lt;br /&gt;
The result from the previous tutorial linked at the top of this tutorial, should be a Project Explorer looking like this:&lt;br /&gt;
[[File:project_explorer_start.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Goto &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039;. Name the new project &amp;quot;FSBL&amp;quot; and let OS platform be &amp;quot;standalone&amp;quot;. On the next page, choose the &amp;quot;Zynq FSBL&amp;quot;-template. Finish.&lt;br /&gt;
The Project Explorer should now contain the following:&lt;br /&gt;
[[File:fsbl_created.png|400px|center]]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Fsbl_created.png&amp;diff=2655</id>
		<title>File:Fsbl created.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Fsbl_created.png&amp;diff=2655"/>
		<updated>2017-12-06T17:53:30Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Project_explorer_start.png&amp;diff=2654</id>
		<title>File:Project explorer start.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Project_explorer_start.png&amp;diff=2654"/>
		<updated>2017-12-06T17:49:01Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2653</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2653"/>
		<updated>2017-12-06T17:44:53Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
Tutorial heavily based on: &lt;br /&gt;
#REDIRECT [[http://rishifranklin.blogspot.no/2015/04/freertos-on-xilinx-zynq-zybo-single-core.html]]&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted folder, and copy the following files into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
platform.c&amp;lt;br /&amp;gt;&lt;br /&gt;
platform.h&amp;lt;br /&amp;gt;&lt;br /&gt;
platform_config.h&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your SDK project source folder should now look like this:&lt;br /&gt;
[[File:source_folder.png|thumbnail|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the highlighted line to the lscript.id file located in the SDK project source folder:&lt;br /&gt;
[[File:lscript_id_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comment out &amp;quot;*pxTopOfStack |= portTHUMB_MODE_BIT;&amp;quot; on line 280 in port.c to avoid FreeRTOS to run in thumb-mode:&lt;br /&gt;
[[File:port_c_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting CPU frequency =&lt;br /&gt;
&lt;br /&gt;
Next we should configure the CPU to run at 50MHz in the FreeRTOSConfig.h file by editing the configCPU_CLOCK_HZ parameter:&lt;br /&gt;
[[File:FreeRTOSConfig_cpu_freq_edit.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
= Write the application =&lt;br /&gt;
Go back into Xilinx SDK and refresh(F5). All the added files should now be visible in the project explorer.&lt;br /&gt;
&lt;br /&gt;
Open main.c, and comment out the call to &#039;&#039;vParTestInitialise()&#039;&#039; from the &#039;&#039;prvSetupHardware&#039;&#039; function as it is not related to the Zybo board.&lt;br /&gt;
Also comment out all the included headerfiles under &amp;quot;Standard Demo Include:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:remove_include_demo_libs.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also set &#039;&#039;#define mainSELECTED_APPLICATION	0&#039;&#039; instead of 1. It should be located around line 141.&lt;br /&gt;
Add &#039;&#039;#define AXI_LED_BASE 0x43c30000&#039;&#039; somewhere in the top of the code, but not within any functions, for example right after all the #includes.&lt;br /&gt;
&lt;br /&gt;
Time to write the actual code. Add the following as a function before main:&lt;br /&gt;
[[File:AXILedBlink_code.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
The last thing we need to do code vise, is to call the function we just created in the main function:&lt;br /&gt;
[[File:main_code.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Save, then goto &#039;&#039;Project --&amp;gt; Build All&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Time to test the software! Bring up your favorite Xilinx Zybo SoC board, and ensure that jumper 5 (JP5) is configured for booting via JTAG. Connect the board to the computer, and power it up. Then in Xilinx SDK, goto &#039;&#039;Xilinx --&amp;gt; Program FPGA&#039;&#039;. If successful, goto &#039;&#039;Run --&amp;gt; Run as --&amp;gt; 1 Launch on Hardware (System Debugger)&#039;&#039;. The 4 LEDs on the board should now light up and blink.&lt;br /&gt;
&lt;br /&gt;
End of tutorial!&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Main_code.png&amp;diff=2652</id>
		<title>File:Main code.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Main_code.png&amp;diff=2652"/>
		<updated>2017-12-06T17:35:42Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:AXILedBlink_code.png&amp;diff=2651</id>
		<title>File:AXILedBlink code.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:AXILedBlink_code.png&amp;diff=2651"/>
		<updated>2017-12-06T17:32:58Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2650</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2650"/>
		<updated>2017-12-06T17:26:22Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted folder, and copy the following files into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
platform.c&amp;lt;br /&amp;gt;&lt;br /&gt;
platform.h&amp;lt;br /&amp;gt;&lt;br /&gt;
platform_config.h&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your SDK project source folder should now look like this:&lt;br /&gt;
[[File:source_folder.png|thumbnail|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the highlighted line to the lscript.id file located in the SDK project source folder:&lt;br /&gt;
[[File:lscript_id_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comment out &amp;quot;*pxTopOfStack |= portTHUMB_MODE_BIT;&amp;quot; on line 280 in port.c to avoid FreeRTOS to run in thumb-mode:&lt;br /&gt;
[[File:port_c_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting CPU frequency =&lt;br /&gt;
&lt;br /&gt;
Next we should configure the CPU to run at 50MHz in the FreeRTOSConfig.h file by editing the configCPU_CLOCK_HZ parameter:&lt;br /&gt;
[[File:FreeRTOSConfig_cpu_freq_edit.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
= Write the application =&lt;br /&gt;
Go back into Xilinx SDK and refresh(F5). All the added files should now be visible in the project explorer.&lt;br /&gt;
&lt;br /&gt;
Open main.c, and comment out the call to &#039;&#039;vParTestInitialise()&#039;&#039; from the &#039;&#039;prvSetupHardware&#039;&#039; function as it is not related to the Zybo board.&lt;br /&gt;
Also comment out all the included headerfiles under &amp;quot;Standard Demo Include:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:remove_include_demo_libs.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also set &#039;&#039;#define mainSELECTED_APPLICATION	0&#039;&#039; instead of 1. It should be located around line 141.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Remove_include_demo_libs.png&amp;diff=2649</id>
		<title>File:Remove include demo libs.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Remove_include_demo_libs.png&amp;diff=2649"/>
		<updated>2017-12-06T17:24:00Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Source_folder.png&amp;diff=2648</id>
		<title>File:Source folder.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Source_folder.png&amp;diff=2648"/>
		<updated>2017-12-06T17:05:49Z</updated>

		<summary type="html">&lt;p&gt;Yag005: Yag005 uploaded a new version of File:Source folder.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2647</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2647"/>
		<updated>2017-12-06T17:01:26Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted folder, and copy the following files into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
platform.c&amp;lt;br /&amp;gt;&lt;br /&gt;
platform.h&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your SDK project source folder should now look like this:&lt;br /&gt;
[[File:source_folder.png|thumbnail|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the highlighted line to the lscript.id file located in the SDK project source folder:&lt;br /&gt;
[[File:lscript_id_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comment out &amp;quot;*pxTopOfStack |= portTHUMB_MODE_BIT;&amp;quot; on line 280 in port.c to avoid FreeRTOS to run in thumb-mode:&lt;br /&gt;
[[File:port_c_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting CPU frequency =&lt;br /&gt;
&lt;br /&gt;
Next we should configure the CPU to run at 50MHz in the FreeRTOSConfig.h file by editing the configCPU_CLOCK_HZ parameter:&lt;br /&gt;
[[File:FreeRTOSConfig_cpu_freq_edit.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
= Write the application =&lt;br /&gt;
Go back into Xilinx SDK and refresh(F5). All the added files should now be visible in the project explorer.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Source_folder.png&amp;diff=2646</id>
		<title>File:Source folder.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Source_folder.png&amp;diff=2646"/>
		<updated>2017-12-06T16:04:11Z</updated>

		<summary type="html">&lt;p&gt;Yag005: Yag005 uploaded a new version of File:Source folder.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2645</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2645"/>
		<updated>2017-12-06T16:00:46Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted folder, and copy the following files into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your SDK project source folder should now look like this:&lt;br /&gt;
[[File:source_folder.png|thumbnail|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the highlighted line to the lscript.id file located in the SDK project source folder:&lt;br /&gt;
[[File:lscript_id_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comment out &amp;quot;*pxTopOfStack |= portTHUMB_MODE_BIT;&amp;quot; on line 280 in port.c to avoid FreeRTOS to run in thumb-mode:&lt;br /&gt;
[[File:port_c_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting CPU frequency =&lt;br /&gt;
&lt;br /&gt;
Next we should configure the CPU to run at 50MHz in the FreeRTOSConfig.h file by editing the configCPU_CLOCK_HZ parameter:&lt;br /&gt;
[[File:FreeRTOSConfig_cpu_freq_edit.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
= Write the application =&lt;br /&gt;
Go back into Xilinx SDK and refresh(F5). All the added files should now be visible in the project explorer.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2644</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2644"/>
		<updated>2017-12-06T15:53:45Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted folder, and copy the following files into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your SDK project source folder should now look like this:&lt;br /&gt;
[[File:source_folder.png|thumbnail|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the highlighted line to the lscript.id file located in the SDK project source folder:&lt;br /&gt;
[[File:lscript_id_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comment out &amp;quot;*pxTopOfStack |= portTHUMB_MODE_BIT;&amp;quot; on line 280 in port.c to avoid FreeRTOS to run in thumb-mode:&lt;br /&gt;
[[File:port_c_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting CPU frequency =&lt;br /&gt;
&lt;br /&gt;
Next we should configure the CPU to run at 50MHz in the FreeRTOSConfig.h file by editing the configCPU_CLOCK_HZ parameter:&lt;br /&gt;
[[File:FreeRTOSConfig_cpu_freq_edit.png|400px|center]]&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2643</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2643"/>
		<updated>2017-12-06T15:52:54Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted folder, and copy the following files into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your SDK project source folder should now look like this:&lt;br /&gt;
[[File:source_folder.png|thumbnail|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the highlighted line to the lscript.id file located in the SDK project source folder:&lt;br /&gt;
[[File:lscript_id_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comment out &amp;quot;*pxTopOfStack |= portTHUMB_MODE_BIT;&amp;quot; on line 280 in port.c to avoid FreeRTOS to run in thumb-mode:&lt;br /&gt;
[[File:port_c_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting CPU frequency =&lt;br /&gt;
&lt;br /&gt;
Next we should configure the CPU to run at 50MHz in the FreeRTOSConfig.h file by editing the configCPU_CLOCK_HZ parameter:&lt;br /&gt;
[[File:FreeRTOSConfig_cpu_freq_edit.png|400px]|center]&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2642</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2642"/>
		<updated>2017-12-06T15:51:50Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted folder, and copy the following files into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your SDK project source folder should now look like this:&lt;br /&gt;
[[File:source_folder.png|thumbnail|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the highlighted line to the lscript.id file located in the SDK project source folder:&lt;br /&gt;
[[File:lscript_id_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comment out &amp;quot;*pxTopOfStack |= portTHUMB_MODE_BIT;&amp;quot; on line 280 in port.c to avoid FreeRTOS to run in thumb-mode:&lt;br /&gt;
[[File:port_c_edit.png|400px|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next we should configure the CPU to run at 50MHz in the FreeRTOSConfig.h file by editing the configCPU_CLOCK_HZ parameter:&lt;br /&gt;
[[File:FreeRTOSConfig_cpu_freq_edit.png|400px]|center]&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:FreeRTOSConfig_cpu_freq_edit.png&amp;diff=2641</id>
		<title>File:FreeRTOSConfig cpu freq edit.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:FreeRTOSConfig_cpu_freq_edit.png&amp;diff=2641"/>
		<updated>2017-12-06T15:51:30Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Port_c_edit.png&amp;diff=2640</id>
		<title>File:Port c edit.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Port_c_edit.png&amp;diff=2640"/>
		<updated>2017-12-06T15:46:43Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Lscript_id_edit.png&amp;diff=2639</id>
		<title>File:Lscript id edit.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Lscript_id_edit.png&amp;diff=2639"/>
		<updated>2017-12-06T15:39:41Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2638</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2638"/>
		<updated>2017-12-06T15:23:53Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted folder, and copy the following files into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your SDK project source folder should now look like this:&lt;br /&gt;
[[File:source_folder.png|thumbnail|center]]&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Source_folder.png&amp;diff=2637</id>
		<title>File:Source folder.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Source_folder.png&amp;diff=2637"/>
		<updated>2017-12-06T15:23:38Z</updated>

		<summary type="html">&lt;p&gt;Yag005: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2636</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2636"/>
		<updated>2017-12-06T15:19:48Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
= Acquire FreeRTOS =&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add FreeRTOS to the project =&lt;br /&gt;
Open the extracted  into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2635</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2635"/>
		<updated>2017-12-06T15:16:55Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Homepage [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Open the extracted  into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2634</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2634"/>
		<updated>2017-12-06T15:11:10Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#Link [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy the following files from the downloaded Free into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2633</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2633"/>
		<updated>2017-12-06T15:03:51Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: &lt;br /&gt;
#REDIRECT [[https://www.freertos.org/a00104.html]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy the following files from the downloaded Free into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_asm_vectors.S&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOSConfig.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS_tick_config.c&amp;lt;br /&amp;gt;&lt;br /&gt;
main.c&amp;lt;br /&amp;gt;&lt;br /&gt;
printf-stdarg.c&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.c&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.c&amp;lt;br /&amp;gt;&lt;br /&gt;
list.c&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.c&amp;lt;br /&amp;gt;&lt;br /&gt;
tasks.c&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&amp;lt;br /&amp;gt;&lt;br /&gt;
croutine.h&amp;lt;br /&amp;gt;&lt;br /&gt;
deprecated_definitions.h&amp;lt;br /&amp;gt;&lt;br /&gt;
event_groups.h&amp;lt;br /&amp;gt;&lt;br /&gt;
FreeRTOS.h&amp;lt;br /&amp;gt;&lt;br /&gt;
list.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_prototypes.h&amp;lt;br /&amp;gt;&lt;br /&gt;
mpu_wrappers.h&amp;lt;br /&amp;gt;&lt;br /&gt;
portable.h&amp;lt;br /&amp;gt;&lt;br /&gt;
projdefs.h&amp;lt;br /&amp;gt;&lt;br /&gt;
queue.h&amp;lt;br /&amp;gt;&lt;br /&gt;
semphr.h&amp;lt;br /&amp;gt;&lt;br /&gt;
StackMacros.h&amp;lt;br /&amp;gt;&lt;br /&gt;
task.h&amp;lt;br /&amp;gt;&lt;br /&gt;
timers.h&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&amp;lt;br /&amp;gt;&lt;br /&gt;
heap_4.c&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&amp;lt;br /&amp;gt;&lt;br /&gt;
port.c&amp;lt;br /&amp;gt;&lt;br /&gt;
portASM.S&amp;lt;br /&amp;gt;&lt;br /&gt;
portmacro.h&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2632</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2632"/>
		<updated>2017-12-06T14:58:50Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;. Use C as language, standalone as OS. Click next, select &amp;quot;Empty Application&amp;quot;, and finish.&lt;br /&gt;
&lt;br /&gt;
Download and extract FreeRTOS available at the FreeRTOS homepage: https://www.freertos.org/a00104.html&lt;br /&gt;
Copy the following files from the downloaded Free into the SDK project source folder located at: \axi3_lite_tutorial_project\axi4_lite_tutorial_project.sdk\FreeRTOS_example_project\src\&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Demo\CORTEX_A9_Zynq_ZC702\RTOSDemo\src\&lt;br /&gt;
FreeRTOS_asm_vectors.S&lt;br /&gt;
FreeRTOSConfig.h&lt;br /&gt;
FreeRTOS_tick_config.c&lt;br /&gt;
main.c&lt;br /&gt;
printf-stdarg.c&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\&lt;br /&gt;
croutine.c&lt;br /&gt;
event_groups.c&lt;br /&gt;
list.c&lt;br /&gt;
queue.c&lt;br /&gt;
tasks.c&lt;br /&gt;
timers.c&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\include\&lt;br /&gt;
croutine.h&lt;br /&gt;
deprecated_definitions.h&lt;br /&gt;
event_groups.h&lt;br /&gt;
FreeRTOS.h&lt;br /&gt;
list.h&lt;br /&gt;
mpu_prototypes.h&lt;br /&gt;
mpu_wrappers.h&lt;br /&gt;
portable.h&lt;br /&gt;
projdefs.h&lt;br /&gt;
queue.h&lt;br /&gt;
semphr.h&lt;br /&gt;
StackMacros.h&lt;br /&gt;
task.h&lt;br /&gt;
timers.h&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\MemMang\&lt;br /&gt;
heap_4.c&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
\FreeRTOSV8.2.1\FreeRTOS\Source\portable\GCC\ARM_CA9\&lt;br /&gt;
port.c&lt;br /&gt;
portASM.S&lt;br /&gt;
portmacro.h&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Microelectronics_group&amp;diff=2630</id>
		<title>Microelectronics group</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Microelectronics_group&amp;diff=2630"/>
		<updated>2017-12-06T13:29:31Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Øvinger og guider ==&lt;br /&gt;
=== Mentor Graphics ===&lt;br /&gt;
&lt;br /&gt;
* [[Expedition PCB]] Komme i gang med kretskortutlegg ved hjelp av Expedition PCB&lt;br /&gt;
&lt;br /&gt;
* [[Modelsim/Questa]] Skrive og simulere VHDL-kode med Mentor Graphics ModelSim&lt;br /&gt;
&lt;br /&gt;
=== Cadence ===&lt;br /&gt;
&lt;br /&gt;
* [[Cadence Virtuoso]]&lt;br /&gt;
&lt;br /&gt;
=== Microsemi ===&lt;br /&gt;
&lt;br /&gt;
* [[SmartFusion2- AMBA APB, Custom Peripheral]] Making a custom peripheral for the AMBA APB bus&lt;br /&gt;
&lt;br /&gt;
=== Annet ===&lt;br /&gt;
* [[Bitvis UVVM VHDL Verification Component Framework]] &lt;br /&gt;
&lt;br /&gt;
* [[Tutorials]] Tutorials from the web&lt;br /&gt;
&lt;br /&gt;
* [[XJTAG]]  Boundary Scan with XJTAG&lt;br /&gt;
&lt;br /&gt;
* [[XJDeveloper]] Innføring i XJDeveloper&lt;br /&gt;
&lt;br /&gt;
* [[FreeRTOS]] Free Real Time Operating System&lt;br /&gt;
&lt;br /&gt;
* [[Vivado]] Xilinx Vivado&lt;br /&gt;
&lt;br /&gt;
== Andre fagressurser og laboratorieveiledninger==&lt;br /&gt;
&lt;br /&gt;
* [[PHYS222]] Fagressurser for PHYS222 og PHYS223&lt;br /&gt;
&lt;br /&gt;
* [[PHYS321]] Fagressurser for PHYS321&lt;br /&gt;
&lt;br /&gt;
* [[Teknisk hjelp]] Teknisk hjelp for bruk av DAK-programvare&lt;br /&gt;
&lt;br /&gt;
* [[BGA lodding]] bruk av Martin 09.6 XL BGA lodding maskin (intern)&lt;br /&gt;
&lt;br /&gt;
* [[Reflow Soldering]] Use of Technoprint HA-02 reflow oven&lt;br /&gt;
&lt;br /&gt;
== Eldre øvinger og guider ==&lt;br /&gt;
=== Mentor Graphics ===&lt;br /&gt;
* [[IC studio]] Veiledning til IC-design ved hjelp av IC studio&lt;br /&gt;
&lt;br /&gt;
* [[IC studio - SPICE/Symbol Tutorial]] Relate a SPICE file to a Symbol&lt;br /&gt;
&lt;br /&gt;
* [[IC Station]] Tegne utlegg for integrerte kretser&lt;br /&gt;
&lt;br /&gt;
=== Annet ===&lt;br /&gt;
* [[PCI-eksperiment]] Øving med HLT-RORC-prototypekort&lt;br /&gt;
&lt;br /&gt;
* [[Xilinx]] Øving i bruk av Xilinx Project Studio&lt;br /&gt;
&lt;br /&gt;
* [[SmartFusion2]] Oppsett og design med SF2&lt;br /&gt;
&lt;br /&gt;
* [[FLTK GUI]] Graphical User Interface using FLTK&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2629</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2629"/>
		<updated>2017-12-06T13:26:34Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
= Running FreeRTOS on Xilinx Zybo =&lt;br /&gt;
&lt;br /&gt;
This tutorial will help in setting up Xilinx Zybo SoC-board to run FreeRTOS with an example project that toggles the LEDs on the board.&lt;br /&gt;
It assumes that the user has successfully exported the hardware bitstream from the Xilinx Vivado project created in the previous tutorial linked at the top. &lt;br /&gt;
&lt;br /&gt;
= Setup SDK =&lt;br /&gt;
Launch Xilinx SDK from the project in Xilinx Vivado: &#039;&#039;File --&amp;gt; Launch SDK&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Create a new blank application project with &#039;&#039;File --&amp;gt; New --&amp;gt; Application Project&#039;&#039; and name it &amp;quot;FreeRTOS_example_project&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2628</id>
		<title>Creating example project with AXI4 Lite peripheral in Xilinx Vivado</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2628"/>
		<updated>2017-12-06T13:25:42Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado 2017.3, using the Xilinx Digilent Zybo SoC.&lt;br /&gt;
&lt;br /&gt;
= Create a Project = &lt;br /&gt;
&lt;br /&gt;
Start ./vivado from installed directory. &lt;br /&gt;
Goto: &#039;&#039;File -&amp;gt; New Project -&amp;gt; Next&#039;&#039;. For this project we will name it &amp;quot;axi4_lite_tutorial_project&amp;quot; and place it in a folder named tutorials. Click Next and choose RTL Project, then Next. [[File:New_project_name.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Do not add any sources, but make sure that both target and simulator language is set to the appropriate language you&#039;re using. In this project we will use VHDL. Click Next. &lt;br /&gt;
Here you must provide a constraints file named &amp;quot;ZYBO_Master.xdc&amp;quot;, available from [https://github.com/Digilent/digilent-xdc/ GitHub]. Make sure that the option to copy the constraints file(s) into the project is marked. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next step, the board files for the board we&#039;re using must have been installed. If this is not the case, follow [https://reference.digilentinc.com/reference/software/vivado/board-files?redirect=1 this tutorial] to do so. [[File:new_project_default_part.png|thumbnail|center]] &lt;br /&gt;
Choose the Zybo board, click next, and finish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating a block desgin =&lt;br /&gt;
&lt;br /&gt;
The project has now been created and ready for IP-block integration.&lt;br /&gt;
Click on &amp;quot;Create Block Design&amp;quot; in the left of the window. Give the design a name, for instance design_1, and click &amp;quot;OK&amp;quot;.[[File:create_block_design.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now press the &amp;quot;+&amp;quot; button in the diagram window, and search for &amp;quot;ZYNQ7 Processing System&amp;quot;. Double click to add. In the top of the window an option to &amp;quot;Run Block Automation&amp;quot; appears.. Click this, and complete with default settings. The window should now look like this: [[File:first_block.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Create a Custom AXI4-lite IP block =&lt;br /&gt;
Goto: &#039;&#039;Tools -&amp;gt; Create and Package New IP&#039;&#039;. Choose &amp;quot;Create a New AXI4 peripheral&amp;quot;, and click next.&lt;br /&gt;
Name the IP &amp;quot;axi4_lite_led_IP&amp;quot; or any other suiting name. You can leave all other parameters default.&lt;br /&gt;
In the next window, ensure the IP contains one slave interface named S00_AXI of type &amp;quot;Lite&amp;quot;. Click next, and choose &amp;quot;Add IP to the repository&amp;quot;. Finish.[[File:add_interfaces_axi4lite.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
In the diagram window it&#039;s now possible to add the IP we just created, using the &amp;quot;+&amp;quot; button. Search for &amp;quot;axi4_lite_led_IP_v1.0&amp;quot; and add it. Run connection/block automation with default parameters.&lt;br /&gt;
&lt;br /&gt;
[[File:diagram_axi4lite_periph_added.png|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Right click on &amp;quot;design_1&amp;quot; under &amp;quot;Block Designs&amp;quot; in the Sources design tree. Click &amp;quot;Create HDL Wrapper&amp;quot;, and let Vivado manage wrapper and auto-update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Right click axi4_lite_led_IP_0 block --&amp;gt;  Edit in IP Packager&#039;&#039;. Then do the following edits to axi4_lite_led_IP_v1_0_S00_AXI.vhd and axi4_lite_led_IP_v1_0.vhd&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:led_ip_1.png|400px]]&lt;br /&gt;
[[File:led_ip_2.png|400px]]&lt;br /&gt;
[[File:led_ip_3.png|400px]]&lt;br /&gt;
[[File:S00_1.png|400px]]&lt;br /&gt;
[[File:S00_2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Save both files, and go into the &amp;quot;Ports and interfaces&amp;quot; tab. Click &amp;quot;Merge changes from Ports and Interfaces Wizard&amp;quot;. A new port should now be listed named &amp;quot;led_port&amp;quot;. Click on &amp;quot;Review and Package&amp;quot;, and click Re-Package IP. Click yes on prompt to close project.&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;IP Status&amp;quot; tab, and choose &amp;quot;Upgrade Selected&amp;quot; if you are not automatically prompted. Go back to the Block design diagram, and right-click on the newly created port named &amp;quot;led_port[3:0]&amp;quot; on our custom IP and choose &amp;quot;make external&amp;quot;. Save.&lt;br /&gt;
&lt;br /&gt;
= Editing the Constraints file =&lt;br /&gt;
&lt;br /&gt;
Open the constraints file ZYBO_Master.xdc located under Constraints in the sources tab design tree. &lt;br /&gt;
To avoid tons of warnings, comment out everything except from the 4 lines under &amp;quot;##LEDs&amp;quot; since we&#039;re only using them for this project.&lt;br /&gt;
Rewrite them to the following:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set_property -dict { PACKAGE_PIN M14   IOSTANDARD LVCMOS33 } [get_ports { led_port[3] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN M15   IOSTANDARD LVCMOS33 } [get_ports { led_port[2] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN G14   IOSTANDARD LVCMOS33 } [get_ports { led_port[1] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN D18   IOSTANDARD LVCMOS33 } [get_ports { led_port[0] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file, and click &amp;quot;Generate Bitstream&amp;quot;. Accept the launch of synthesis and implementation.&lt;br /&gt;
When complete, you can choose to open the implemented design and have a look at it, or specify timing restraints. &lt;br /&gt;
&lt;br /&gt;
= Exporting Bitstream =&lt;br /&gt;
&lt;br /&gt;
Goto: &#039;&#039;File --&amp;gt; Export --&amp;gt; Export Hardware&#039;&#039;, and choose to include bitstream.&lt;br /&gt;
&lt;br /&gt;
You are now done with this tutorial.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2627</id>
		<title>Creating example project with AXI4 Lite peripheral in Xilinx Vivado</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2627"/>
		<updated>2017-12-06T13:23:12Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado 2017.3, using the Xilinx Digilent Zybo SoC.&lt;br /&gt;
&lt;br /&gt;
Start ./vivado from installed directory. &lt;br /&gt;
Goto: &#039;&#039;File -&amp;gt; New Project -&amp;gt; Next&#039;&#039;. For this project we will name it &amp;quot;axi4_lite_tutorial_project&amp;quot; and place it in a folder named tutorials. Click Next and choose RTL Project, then Next. [[File:New_project_name.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Do not add any sources, but make sure that both target and simulator language is set to the appropriate language you&#039;re using. In this project we will use VHDL. Click Next. &lt;br /&gt;
Here you must provide a constraints file named &amp;quot;ZYBO_Master.xdc&amp;quot;, available from [https://github.com/Digilent/digilent-xdc/ GitHub]. Make sure that the option to copy the constraints file(s) into the project is marked. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next step, the board files for the board we&#039;re using must have been installed. If this is not the case, follow [https://reference.digilentinc.com/reference/software/vivado/board-files?redirect=1 this tutorial] to do so. [[File:new_project_default_part.png|thumbnail|center]] &lt;br /&gt;
Choose the Zybo board, click next, and finish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The project has now been created and ready for IP-block integration.&lt;br /&gt;
Click on &amp;quot;Create Block Design&amp;quot; in the left of the window. Give the design a name, for instance design_1, and click &amp;quot;OK&amp;quot;.[[File:create_block_design.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now press the &amp;quot;+&amp;quot; button in the diagram window, and search for &amp;quot;ZYNQ7 Processing System&amp;quot;. Double click to add. In the top of the window an option to &amp;quot;Run Block Automation&amp;quot; appears.. Click this, and complete with default settings. The window should now look like this: [[File:first_block.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Goto: &#039;&#039;Tools -&amp;gt; Create and Package New IP&#039;&#039;. Choose &amp;quot;Create a New AXI4 peripheral&amp;quot;, and click next.&lt;br /&gt;
Name the IP &amp;quot;axi4_lite_led_IP&amp;quot; or any other suiting name. You can leave all other parameters default.&lt;br /&gt;
In the next window, ensure the IP contains one slave interface named S00_AXI of type &amp;quot;Lite&amp;quot;. Click next, and choose &amp;quot;Add IP to the repository&amp;quot;. Finish.[[File:add_interfaces_axi4lite.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
In the diagram window it&#039;s now possible to add the IP we just created, using the &amp;quot;+&amp;quot; button. Search for &amp;quot;axi4_lite_led_IP_v1.0&amp;quot; and add it. Run connection/block automation with default parameters.&lt;br /&gt;
&lt;br /&gt;
[[File:diagram_axi4lite_periph_added.png|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Right click on &amp;quot;design_1&amp;quot; under &amp;quot;Block Designs&amp;quot; in the Sources design tree. Click &amp;quot;Create HDL Wrapper&amp;quot;, and let Vivado manage wrapper and auto-update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Right click axi4_lite_led_IP_0 block --&amp;gt;  Edit in IP Packager&#039;&#039;. Then do the following edits to axi4_lite_led_IP_v1_0_S00_AXI.vhd and axi4_lite_led_IP_v1_0.vhd&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:led_ip_1.png|400px]]&lt;br /&gt;
[[File:led_ip_2.png|400px]]&lt;br /&gt;
[[File:led_ip_3.png|400px]]&lt;br /&gt;
[[File:S00_1.png|400px]]&lt;br /&gt;
[[File:S00_2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Save both files, and go into the &amp;quot;Ports and interfaces&amp;quot; tab. Click &amp;quot;Merge changes from Ports and Interfaces Wizard&amp;quot;. A new port should now be listed named &amp;quot;led_port&amp;quot;. Click on &amp;quot;Review and Package&amp;quot;, and click Re-Package IP. Click yes on prompt to close project.&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;IP Status&amp;quot; tab, and choose &amp;quot;Upgrade Selected&amp;quot; if you are not automatically prompted. Go back to the Block design diagram, and right-click on the newly created port named &amp;quot;led_port[3:0]&amp;quot; on our custom IP and choose &amp;quot;make external&amp;quot;. Save.&lt;br /&gt;
&lt;br /&gt;
Open the constraints file ZYBO_Master.xdc located under Constraints in the sources tab design tree. &lt;br /&gt;
To avoid tons of warnings, comment out everything except from the 4 lines under &amp;quot;##LEDs&amp;quot;.&lt;br /&gt;
Rewrite them to the following:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set_property -dict { PACKAGE_PIN M14   IOSTANDARD LVCMOS33 } [get_ports { led_port[3] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN M15   IOSTANDARD LVCMOS33 } [get_ports { led_port[2] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN G14   IOSTANDARD LVCMOS33 } [get_ports { led_port[1] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN D18   IOSTANDARD LVCMOS33 } [get_ports { led_port[0] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file, and click &amp;quot;Generate Bitstream&amp;quot;. Accept the launch of synthesis and implementation.&lt;br /&gt;
When complete, you can choose to open the implemented design and have a look at it, or specify timing restraints. &lt;br /&gt;
&lt;br /&gt;
= Exporting Bitstream =&lt;br /&gt;
&lt;br /&gt;
Goto: &#039;&#039;File --&amp;gt; Export --&amp;gt; Export Hardware&#039;&#039;, and choose to include bitstream.&lt;br /&gt;
&lt;br /&gt;
You are now done with this tutorial.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2626</id>
		<title>Running FreeRTOS on Xilinx Zybo</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Running_FreeRTOS_on_Xilinx_Zybo&amp;diff=2626"/>
		<updated>2017-12-06T12:25:12Z</updated>

		<summary type="html">&lt;p&gt;Yag005: Created page with &amp;quot;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.   This tutorial assumes you have completed the &amp;quot;Creating example project with AXI4 Lite peripheral in Xilinx Vivado&amp;quot;-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Creating example project with AXI4 Lite peripheral in Xilinx Vivado]]&amp;quot;-tutorial.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=FreeRTOS_FSBL&amp;diff=2625</id>
		<title>FreeRTOS FSBL</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=FreeRTOS_FSBL&amp;diff=2625"/>
		<updated>2017-12-06T12:25:05Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado/SDK 2017.3, Ubuntu 16.04 LTS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This tutorial assumes you have completed the &amp;quot;[[Running FreeRTOS on Xilinx Zybo]]&amp;quot;-tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Exporting hardware bitstream =====&lt;br /&gt;
&lt;br /&gt;
After the bitstream was generated in the previous tutorial, it is now possible to export it. &lt;br /&gt;
&#039;&#039;Goto:  File -&amp;gt; Export -&amp;gt; Export Hardware..&#039;&#039;&lt;br /&gt;
Make sure to include bitstream, and press &amp;quot;OK&amp;quot;.&lt;br /&gt;
[[File:export_hardware.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, goto: &#039;&#039;File -&amp;gt; Launch SDK&#039;&#039;. The following window will appear:&lt;br /&gt;
[[File:Launch SDK.png|thumbnail|center]]&lt;br /&gt;
Press &amp;quot;OK&amp;quot; and wait for Xilinx SDK to start up and finish loading. &lt;br /&gt;
&lt;br /&gt;
... Work in progress ...&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=FreeRTOS&amp;diff=2624</id>
		<title>FreeRTOS</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=FreeRTOS&amp;diff=2624"/>
		<updated>2017-12-06T12:23:26Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Running FreeRTOS on Xilinx Zybo]] - How to get FreeRTOS to run on the Xilinx Zybo SoC.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[FreeRTOS FSBL]] - First Stage Bootloader: Run FreeRTOS by booting OS and application project from SD-card.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=FreeRTOS&amp;diff=2623</id>
		<title>FreeRTOS</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=FreeRTOS&amp;diff=2623"/>
		<updated>2017-12-06T12:23:12Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Running FreeRTOS on Xilinx Zybo]] - How to get FreeRTOS to run on the Xilinx Zybo SoC.&lt;br /&gt;
[[FreeRTOS FSBL]] - First Stage Bootloader: Run FreeRTOS by booting OS and application project from SD-card.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2622</id>
		<title>Creating example project with AXI4 Lite peripheral in Xilinx Vivado</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2622"/>
		<updated>2017-12-04T18:11:22Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado 2017.3, using the Xilinx Digilent Zybo SoC.&lt;br /&gt;
&lt;br /&gt;
Start ./vivado from installed directory. &lt;br /&gt;
Goto: &#039;&#039;File -&amp;gt; New Project -&amp;gt; Next&#039;&#039;. For this project we will name it &amp;quot;axi4_lite_tutorial_project&amp;quot; and place it in a folder named tutorials. Click Next and choose RTL Project, then Next. [[File:New_project_name.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Do not add any sources, but make sure that both target and simulator language is set to the appropriate language you&#039;re using. In this project we will use VHDL. Click Next. &lt;br /&gt;
Here you must provide a constraints file named &amp;quot;ZYBO_Master.xdc&amp;quot;, available from [https://github.com/Digilent/digilent-xdc/ GitHub]. Make sure that the option to copy the constraints file(s) into the project is marked. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next step, the board files for the board we&#039;re using must have been installed. If this is not the case, follow [https://reference.digilentinc.com/reference/software/vivado/board-files?redirect=1 this tutorial] to do so. [[File:new_project_default_part.png|thumbnail|center]] &lt;br /&gt;
Choose the Zybo board, click next, and finish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The project has now been created and ready for IP-block integration.&lt;br /&gt;
Click on &amp;quot;Create Block Design&amp;quot; in the left of the window. Give the design a name, for instance design_1, and click &amp;quot;OK&amp;quot;.[[File:create_block_design.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now press the &amp;quot;+&amp;quot; button in the diagram window, and search for &amp;quot;ZYNQ7 Processing System&amp;quot;. Double click to add. In the top of the window an option to &amp;quot;Run Block Automation&amp;quot; appears.. Click this, and complete with default settings. The window should now look like this: [[File:first_block.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Goto: &#039;&#039;Tools -&amp;gt; Create and Package New IP&#039;&#039;. Choose &amp;quot;Create a New AXI4 peripheral&amp;quot;, and click next.&lt;br /&gt;
Name the IP &amp;quot;axi4_lite_led_IP&amp;quot; or any other suiting name. You can leave all other parameters default.&lt;br /&gt;
In the next window, ensure the IP contains one slave interface named S00_AXI of type &amp;quot;Lite&amp;quot;. Click next, and choose &amp;quot;Add IP to the repository&amp;quot;. Finish.[[File:add_interfaces_axi4lite.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
In the diagram window it&#039;s now possible to add the IP we just created, using the &amp;quot;+&amp;quot; button. Search for &amp;quot;axi4_lite_led_IP_v1.0&amp;quot; and add it. Run connection/block automation with default parameters.&lt;br /&gt;
&lt;br /&gt;
[[File:diagram_axi4lite_periph_added.png|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Right click on &amp;quot;design_1&amp;quot; under &amp;quot;Block Designs&amp;quot; in the Sources design tree. Click &amp;quot;Create HDL Wrapper&amp;quot;, and let Vivado manage wrapper and auto-update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Right click axi4_lite_led_IP_0 block --&amp;gt;  Edit in IP Packager&#039;&#039;. Then do the following edits to axi4_lite_led_IP_v1_0_S00_AXI.vhd and axi4_lite_led_IP_v1_0.vhd&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:led_ip_1.png|400px]]&lt;br /&gt;
[[File:led_ip_2.png|400px]]&lt;br /&gt;
[[File:led_ip_3.png|400px]]&lt;br /&gt;
[[File:S00_1.png|400px]]&lt;br /&gt;
[[File:S00_2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Save both files, and go into the &amp;quot;Ports and interfaces&amp;quot; tab. Click &amp;quot;Merge changes from Ports and Interfaces Wizard&amp;quot;. A new port should now be listed named &amp;quot;led_port&amp;quot;. Click on &amp;quot;Review and Package&amp;quot;, and click Re-Package IP. Click yes on prompt to close project.&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;IP Status&amp;quot; tab, and choose &amp;quot;Upgrade Selected&amp;quot; if you are not automatically prompted. Go back to the Block design diagram, and right-click on the newly created port named &amp;quot;led_port[3:0]&amp;quot; on our custom IP and choose &amp;quot;make external&amp;quot;. Save.&lt;br /&gt;
&lt;br /&gt;
Open the constraints file ZYBO_Master.xdc located under Constraints in the sources tab design tree. &lt;br /&gt;
To avoid tons of warnings, comment out everything except from the 4 lines under &amp;quot;##LEDs&amp;quot;.&lt;br /&gt;
Rewrite them to the following:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set_property -dict { PACKAGE_PIN M14   IOSTANDARD LVCMOS33 } [get_ports { led_port[3] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN M15   IOSTANDARD LVCMOS33 } [get_ports { led_port[2] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN G14   IOSTANDARD LVCMOS33 } [get_ports { led_port[1] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN D18   IOSTANDARD LVCMOS33 } [get_ports { led_port[0] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file, and click &amp;quot;Generate Bitstream&amp;quot;. Accept the launch of synthesis and implementation.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2621</id>
		<title>Creating example project with AXI4 Lite peripheral in Xilinx Vivado</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2621"/>
		<updated>2017-12-04T17:02:26Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado 2017.3, using the Xilinx Digilent Zybo SoC.&lt;br /&gt;
&lt;br /&gt;
Start ./vivado from installed directory. &lt;br /&gt;
Goto: &#039;&#039;File -&amp;gt; New Project -&amp;gt; Next&#039;&#039;. For this project we will name it &amp;quot;axi4_lite_tutorial_project&amp;quot; and place it in a folder named tutorials. Click Next and choose RTL Project, then Next. [[File:New_project_name.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Do not add any sources, but make sure that both target and simulator language is set to the appropriate language you&#039;re using. In this project we will use VHDL. Click Next. &lt;br /&gt;
Here you must provide a constraints file named &amp;quot;ZYBO_Master.xdc&amp;quot;, available from [https://github.com/Digilent/digilent-xdc/ GitHub]. Make sure that the option to copy the constraints file(s) into the project is marked. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next step, the board files for the board we&#039;re using must have been installed. If this is not the case, follow [https://reference.digilentinc.com/reference/software/vivado/board-files?redirect=1 this tutorial] to do so. [[File:new_project_default_part.png|thumbnail|center]] &lt;br /&gt;
Choose the Zybo board, click next, and finish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The project has now been created and ready for IP-block integration.&lt;br /&gt;
Click on &amp;quot;Create Block Design&amp;quot; in the left of the window. Give the design a name, for instance design_1, and click &amp;quot;OK&amp;quot;.[[File:create_block_design.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now press the &amp;quot;+&amp;quot; button in the diagram window, and search for &amp;quot;ZYNQ7 Processing System&amp;quot;. Double click to add. In the top of the window an option to &amp;quot;Run Block Automation&amp;quot; appears.. Click this, and complete with default settings. The window should now look like this: [[File:first_block.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Goto: &#039;&#039;Tools -&amp;gt; Create and Package New IP&#039;&#039;. Choose &amp;quot;Create a New AXI4 peripheral&amp;quot;, and click next.&lt;br /&gt;
Name the IP &amp;quot;axi4_lite_led_IP&amp;quot; or any other suiting name. You can leave all other parameters default.&lt;br /&gt;
In the next window, ensure the IP contains one slave interface named S00_AXI of type &amp;quot;Lite&amp;quot;. Click next, and choose &amp;quot;Add IP to the repository&amp;quot;. Finish.[[File:add_interfaces_axi4lite.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
In the diagram window it&#039;s now possible to add the IP we just created, using the &amp;quot;+&amp;quot; button. Search for &amp;quot;axi4_lite_led_IP_v1.0&amp;quot; and add it. Run connection/block automation with default parameters.&lt;br /&gt;
&lt;br /&gt;
[[File:diagram_axi4lite_periph_added.png|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Right click on &amp;quot;design_1&amp;quot; under &amp;quot;Block Designs&amp;quot; in the Sources design tree. Click &amp;quot;Create HDL Wrapper&amp;quot;, and let Vivado manage wrapper and auto-update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Right click axi4_lite_led_IP_0 block --&amp;gt;  Edit in IP Packager&#039;&#039;. Then do the following edits to axi4_lite_led_IP_v1_0_S00_AXI.vhd and axi4_lite_led_IP_v1_0.vhd&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:led_ip_1.png|400px]]&lt;br /&gt;
[[File:led_ip_2.png|400px]]&lt;br /&gt;
[[File:led_ip_3.png|400px]]&lt;br /&gt;
[[File:S00_1.png|400px]]&lt;br /&gt;
[[File:S00_2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Save both files, and go into the &amp;quot;Ports and interfaces&amp;quot; tab. Click &amp;quot;Merge changes from Ports and Interfaces Wizard&amp;quot;. A new port should now be listed named &amp;quot;led_port&amp;quot;. Click on &amp;quot;Review and Package&amp;quot;, and click Re-Package IP. Click yes on prompt to close project.&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;IP Status&amp;quot; tab, and choose &amp;quot;Upgrade Selected&amp;quot; if you are not automatically prompted. Go back to the Block design diagram, and right-click on the newly created port named &amp;quot;led_port[3:0]&amp;quot; on our custom IP and choose &amp;quot;make external&amp;quot;. Save.&lt;br /&gt;
&lt;br /&gt;
Open the constraints file ZYBO_Master.xdc located under Constraints in the sources tab design tree. &lt;br /&gt;
To avoid tons of warnings, comment out everything except from the 4 lines under &amp;quot;##LEDs&amp;quot;.&lt;br /&gt;
Rewrite them to the following:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set_property -dict { PACKAGE_PIN M14   IOSTANDARD LVCMOS33 } [get_ports { led_port[3] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN M15   IOSTANDARD LVCMOS33 } [get_ports { led_port[2] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN G14   IOSTANDARD LVCMOS33 } [get_ports { led_port[1] }]; &amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN D18   IOSTANDARD LVCMOS33 } [get_ports { led_port[0] }]; &amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2620</id>
		<title>Creating example project with AXI4 Lite peripheral in Xilinx Vivado</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2620"/>
		<updated>2017-12-04T17:01:45Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado 2017.3, using the Xilinx Digilent Zybo SoC.&lt;br /&gt;
&lt;br /&gt;
Start ./vivado from installed directory. &lt;br /&gt;
Goto: &#039;&#039;File -&amp;gt; New Project -&amp;gt; Next&#039;&#039;. For this project we will name it &amp;quot;axi4_lite_tutorial_project&amp;quot; and place it in a folder named tutorials. Click Next and choose RTL Project, then Next. [[File:New_project_name.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Do not add any sources, but make sure that both target and simulator language is set to the appropriate language you&#039;re using. In this project we will use VHDL. Click Next. &lt;br /&gt;
Here you must provide a constraints file named &amp;quot;ZYBO_Master.xdc&amp;quot;, available from [https://github.com/Digilent/digilent-xdc/ GitHub]. Make sure that the option to copy the constraints file(s) into the project is marked. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next step, the board files for the board we&#039;re using must have been installed. If this is not the case, follow [https://reference.digilentinc.com/reference/software/vivado/board-files?redirect=1 this tutorial] to do so. [[File:new_project_default_part.png|thumbnail|center]] &lt;br /&gt;
Choose the Zybo board, click next, and finish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The project has now been created and ready for IP-block integration.&lt;br /&gt;
Click on &amp;quot;Create Block Design&amp;quot; in the left of the window. Give the design a name, for instance design_1, and click &amp;quot;OK&amp;quot;.[[File:create_block_design.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now press the &amp;quot;+&amp;quot; button in the diagram window, and search for &amp;quot;ZYNQ7 Processing System&amp;quot;. Double click to add. In the top of the window an option to &amp;quot;Run Block Automation&amp;quot; appears.. Click this, and complete with default settings. The window should now look like this: [[File:first_block.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Goto: &#039;&#039;Tools -&amp;gt; Create and Package New IP&#039;&#039;. Choose &amp;quot;Create a New AXI4 peripheral&amp;quot;, and click next.&lt;br /&gt;
Name the IP &amp;quot;axi4_lite_led_IP&amp;quot; or any other suiting name. You can leave all other parameters default.&lt;br /&gt;
In the next window, ensure the IP contains one slave interface named S00_AXI of type &amp;quot;Lite&amp;quot;. Click next, and choose &amp;quot;Add IP to the repository&amp;quot;. Finish.[[File:add_interfaces_axi4lite.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
In the diagram window it&#039;s now possible to add the IP we just created, using the &amp;quot;+&amp;quot; button. Search for &amp;quot;axi4_lite_led_IP_v1.0&amp;quot; and add it. Run connection/block automation with default parameters.&lt;br /&gt;
&lt;br /&gt;
[[File:diagram_axi4lite_periph_added.png|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Right click on &amp;quot;design_1&amp;quot; under &amp;quot;Block Designs&amp;quot; in the Sources design tree. Click &amp;quot;Create HDL Wrapper&amp;quot;, and let Vivado manage wrapper and auto-update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Right click axi4_lite_led_IP_0 block --&amp;gt;  Edit in IP Packager&#039;&#039;. Then do the following edits to axi4_lite_led_IP_v1_0_S00_AXI.vhd and axi4_lite_led_IP_v1_0.vhd&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:led_ip_1.png|400px]]&lt;br /&gt;
[[File:led_ip_2.png|400px]]&lt;br /&gt;
[[File:led_ip_3.png|400px]]&lt;br /&gt;
[[File:S00_1.png|400px]]&lt;br /&gt;
[[File:S00_2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Save both files, and go into the &amp;quot;Ports and interfaces&amp;quot; tab. Click &amp;quot;Merge changes from Ports and Interfaces Wizard&amp;quot;. A new port should now be listed named &amp;quot;led_port&amp;quot;. Click on &amp;quot;Review and Package&amp;quot;, and click Re-Package IP. Click yes on prompt to close project.&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;IP Status&amp;quot; tab, and choose &amp;quot;Upgrade Selected&amp;quot; if you are not automatically prompted. Go back to the Block design diagram, and right-click on the newly created port named &amp;quot;led_port[3:0]&amp;quot; on our custom IP and choose &amp;quot;make external&amp;quot;. Save.&lt;br /&gt;
&lt;br /&gt;
Open the constraints file ZYBO_Master.xdc located under Constraints in the sources tab design tree. &lt;br /&gt;
To avoid tons of warnings, comment out everything except from the 4 lines under &amp;quot;##LEDs&amp;quot;.&lt;br /&gt;
Rewrite them to the following:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set_property -dict { PACKAGE_PIN M14   IOSTANDARD LVCMOS33 } [get_ports { led_port[3] }]; #IO_L23P_T3_35 Sch=LED0&amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN M15   IOSTANDARD LVCMOS33 } [get_ports { led_port[2] }]; #IO_L23N_T3_35 Sch=LED1&amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN G14   IOSTANDARD LVCMOS33 } [get_ports { led_port[1] }]; #IO_0_35=Sch=LED2&amp;lt;br /&amp;gt;&lt;br /&gt;
set_property -dict { PACKAGE_PIN D18   IOSTANDARD LVCMOS33 } [get_ports { led_port[0] }]; #IO_L3N_T0_DQS_AD1N_35 Sch=LED3&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=File:Led_port_success.png&amp;diff=2619</id>
		<title>File:Led port success.png</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=File:Led_port_success.png&amp;diff=2619"/>
		<updated>2017-12-04T16:52:36Z</updated>

		<summary type="html">&lt;p&gt;Yag005: Yag005 uploaded a new version of File:Led port success.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2618</id>
		<title>Creating example project with AXI4 Lite peripheral in Xilinx Vivado</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=Creating_example_project_with_AXI4_Lite_peripheral_in_Xilinx_Vivado&amp;diff=2618"/>
		<updated>2017-12-04T16:52:01Z</updated>

		<summary type="html">&lt;p&gt;Yag005: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tested on Xilinx Vivado 2017.3, using the Xilinx Digilent Zybo SoC.&lt;br /&gt;
&lt;br /&gt;
Start ./vivado from installed directory. &lt;br /&gt;
Goto: &#039;&#039;File -&amp;gt; New Project -&amp;gt; Next&#039;&#039;. For this project we will name it &amp;quot;axi4_lite_tutorial_project&amp;quot; and place it in a folder named tutorials. Click Next and choose RTL Project, then Next. [[File:New_project_name.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Do not add any sources, but make sure that both target and simulator language is set to the appropriate language you&#039;re using. In this project we will use VHDL. Click Next. &lt;br /&gt;
Here you must provide a constraints file named &amp;quot;ZYBO_Master.xdc&amp;quot;, available from [https://github.com/Digilent/digilent-xdc/ GitHub]. Make sure that the option to copy the constraints file(s) into the project is marked. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the next step, the board files for the board we&#039;re using must have been installed. If this is not the case, follow [https://reference.digilentinc.com/reference/software/vivado/board-files?redirect=1 this tutorial] to do so. [[File:new_project_default_part.png|thumbnail|center]] &lt;br /&gt;
Choose the Zybo board, click next, and finish.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The project has now been created and ready for IP-block integration.&lt;br /&gt;
Click on &amp;quot;Create Block Design&amp;quot; in the left of the window. Give the design a name, for instance design_1, and click &amp;quot;OK&amp;quot;.[[File:create_block_design.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now press the &amp;quot;+&amp;quot; button in the diagram window, and search for &amp;quot;ZYNQ7 Processing System&amp;quot;. Double click to add. In the top of the window an option to &amp;quot;Run Block Automation&amp;quot; appears.. Click this, and complete with default settings. The window should now look like this: [[File:first_block.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
Goto: &#039;&#039;Tools -&amp;gt; Create and Package New IP&#039;&#039;. Choose &amp;quot;Create a New AXI4 peripheral&amp;quot;, and click next.&lt;br /&gt;
Name the IP &amp;quot;axi4_lite_led_IP&amp;quot; or any other suiting name. You can leave all other parameters default.&lt;br /&gt;
In the next window, ensure the IP contains one slave interface named S00_AXI of type &amp;quot;Lite&amp;quot;. Click next, and choose &amp;quot;Add IP to the repository&amp;quot;. Finish.[[File:add_interfaces_axi4lite.png|thumbnail|center]]&lt;br /&gt;
&lt;br /&gt;
In the diagram window it&#039;s now possible to add the IP we just created, using the &amp;quot;+&amp;quot; button. Search for &amp;quot;axi4_lite_led_IP_v1.0&amp;quot; and add it. Run connection/block automation with default parameters.&lt;br /&gt;
&lt;br /&gt;
[[File:diagram_axi4lite_periph_added.png|center]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Right click on &amp;quot;design_1&amp;quot; under &amp;quot;Block Designs&amp;quot; in the Sources design tree. Click &amp;quot;Create HDL Wrapper&amp;quot;, and let Vivado manage wrapper and auto-update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Right click axi4_lite_led_IP_0 block --&amp;gt;  Edit in IP Packager&#039;&#039;. Then do the following edits to axi4_lite_led_IP_v1_0_S00_AXI.vhd and axi4_lite_led_IP_v1_0.vhd&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:led_ip_1.png|400px]]&lt;br /&gt;
[[File:led_ip_2.png|400px]]&lt;br /&gt;
[[File:led_ip_3.png|400px]]&lt;br /&gt;
[[File:S00_1.png|400px]]&lt;br /&gt;
[[File:S00_2.png|400px]]&lt;br /&gt;
[[File:led_port_success.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Save both files, and go into the &amp;quot;Ports and interfaces&amp;quot; tab. Click &amp;quot;Merge changes from Ports and Interfaces Wizard&amp;quot;. A new port should now be listed named &amp;quot;led_port&amp;quot;. Click on &amp;quot;Review and Package&amp;quot;, and click Re-Package IP. Click yes on prompt to close project.&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot;IP Status&amp;quot; tab, and choose &amp;quot;Upgrade Selected&amp;quot; if you are not automatically prompted.&lt;/div&gt;</summary>
		<author><name>Yag005</name></author>
	</entry>
</feed>