<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>bootloader and rtx problem</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/24781/bootloader-and-rtx-problem</link><description> 
I wrote a simple bootloader program (doesn&amp;#39;t do anything but jump
to the application code in flash once a timer expires) and I am
having trouble getting rtx to work in the application code. It gets
to a point in os_sys_init()&amp;#39;s assembly code where it</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: bootloader and rtx problem</title><link>https://community.arm.com/thread/130418?ContentTypeID=1</link><pubDate>Mon, 09 Feb 2009 05:45:01 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:7c3752f2-5888-4caf-bc6b-3787652319f0</guid><dc:creator>Joe Nutter</dc:creator><description>&lt;p&gt;&lt;p&gt;
Sounds like you are jumping to the beggining of the code space
vice jumping to the reset vector. Your reset vector will be in the
beginning of your code (we are using different micros), but your
bootloader should read in the vector and jump to the address that is
listed in the vector&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader and rtx problem</title><link>https://community.arm.com/thread/125166?ContentTypeID=1</link><pubDate>Mon, 09 Feb 2009 05:41:47 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:19acc321-24be-468f-9aa0-5fe070909c8e</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
Joe,&lt;br /&gt;
I got it. Added &amp;#39;RAM_INTVEC REMAP RAM_MODE&amp;#39; to the ASM define tab of
the application (even though the bootloader already remaps and
copied. hmmmm. this approach (above) did not work without RTX!&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader and rtx problem</title><link>https://community.arm.com/thread/125165?ContentTypeID=1</link><pubDate>Mon, 09 Feb 2009 05:36:35 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:71ea5b3a-bb20-48ac-b3dc-f1527354bad8</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
Joe,&lt;br /&gt;
Thanks for your reply. This is my situation (LPC2478): I have a boot
loader from 0x0 to 0x4000, and an application that starts at 0x4000.
the bootloader remaps the vector table and copies the application
vector into RAM. I jump to 0x4000 as expected, eventually enter
&amp;#39;main&amp;#39;, call &amp;#39;os_sys_init&amp;#39; and...that&amp;#39;s it. of course the application
does not use internal RAM from 0x40000000, but rather 0x40000020.&lt;br /&gt;
did you do something special to handle SWIs...?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader and rtx problem</title><link>https://community.arm.com/thread/114583?ContentTypeID=1</link><pubDate>Mon, 09 Feb 2009 05:26:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:77c78605-b86c-43a4-9c13-73abc1506247</guid><dc:creator>Joe Nutter</dc:creator><description>&lt;p&gt;&lt;p&gt;
I did fix the problem. I used the NVIC Configuration to move my
vector tables to the correct place. so i was putting my code at
0x8010000, so I used the following function:&lt;/p&gt;

&lt;p&gt;
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x10000);&lt;/p&gt;

&lt;p&gt;
You can check using the debugger that the vector table is in the
right place in the beginning of the code. The first vector will be
your stack pointer and the second vector will be the reset vector.
The reset vector should be in the range of where you are putting your
code, in my case it was 0x801013e or something like that.&lt;/p&gt;

&lt;p&gt;
Let me know if you have any more questions&lt;/p&gt;

&lt;p&gt;
joe&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader and rtx problem</title><link>https://community.arm.com/thread/101529?ContentTypeID=1</link><pubDate>Mon, 09 Feb 2009 04:51:53 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:722efb21-f05c-452c-913d-f75f434aa7b5</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
Joe,&lt;br /&gt;
Have you found a solution? I am bust integrating my bootloader with a
RTX kernel and I have the same problem. The bootloader does the
remapping of interrupts, but the call that you mentioned does not
start the first task.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader and rtx problem</title><link>https://community.arm.com/thread/77034?ContentTypeID=1</link><pubDate>Tue, 06 Jan 2009 12:46:40 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:02f2e767-a85b-4eaa-8eb2-375196ef74ff</guid><dc:creator>Joe Nutter</dc:creator><description>&lt;p&gt;&lt;p&gt;
I am using the stm32f103ze cortex m3 chip.&lt;/p&gt;

&lt;p&gt;
I set the define in my startup file to be RAM_INTVEC REMAP
RAM_MODE&lt;/p&gt;

&lt;p&gt;
should i be using the NVIC...will that help remap my interrupt
vectors into the correct spot?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: bootloader and rtx problem</title><link>https://community.arm.com/thread/53228?ContentTypeID=1</link><pubDate>Tue, 06 Jan 2009 12:39:53 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d270fc10-fed9-4554-a5f9-7333e9158d71</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Your bootloader &amp;quot;owns&amp;quot; the normal flash interrupt vector table.
What have you done to remap the vector table into an address range
where your application may instal its own vector table?&lt;/p&gt;

&lt;p&gt;
You don&amp;#39;t tell what chip you are using but many ARM variants have
a configuration flag to map in a vector table from RAM to replace the
boot loader vector table.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>