<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>LeafLabs Garden &#187; Topic: Jump to Serial Bootloader</title>
		<link>http://forums.leaflabs.com/topic.php?id=74380</link>
		<description>A place to share, learn, and grow...</description>
		<language>en-US</language>
		<pubDate>Fri, 22 Jan 2016 00:08:33 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://forums.leaflabs.com/search.php</link>
		</textInput>
		<atom:link href="http://forums.leaflabs.com/rss.php?topic=74380" rel="self" type="application/rss+xml" />

		<item>
			<title>rogerclark on "Jump to Serial Bootloader"</title>
			<link>http://forums.leaflabs.com/topic.php?id=74380#post-105580</link>
			<pubDate>Mon, 01 Dec 2014 00:48:17 +0000</pubDate>
			<dc:creator>rogerclark</dc:creator>
			<guid isPermaLink="false">105580@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;@nemesis_v8 are you trying to upload using an external USB to Serial?&#60;/p&#62;
&#60;p&#62;You can do this manually, but you need to pull Boot1 to GND otherwise its floating and you will get intermittent results, ie sometimes it will work and sometimes it won't&#60;/p&#62;
&#60;p&#62;Then if Boot1 is low, and you press and hold the Button while pressing and releasing the Reset button, the board will go into Serial upload mode (ie its a function built into the STM32 its self)&#60;/p&#62;
&#60;p&#62;Re: Code not starting to execute after upload, this is a command issued from the program uploading the Serial data, if you are using STM's own &#34;demonstration&#34; program then there is a checkbox for it.&#60;/p&#62;
&#60;p&#62;However I'm not using this, I'm using the Arduino 1.5.8 IDE + my own hardware files (credit to LeafLabs and Bob Cousins for the original files), and I'm using a PC exe that operates from the command line and hence can be called from the Arduino IDE for seamless upload (apart from you need to press buttons to get the board into Serial bootloader mode)&#60;/p&#62;
&#60;p&#62;See my website &#60;a href=&#34;http://www.rogerclark.net&#34; rel=&#34;nofollow&#34;&#62;http://www.rogerclark.net&#60;/a&#62; for details.&#60;br /&#62;
&#60;a href=&#34;http://www.rogerclark.net/stm32f103-and-maple-maple-mini-with-arduino-1-5-x-ide/&#34; rel=&#34;nofollow&#34;&#62;http://www.rogerclark.net/stm32f103-and-maple-maple-mini-with-arduino-1-5-x-ide/&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;and&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://www.rogerclark.net/uploading-to-the-maple-mini-via-serial-to-usb/&#34; rel=&#34;nofollow&#34;&#62;http://www.rogerclark.net/uploading-to-the-maple-mini-via-serial-to-usb/&#60;/a&#62;
&#60;/p&#62;</description>
		</item>
		<item>
			<title>nemesis_v8 on "Jump to Serial Bootloader"</title>
			<link>http://forums.leaflabs.com/topic.php?id=74380#post-105548</link>
			<pubDate>Mon, 13 Oct 2014 17:22:15 +0000</pubDate>
			<dc:creator>nemesis_v8</dc:creator>
			<guid isPermaLink="false">105548@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Thanks for the reply, I thought I had exhausted all threads in the forum but thanks for pointing these out. Just to get this working straight from my sketch I have used:&#60;/p&#62;
&#60;p&#62;void BootLoader(void) {&#60;br /&#62;
	void (*SysMemBootJump)(void) = (void (*)(void)) (*((uint32 *) 0x1FFFF004));&#60;/p&#62;
&#60;p&#62;        systick_disable();&#60;br /&#62;
        DSB_ALL_C;&#60;br /&#62;
        SYSTICK_BASE-&#38;gt;CSR = 0x00;&#60;br /&#62;
        SYSTICK_BASE-&#38;gt;RVR =0X00;&#60;br /&#62;
        SYSTICK_BASE-&#38;gt;CNT =0X00;&#60;br /&#62;
	__set_MSP(0x200001FC);&#60;br /&#62;
	SysMemBootJump();&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;It works fine but it does not jump to the user code after flashing. If I use &#34;button+ reset&#34; to start the boot loader then flash it jumps straight to the user code afterwards.&#60;/p&#62;
&#60;p&#62;In both cases I use STM Flash Loader Demonstrator without changing any settings. I am obviously missing something.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>gbulmer on "Jump to Serial Bootloader"</title>
			<link>http://forums.leaflabs.com/topic.php?id=74380#post-105546</link>
			<pubDate>Sun, 12 Oct 2014 12:57:57 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">105546@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;@nemesis_v8 - There are several threads in this forum about using the manufactured-in bootloader.&#60;br /&#62;
Both ventosus and ala42 have published various experiences. It might be worth reading through their posts.&#60;/p&#62;
&#60;p&#62;So you could try:&#60;br /&#62;
&#60;a href=&#34;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fforums.leaflabs.com%2F+bootloader+ala42&#38;amp;oq=&#38;amp;gs_l=&#34; rel=&#34;nofollow&#34;&#62;http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fforums.leaflabs.com%2F+bootloader+ala42&#38;amp;oq=&#38;amp;gs_l=&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;Which yields, among other things:&#60;br /&#62;
&#60;a href=&#34;http://forums.leaflabs.com/topic.php?id=9464&#38;amp;page=3&#34; rel=&#34;nofollow&#34;&#62;http://forums.leaflabs.com/topic.php?id=9464&#38;amp;page=3&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;Or a similar query for ventosus, who has also lead the development of an STM32F30x libmaple.&#60;/p&#62;
&#60;p&#62;(Full disclosure: I am not a member of LeafLabs staff.)
&#60;/p&#62;</description>
		</item>
		<item>
			<title>nemesis_v8 on "Jump to Serial Bootloader"</title>
			<link>http://forums.leaflabs.com/topic.php?id=74380#post-105545</link>
			<pubDate>Sun, 12 Oct 2014 10:52:33 +0000</pubDate>
			<dc:creator>nemesis_v8</dc:creator>
			<guid isPermaLink="false">105545@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Thanks for the replies, the toggle BOOT pin would be great if it did not require further hardware. The other problem is the boot pin not being available on the headers. Is there another toggle method you have in mind?&#60;/p&#62;
&#60;p&#62;One option would be to tie the BOOT pin low and issue a GO Command if there was no firmware to update, however this would require that comms are connected at start up preventing the unit working as a stand alone module (logging data)&#60;/p&#62;
&#60;p&#62;@ventosus the work with the F30 is very interesting and if I was to ditch the maple IDE I would probably use a similar method, or at least I would try. I am looking through the code to see what I can learn from it, thanks.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>ventosus on "Jump to Serial Bootloader"</title>
			<link>http://forums.leaflabs.com/topic.php?id=74380#post-105543</link>
			<pubDate>Sat, 11 Oct 2014 19:27:08 +0000</pubDate>
			<dc:creator>ventosus</dc:creator>
			<guid isPermaLink="false">105543@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;@nemesis_v8, I can only speak for the STM32F30x. &#60;/p&#62;
&#60;p&#62;The STM32F30x booloader first tries DfuSe, then USART1/2. If the corresponding pins are wired up correctly for one of them, you can simply jump to the bootloader via software and the DFUSe or USART1/2 fraction of the bootloader will kick in.&#60;/p&#62;
&#60;p&#62;On the STM32F30x, the bootloader is located at 0x1FFFD800.&#60;/p&#62;
&#60;p&#62;I set a flag in the BKP register (which is preserved upon a reset), reset the board via software, the first thing the sketch does is check for the flag, if the flag is checked, the sketch jumps to the bootloader directly.&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;https://github.com/OpenMusicKontrollers/chimaera_firmware/blob/master/config/config.c#L1117&#34; rel=&#34;nofollow&#34;&#62;https://github.com/OpenMusicKontrollers/chimaera_firmware/blob/master/config/config.c#L1117&#60;/a&#62;&#60;br /&#62;
&#60;a href=&#34;https://github.com/OpenMusicKontrollers/chimaera_firmware/blob/master/firmware.c#L989&#34; rel=&#34;nofollow&#34;&#62;https://github.com/OpenMusicKontrollers/chimaera_firmware/blob/master/firmware.c#L989&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;I use this to remotely get a board into flash mode with a signal sent via network.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>bnewbold on "Jump to Serial Bootloader"</title>
			<link>http://forums.leaflabs.com/topic.php?id=74380#post-105542</link>
			<pubDate>Sat, 11 Oct 2014 15:20:19 +0000</pubDate>
			<dc:creator>bnewbold</dc:creator>
			<guid isPermaLink="false">105542@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;I've never heard of anybody doing this, folks usually use *whatever* scheme to toggle the BOOT pins at power on to select the serial bootloader. This is more robust because any software mechanism for jumping to the bootloader after the fact could fail if a corrupted or buggy program were uploaded.&#60;/p&#62;
&#60;p&#62;In practice though, the BOOT toggling schemes always seem to have their own quirks and un-reliabilities, and probably 9 times out of 10 that you flash a new program &#34;in the field&#34; there would be no problem locking out the board (which would required disassembling a project to get access to JTAG or whatever to un-brick).
&#60;/p&#62;</description>
		</item>
		<item>
			<title>nemesis_v8 on "Jump to Serial Bootloader"</title>
			<link>http://forums.leaflabs.com/topic.php?id=74380#post-105540</link>
			<pubDate>Sat, 11 Oct 2014 11:58:38 +0000</pubDate>
			<dc:creator>nemesis_v8</dc:creator>
			<guid isPermaLink="false">105540@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;I am wondering if anyone has successfully written a routine to jump to the built in serial boot loader.&#60;/p&#62;
&#60;p&#62;AN2606 &#60;a href=&#34;http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf&#34; rel=&#34;nofollow&#34;&#62;http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;Explains how to do it and its certainly possible using KEIL but I would like to do it using the Maple IDE as its much easier to get on with.&#60;/p&#62;
&#60;p&#62;Why not use the DFU? Basically it falls over when used in very harsh environments but serial is always recoverable. DFU is great when doing some quick development on the bench but I need serial in the field.  &#60;/p&#62;
&#60;p&#62;Has anyone managed to do it? Any help would be appreciated.
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
