<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://miosix.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Stm32f429zi_stm32f4discovery</id>
	<title>Stm32f429zi stm32f4discovery - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://miosix.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Stm32f429zi_stm32f4discovery"/>
	<link rel="alternate" type="text/html" href="https://miosix.org/wiki/index.php?title=Stm32f429zi_stm32f4discovery&amp;action=history"/>
	<updated>2026-05-30T15:33:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://miosix.org/wiki/index.php?title=Stm32f429zi_stm32f4discovery&amp;diff=413&amp;oldid=prev</id>
		<title>Fede.tft at 07:35, 10 May 2026</title>
		<link rel="alternate" type="text/html" href="https://miosix.org/wiki/index.php?title=Stm32f429zi_stm32f4discovery&amp;diff=413&amp;oldid=prev"/>
		<updated>2026-05-10T07:35:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:35, 10 May 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l56&quot;&gt;Line 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;As explained before, there are more than one linker script for this board, and the selected linker script affects the way code should be loaded on the board.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;As explained before, there are more than one linker script for this board, and the selected linker script affects the way code should be loaded on the board.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A simple way to load code in FLASH is to use the [https://github.com/fpoussin/QStlink2 QStlink2] tool. Also, if you have a brand new &lt;/del&gt;board &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and QStlink fails you may take a look at [[ST&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;LINK utility update|this page]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Flashing this &lt;/ins&gt;board &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;on Linux can be done with st&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;flash.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Reading printf output ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Reading printf output ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Fede.tft</name></author>
	</entry>
	<entry>
		<id>https://miosix.org/wiki/index.php?title=Stm32f429zi_stm32f4discovery&amp;diff=264&amp;oldid=prev</id>
		<title>Silseva: updated code uploading guide</title>
		<link rel="alternate" type="text/html" href="https://miosix.org/wiki/index.php?title=Stm32f429zi_stm32f4discovery&amp;diff=264&amp;oldid=prev"/>
		<updated>2016-12-16T08:42:20Z</updated>

		<summary type="html">&lt;p&gt;updated code uploading guide&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:42, 16 December 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot;&gt;Line 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;As explained before, there are more than one linker script for this board, and the selected linker script affects the way code should be loaded on the board.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;As explained before, there are more than one linker script for this board, and the selected linker script affects the way code should be loaded on the board.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A simple way to load code in FLASH is to use the [https://github.com/fpoussin/QStlink2 QStlink2] tool. Also, if you have a brand new board and QStlink fails you may take a look at [[ST-LINK utility update|this page]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Reading printf output ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Reading printf output ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Silseva</name></author>
	</entry>
	<entry>
		<id>https://miosix.org/wiki/index.php?title=Stm32f429zi_stm32f4discovery&amp;diff=218&amp;oldid=prev</id>
		<title>Silseva: added board image</title>
		<link rel="alternate" type="text/html" href="https://miosix.org/wiki/index.php?title=Stm32f429zi_stm32f4discovery&amp;diff=218&amp;oldid=prev"/>
		<updated>2016-04-07T12:45:04Z</updated>

		<summary type="html">&lt;p&gt;added board image&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:45, 7 April 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* An external 64Mb SRAM, L3GD20 3-axis digital output gyroscope, 2.4&amp;quot; QVGA TFT LCD, 2 user LEDs, user button, reset button, a second USB connector as the microcontroller supports USB.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* An external 64Mb SRAM, L3GD20 3-axis digital output gyroscope, 2.4&amp;quot; QVGA TFT LCD, 2 user LEDs, user button, reset button, a second USB connector as the microcontroller supports USB.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;FIXME&lt;/del&gt;|frameless]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Stm32f429disco.jpg&lt;/ins&gt;|frameless]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Configuring the kernel ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Configuring the kernel ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Silseva</name></author>
	</entry>
	<entry>
		<id>https://miosix.org/wiki/index.php?title=Stm32f429zi_stm32f4discovery&amp;diff=216&amp;oldid=prev</id>
		<title>Silseva: Created STM32F429 discovery page</title>
		<link rel="alternate" type="text/html" href="https://miosix.org/wiki/index.php?title=Stm32f429zi_stm32f4discovery&amp;diff=216&amp;oldid=prev"/>
		<updated>2016-04-07T12:40:56Z</updated>

		<summary type="html">&lt;p&gt;Created STM32F429 discovery page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
This is a cheap self contained [http://www2.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32f429idiscovery.html discovery board] with a powerful processor, and a Linux-friendly [http://www.st.com/web/catalog/tools/PF219866 ST-LINK/V2] programmer/in circuit debugger.&lt;br /&gt;
The board is equipped with&lt;br /&gt;
* A [http://www2.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f4-series/stm32f429-439/stm32f429zi.html STM32F429ZI] microcontroller with a 180MHz ARM Cortex-M4F core, 2048KB Flash, 256KB RAM, 4KB battery-backed RAM in LQFP144 package.&lt;br /&gt;
* An external 64Mb SRAM, L3GD20 3-axis digital output gyroscope, 2.4&amp;quot; QVGA TFT LCD, 2 user LEDs, user button, reset button, a second USB connector as the microcontroller supports USB.&lt;br /&gt;
&lt;br /&gt;
[[File:FIXME|frameless]]&lt;br /&gt;
&lt;br /&gt;
== Configuring the kernel ==&lt;br /&gt;
&lt;br /&gt;
The minimum configuration required is to edit the [[Makefile.inc|miosix/config/Makefile.inc]] file to uncomment the &amp;#039;&amp;#039;OPT_BOARD := stm32f429zi_stm32f4discovery&amp;#039;&amp;#039; line. If you had compiled the kernel before, it is recommended to do a &amp;#039;&amp;#039;make clean&amp;#039;&amp;#039; (or in the Netbeans IDE, to click on the &amp;quot;Clean project&amp;quot; button) to avoid leaving object files around. After, do a &amp;#039;&amp;#039;make&amp;#039;&amp;#039; to compile.&lt;br /&gt;
&lt;br /&gt;
In addition, this board has a couple of board-specific options in the Makefile.inc file. For convenience, the relevant part of that configuration file is reported here so as to be easily located within the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;CPP&amp;quot;&amp;gt;&lt;br /&gt;
##---------------------------------------------------------------------------&lt;br /&gt;
## stm32f429zi_stm32f4discovery&lt;br /&gt;
##&lt;br /&gt;
ifeq ($(OPT_BOARD),stm32f429zi_stm32f4discovery)&lt;br /&gt;
&lt;br /&gt;
    ## Linker script type, there are three options&lt;br /&gt;
    ## 1) Code in FLASH, stack + heap in internal RAM (file *_rom.ld)&lt;br /&gt;
    ##    the most common choice, available for all microcontrollers&lt;br /&gt;
    ## 2) Code in FLASH, stack + heap in external RAM (file *8m_xram.ld)&lt;br /&gt;
    ##    You must uncomment -D__ENABLE_XRAM below in this case.&lt;br /&gt;
    ## 3) Code in FLASH, stack + heap in external RAM (file *6m_xram.ld)&lt;br /&gt;
    ##    Same as above, but leaves the upper 2MB of RAM for the LCD.&lt;br /&gt;
    LINKER_SCRIPT_PATH := arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery/&lt;br /&gt;
    #LINKER_SCRIPT := $(LINKER_SCRIPT_PATH)stm32_2m+256k_rom.ld&lt;br /&gt;
    #LINKER_SCRIPT := $(LINKER_SCRIPT_PATH)stm32_2m+8m_xram.ld&lt;br /&gt;
    LINKER_SCRIPT := $(LINKER_SCRIPT_PATH)stm32_2m+6m_xram.ld&lt;br /&gt;
&lt;br /&gt;
    ## Uncommenting __ENABLE_XRAM enables the initialization of the external&lt;br /&gt;
    ## 8MB SDRAM memory. Do not uncomment this even if you don&amp;#039;t use a linker&lt;br /&gt;
    ## script that requires it, as it is used for the LCD framebuffer.&lt;br /&gt;
    XRAM := -D__ENABLE_XRAM&lt;br /&gt;
    &lt;br /&gt;
    ## Select clock frequency. Warning: the default clock frequency for&lt;br /&gt;
    ## this board is 168MHz and not 180MHz because, due to a limitation in&lt;br /&gt;
    ## the PLL, it is not possible to generate a precise 48MHz output when&lt;br /&gt;
    ## running the core at 180MHz. If 180MHz is chosen the USB peripheral will&lt;br /&gt;
    ## NOT WORK and the SDIO and RNG will run ~6% slower (45MHz insteand of 48)&lt;br /&gt;
    #CLOCK_FREQ := -DHSE_VALUE=8000000 -DSYSCLK_FREQ_180MHz=180000000&lt;br /&gt;
    CLOCK_FREQ := -DHSE_VALUE=8000000 -DSYSCLK_FREQ_168MHz=168000000&lt;br /&gt;
    #CLOCK_FREQ := -DHSE_VALUE=8000000 -DSYSCLK_FREQ_100MHz=100000000&lt;br /&gt;
&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As can be seen, there are two options for this board: LINKER_SCRIPT and SRAM_BOOT. The comments explain in detail the meaning of there options, so it isn&amp;#039;t necessary to further explain them. &lt;br /&gt;
&lt;br /&gt;
After modifying configuration files it is recommended to do a make clean; make (or in the Netbeans IDE, to click on the &amp;quot;Clean and build project&amp;quot; button) to be sure that changes are applied.&lt;br /&gt;
&lt;br /&gt;
== Loading code ==&lt;br /&gt;
&lt;br /&gt;
As explained before, there are more than one linker script for this board, and the selected linker script affects the way code should be loaded on the board.&lt;br /&gt;
&lt;br /&gt;
== Reading printf output ==&lt;br /&gt;
&lt;br /&gt;
The board has no serial to USB adapter onboard, so you need to use an external one, connected to USART3, in detail PA9 (TXD) and PA10 (RXD).&lt;br /&gt;
&lt;br /&gt;
On Linux you can use screen. Open a terminal and type &amp;#039;&amp;#039;screen /dev/ttyUSB0 19200&amp;#039;&amp;#039; (Note that to quit from screen you need to type &amp;quot;Ctrl-C, \&amp;quot;). You&amp;#039;ll need to change /dev/ttyUSB0 with your serial port device name.&lt;br /&gt;
&lt;br /&gt;
On windows you can use HyperTerminal, you need to configure it to use the required baud rate, no flow control, and select the correct COM port device name.&lt;br /&gt;
&lt;br /&gt;
== In Circuit Debugging ==&lt;br /&gt;
&lt;br /&gt;
Before you begin you should note that the Miosix kernel will put the CPU to a low power state when no thread is running. This low power state will usually confuse debuggers and make them lose sync with the CPU. To avoid this you need to edit the [[miosix_settings.h|miosix/config/miosix_settings.h]] file and uncomment &amp;#039;&amp;#039;#define JTAG_DISABLE_SLEEP&amp;#039;&amp;#039; line. This will prevent the kernel from putting the CPU in its low power state making debugging possible.&lt;br /&gt;
Also, to be able to precisely single-step your code you need to disable compiler optimizations as gdb is incapable of reliably debug an optimized code. The option is in the miosix/config/Makefile.inc file and is the &amp;#039;&amp;#039;OPT_OPTIMIZATION := -O0&amp;#039;&amp;#039; that should be uncommented while the other lines related to the same option should be commented out.&lt;br /&gt;
&lt;br /&gt;
After modifying configuration files it is recommended to do a &amp;#039;&amp;#039;make clean; make&amp;#039;&amp;#039; (or in the Netbeans IDE, to click on the &amp;quot;Clean and build project&amp;quot; button) to be sure that changes are applied.&lt;br /&gt;
&lt;br /&gt;
Since the board has an on board SWD in circuit debugger, simply plugging the USB cable is all you need from an hardware point of view.&lt;br /&gt;
On the software side, you need to open two shells. In one do a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;BASH&amp;quot;&amp;gt;&lt;br /&gt;
sudo openocd -f miosix/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery/stm32f4discovery.cfg&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will start the OpenOCD program that will connect to the board and listen for GDB connections.&lt;br /&gt;
&lt;br /&gt;
In the second shell type the following commands&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;BASH&amp;quot;&amp;gt;&lt;br /&gt;
arm-miosix-eabi-gdb main.elf&lt;br /&gt;
target remote :3333&lt;br /&gt;
monitor soft_reset_halt&lt;br /&gt;
break main&lt;br /&gt;
continue&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first command will start the gdb debugger. The following commands are typed into the gdb console, and tell it to connect to OpenOCD, and reset the board and stop the program at the beginning of main()&lt;br /&gt;
To load the program to be debugged, you can either do a make program before and then start debugging, or you can directly write the FLASH memory from within gdb with this command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;BASH&amp;quot;&amp;gt;&lt;br /&gt;
monitor flash write_image erase main.bin 0x08000000 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From there on, have a look at [[Quick_start]] for debugger commands.&lt;br /&gt;
&lt;br /&gt;
== (Optional) Configuring the Netbeans IDE ==&lt;br /&gt;
To have a fully working code completion that can also resolve the board-specific symbols, right click on the project, go to Set Configuration and select the right board.&lt;br /&gt;
&lt;br /&gt;
[[File: Netbeans-config.png]]&lt;br /&gt;
&lt;br /&gt;
== SD Card (FIXME!!!!) == &lt;br /&gt;
&lt;br /&gt;
This board lacks an SD connector, so the filesystem support does not work out of the box (upon boot the kernel will say that filesystem mounting failed). However, it is possible to connect one to specific GPIO pins.&lt;br /&gt;
&lt;br /&gt;
The SD or microSD connector VCC and GND pins need to be connected to 3V and GND pins on the board. Add a 100nF capacitor between VCC and GND, as close as possible to the SD connector. This will be useful to overcome current absorption peaks from the SD card.&lt;br /&gt;
&lt;br /&gt;
Then connect the following GPIOs to the SD connector.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SD !! STM32 !! Optional&lt;br /&gt;
|-&lt;br /&gt;
| CLK || PC12 || &lt;br /&gt;
|-&lt;br /&gt;
| CMD || PD2 || &lt;br /&gt;
|-&lt;br /&gt;
| D0 || PC8 || &lt;br /&gt;
|-&lt;br /&gt;
| D1 || PC9 || Y&lt;br /&gt;
|-&lt;br /&gt;
| D2 || PC10 || Y&lt;br /&gt;
|-&lt;br /&gt;
| D3 || PC11 || Y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each connection needs a pullup resistor between ~47Kohm and 100Kohm.&lt;br /&gt;
&lt;br /&gt;
To increase read/write speed it is possible to connect the optional GPIOs thereby communicating with the SD in 4-bit mode.&lt;br /&gt;
Note that by default in this board the SD driver uses 1 bit mode. To enable 4-bit mode you need to edit the &amp;#039;&amp;#039;miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery/board_settings.h&amp;#039;&amp;#039; and comment out the &amp;#039;&amp;#039;#define SD_ONE_BIT_DATABUS&amp;#039;&amp;#039; line.&lt;br /&gt;
&lt;br /&gt;
Also note that filesystem support is enabled by default, so the pins marked as not optional are used by the filesystem driver. If you do not want to connect an SD card, and want to use those GPIOs, you should disable the filesystem support in [[miosix_settings.h|miosix/config/miosix_settings.h]].&lt;br /&gt;
&lt;br /&gt;
== Resource ==&lt;br /&gt;
stm32f4discovery [http://www2.st.com/content/ccc/resource/technical/document/user_manual/6b/25/05/23/a9/45/4d/6a/DM00093903.pdf/files/DM00093903.pdf/jcr:content/translations/en.DM00093903.pdf Datasheet]&lt;br /&gt;
&lt;br /&gt;
[[Category:Boards]]&lt;/div&gt;</summary>
		<author><name>Silseva</name></author>
	</entry>
</feed>