<?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: Building the bootloader in IAR</title>
		<link>http://forums.leaflabs.com/topic.php?id=276</link>
		<description>A place to share, learn, and grow...</description>
		<language>en-US</language>
		<pubDate>Fri, 22 Jan 2016 00:09: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=276" rel="self" type="application/rss+xml" />

		<item>
			<title>mbolivar on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2294</link>
			<pubDate>Mon, 08 Nov 2010 16:41:41 +0000</pubDate>
			<dc:creator>mbolivar</dc:creator>
			<guid isPermaLink="false">2294@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;i see. then yes, you might need to make some changes.&#60;/p&#62;
&#60;p&#62;just fyi, you can check out the differences between the master and mini-boot branches of the maple-bootloader github repo to get some idea of what you might have to tweak to get it working on your chip:&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;https://github.com/leaflabs/maple-bootloader/compare/master...mini-boot&#34; rel=&#34;nofollow&#34;&#62;https://github.com/leaflabs/maple-bootloader/compare/master...mini-boot&#60;/a&#62;
&#60;/p&#62;</description>
		</item>
		<item>
			<title>soundcyst on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2290</link>
			<pubDate>Mon, 08 Nov 2010 15:40:58 +0000</pubDate>
			<dc:creator>soundcyst</dc:creator>
			<guid isPermaLink="false">2290@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;i suppose i can give that a try.  i'll have to double check the memory maps though, as the chip on the eval board is a stm32f103zet6
&#60;/p&#62;</description>
		</item>
		<item>
			<title>mbolivar on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2285</link>
			<pubDate>Mon, 08 Nov 2010 14:04:47 +0000</pubDate>
			<dc:creator>mbolivar</dc:creator>
			<guid isPermaLink="false">2285@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;soundcyst,&#60;/p&#62;
&#60;p&#62;if it's just a matter of having a &#60;em&#62;copy&#60;/em&#62; of the compiled maple bootloader, we host them here:&#60;/p&#62;
&#60;p&#62;&#60;a href=&#34;http://static.leaflabs.com/pub/leaflabs/maple-bootloader/&#34; rel=&#34;nofollow&#34;&#62;http://static.leaflabs.com/pub/leaflabs/maple-bootloader/&#60;/a&#62;
&#60;/p&#62;</description>
		</item>
		<item>
			<title>gbulmer on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2208</link>
			<pubDate>Sat, 06 Nov 2010 06:28:23 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">2208@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Ah, I think I've got it! The nub of the problem is trying to use Cygwin/MinGW to build on Windows.&#60;/p&#62;
&#60;p&#62;Thanks for taking the time to explain.&#60;/p&#62;
&#60;p&#62;I accept this is even more work, but it's probably worth saying rather than assuming ...&#60;br /&#62;
Have you considered using &#60;a href=&#34;http://www.virtualbox.org/&#34;&#62;VirtualBox&#60;/a&#62; to get off the ground?&#60;br /&#62;
Run that on Windows to get a *NIX system up, then use that to build a bootloader.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>soundcyst on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2202</link>
			<pubDate>Fri, 05 Nov 2010 21:12:57 +0000</pubDate>
			<dc:creator>soundcyst</dc:creator>
			<guid isPermaLink="false">2202@http://forums.leaflabs.com/</guid>
			<description>&#60;blockquote&#62;&#60;p&#62;Is a reasonable summary &#34;you'd like to make your STM3210E-EVAL operate like a Maple&#34;?&#60;/p&#62;&#60;/blockquote&#62;
&#60;p&#62;Quite.&#60;/p&#62;
&#60;p&#62;Unfortunately the unix toolchain tutorial is distinctly lacking in Cygwin/MinGW information.  I did find a thread on the forum discussing the topic, but I didn't really get anywhere with it, possibly because my MinGW install is not complete (?) -- I think GitBash installed it, and don't recall if it did so completely or bare-minimum-ly.&#60;/p&#62;
&#60;p&#62;I've been trying to do this in my downtime at work, which has been sporadic, and prone to distractions.&#60;/p&#62;
&#60;p&#62;I'm not sure if I'll complete the task anytime soon, since a rev5 should be on its way to me soon =)&#60;/p&#62;
&#60;p&#62;If that board finds itself a permanent home before more boards are available, I may come back to the drawing board on this one.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>gbulmer on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2190</link>
			<pubDate>Thu, 04 Nov 2010 19:06:12 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">2190@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;soundcyst - that is helpful.&#60;br /&#62;
Is a reasonable summary &#34;you'd like to make your STM3210E-EVAL operate like a Maple&#34;?&#60;/p&#62;
&#60;blockquote&#62;&#60;p&#62;i want to build the maple bootloader for my STM3210E-EVAL board, so that I can get my feet wet with Maple's IDE and libraries.
&#60;/p&#62;&#60;/blockquote&#62;
&#60;p&#62;Okay, so I assume you know that the Maple bootloader can be built using the command line described here:&#60;br /&#62;
&#60;a href=&#34;http://leaflabs.com/docs/libmaple/unix-toolchain/&#34; rel=&#34;nofollow&#34;&#62;http://leaflabs.com/docs/libmaple/unix-toolchain/&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;This will generate a binary file which is the bootloader. I think that could be uploaded to your board.&#60;br /&#62;
(That was partly for the benefit of future readers of this thread).&#60;/p&#62;
&#60;p&#62;So, what part of the process do you want or need to use IAR?
&#60;/p&#62;</description>
		</item>
		<item>
			<title>soundcyst on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2187</link>
			<pubDate>Thu, 04 Nov 2010 15:15:38 +0000</pubDate>
			<dc:creator>soundcyst</dc:creator>
			<guid isPermaLink="false">2187@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;i want to build the maple bootloader for my STM3210E-EVAL board, so that I can get my feet wet with Maple's IDE and libraries. (yes, just using libmaple within an IAR project could work, but it makes any code I write not-very-portable to other maple users)&#60;/p&#62;
&#60;p&#62;the main issue is that GNU's assembler syntax (for directives and symbols) is different than IAR's.&#60;/p&#62;
&#60;p&#62;x893's suggestion was to use ST's provided startup.s files, which &#34;work&#34; in the sense that they build and do something.  they just don't do the same thing as the maple startup file.&#60;/p&#62;
&#60;p&#62;the icf file is another issue that i'll have to deal with after i get the assembly squared away.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>gbulmer on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2185</link>
			<pubDate>Thu, 04 Nov 2010 14:20:58 +0000</pubDate>
			<dc:creator>gbulmer</dc:creator>
			<guid isPermaLink="false">2185@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;soundcyst - maybe I am miss-understanding something ...&#60;/p&#62;
&#60;p&#62;Do you want to build the Maple boot loader, or do you want to build something with some bits of the Maple bootloader, and some bits of something else?&#60;/p&#62;
&#60;p&#62;If &#60;em&#62;all&#60;/em&#62; you want is the Maple bootloader, I don't understand why it matters how IAR code works. I can imagine a problem is getting rid of all the IAR code.&#60;/p&#62;
&#60;p&#62;If you have time to explain, I'd like to understand what I am missing.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>soundcyst on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2184</link>
			<pubDate>Thu, 04 Nov 2010 13:45:41 +0000</pubDate>
			<dc:creator>soundcyst</dc:creator>
			<guid isPermaLink="false">2184@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;hmm.. time to brush up on my assembly.&#60;/p&#62;
&#60;p&#62;the reset routine in startup_stm32f10x is not the same as the maple reset routine, so i guess figuring that out is the next step.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>x893 on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2167</link>
			<pubDate>Wed, 03 Nov 2010 00:02:30 +0000</pubDate>
			<dc:creator>x893</dc:creator>
			<guid isPermaLink="false">2167@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Use startup_stm32f10x_md.s from any ST example and stm32f10x_flash.icf for build.&#60;br /&#62;
May be need to change interrupt handlers name.&#60;br /&#62;
STM32F10x_StdPeriph_Lib_V3.4.0 contain examples for many IDEs.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>soundcyst on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2162</link>
			<pubDate>Tue, 02 Nov 2010 18:48:58 +0000</pubDate>
			<dc:creator>soundcyst</dc:creator>
			<guid isPermaLink="false">2162@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Looking into this a little more, it seems like IAR might not actually be invoking the C compiler..  It is, however, erroring out quite a bit.  Comparing the .s file provided from git to a .s startup file I'm using in a working project, the syntax at the beginning of the file looks a little different...&#60;/p&#62;
&#60;p&#62;the one IAR likes in my other projects:&#60;br /&#62;
&#60;code&#62;&#60;br /&#62;
    MODULE  ?cstartup&#60;/p&#62;
&#60;p&#62;        ;; Forward declaration of sections.&#60;br /&#62;
        SECTION CSTACK:DATA:NOROOT(3)&#60;/p&#62;
&#60;p&#62;        SECTION .intvec:CODE:NOROOT(2)&#60;/p&#62;
&#60;p&#62;        EXTERN  __iar_program_start&#60;br /&#62;
        EXTERN  SystemInit&#60;br /&#62;
        PUBLIC  __vector_table&#60;/p&#62;
&#60;p&#62;        DATA&#60;/p&#62;
&#60;p&#62;__vector_table&#60;br /&#62;
        DCD     sfe(CSTACK)&#60;br /&#62;
        DCD     Reset_Handler             ; Reset Handler&#60;br /&#62;
        DCD     NMI_Handler               ; NMI Handler&#60;br /&#62;
&#60;/code&#62;&#60;br /&#62;
(etc. for the rest of the interrupt vector handlers)&#60;/p&#62;
&#60;p&#62;the one it doesn't like:&#60;br /&#62;
&#60;code&#62;&#60;br /&#62;
  .syntax unified&#60;br /&#62;
	.cpu cortex-m3&#60;br /&#62;
	.fpu softvfp&#60;br /&#62;
	.thumb&#60;/p&#62;
&#60;p&#62;.global	g_pfnVectors&#60;br /&#62;
.global	SystemInit_ExtMemCtl_Dummy&#60;br /&#62;
.global	Default_Handler&#60;/p&#62;
&#60;p&#62;/* start address for the initialization values of the .data section.&#60;br /&#62;
defined in linker script */&#60;br /&#62;
.word	_sidata&#60;br /&#62;
&#60;/code&#62;&#60;/p&#62;
&#60;p&#62;for the first 5 lines, IAR gives &#34;Bad instruction&#34; errors, and then for on line 6, it gives a &#34;Duplicate label:'.global'&#34; error.&#60;/p&#62;
&#60;p&#62;then, pretty much every line gives either a bad instruction or duplicate label, or both.&#60;/p&#62;
&#60;p&#62;So does IAR have a different assembler syntax or something?
&#60;/p&#62;</description>
		</item>
		<item>
			<title>soundcyst on "Building the bootloader in IAR"</title>
			<link>http://forums.leaflabs.com/topic.php?id=276#post-2161</link>
			<pubDate>Tue, 02 Nov 2010 18:11:18 +0000</pubDate>
			<dc:creator>soundcyst</dc:creator>
			<guid isPermaLink="false">2161@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Has anyone done this / care to share?&#60;/p&#62;
&#60;p&#62;I'm about half-way there, and I can't figure out how to make IAR skip the .s files during the Compile stage and remember they're there in the Assembler stage.&#60;/p&#62;
&#60;p&#62;Googling didn't help, nor did consulting IAR's manuals..&#60;/p&#62;
&#60;p&#62;*edit* but it should have.  There is a section in the manual that I had overlooked titled &#34;Mixing C and assembler modules&#34;... D'oh!&#60;/p&#62;
&#60;p&#62;The real problem is indicated in the post below..  (let this be another lesson to me: document symptoms, not guesses of their cause!)
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
