<?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>Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/29221/using-rl-flashfs-in-bootloader-and-main-program</link><description> 
Hello, All! 
I write bootloader using RL-FlashFS Library. It&amp;#39;s work fine. 
But when i try to use RL-FlashFS functions in main program my LPC2367
is stoping(in ABORT MODE). 
Maybe i must locate RL-FlashFS functions on other part of RAM ??? 
Where is</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/145139?ContentTypeID=1</link><pubDate>Tue, 12 Jul 2011 04:03:26 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:9de4464c-c312-42db-9595-448010134b43</guid><dc:creator>Vladimir Timohin</dc:creator><description>&lt;p&gt;&lt;p&gt;
Tamir, sorry i just forget to stop timer and trying to reconfigure
it in main program.&lt;/p&gt;

&lt;p&gt;
With best regards, Vladimir.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/145135?ContentTypeID=1</link><pubDate>Tue, 12 Jul 2011 03:59:50 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3e565918-ad5a-4b23-baf9-428538fb87ef</guid><dc:creator>Tamiryan Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;In code i add string:&lt;br /&gt;
memcpy((char *)0x40000000, (char *)(0x000010000), 64); (copy
interrupt table to start address of RAM)&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Remove this. The startup code does this for you!&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/145134?ContentTypeID=1</link><pubDate>Tue, 12 Jul 2011 03:54:21 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3d2353fb-0dba-4a70-ab4a-d9cbb8e63884</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
Sorry, but i don&amp;#39;t understand what you are saying.&lt;/p&gt;

&lt;p&gt;
&amp;quot;But, when i try to use timer 0 interrupts in bootloader, these
interrupt don&amp;#39;t calling in main program.&lt;br /&gt;
Maybe i don&amp;#39;t really remap interrupt table and forget
something???&amp;quot;&lt;/p&gt;

&lt;p&gt;
Boot loader and main program is two separate things. The boot
loader should has its own interrupt vector table and its own timer
ISR (if it needs an interrupt-driven timer). And the main program
should have a separate interrupt vector table (that gets copied to
RAM and remapped) and corresponding ISR handlers.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/142945?ContentTypeID=1</link><pubDate>Tue, 12 Jul 2011 03:47:16 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:49c6c21a-a9ec-4c28-af1f-e7714557d59d</guid><dc:creator>Vladimir Timohin</dc:creator><description>&lt;p&gt;&lt;p&gt;
Tamir, i remaped interrupts vectors using:&lt;br /&gt;
RAM_INTVEC REMAP RAM_MODE in ASM Define.(using interrupt vectors from
RAM )&lt;/p&gt;

&lt;p&gt;
In code i add string:&lt;br /&gt;
memcpy((char *)0x40000000, (char *)(0x000010000), 64); (copy
interrupt table to start address of RAM)&lt;/p&gt;

&lt;p&gt;
In project for ROM set START Address : 0x00010000&lt;br /&gt;
In project for RAM set START Address : 0x40002000(instead
0x40001000)&lt;/p&gt;

&lt;p&gt;
And previous problem has gone.&lt;br /&gt;
But second problem is appeared.&lt;br /&gt;
But, when i try to use timer 0 interrupts in bootloader, these
interrupt don&amp;#39;t calling in main program.&lt;br /&gt;
Maybe i don&amp;#39;t really remap interrupt table and forget
something???&lt;/p&gt;

&lt;p&gt;
With best regards, Vladimir.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/139965?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2011 04:16:15 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:13334104-1a0a-487a-92e4-1d94b4a70930</guid><dc:creator>Tamiryan Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
The point is: you have 2 programs that might use the same
interrupt sources. Once the bootloader finishes, you never want the
processor to use its vectors, but they are programmed into flash!
Therefore, you want to remap the vector table so that future
programing of the VIC to affect RAM, and the processor will fetch its
vectors from RAM.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/136525?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2011 04:12:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4d74f0d8-400f-46d1-b61a-7bcca7ebbe97</guid><dc:creator>Tamiryan Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
Your bootloader uses the internal flash interrupt vectors (located
at address 0x0 ?).&lt;br /&gt;
Your application is very unlikely to use the same addresses to handle
the same interrupt sources, otherwise the processor (executing
application code) will just into bootloader code when a previously
used (by the bootloader) interrupt occurs!&lt;br /&gt;
Check your user manual: your chip should be able to copy its vectors
to RAM (for the application). It might also make the VIC grab them
from internal flash, but from the address space of the application.
Also, have a look at your startup file: it may contain preprocessor
definitions to accommodate exactly that.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/126940?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2011 04:04:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:04af6618-1301-4221-a774-ef2f943e39ac</guid><dc:creator>Vladimir Timohin</dc:creator><description>&lt;p&gt;&lt;p&gt;
Sorry, but i don&amp;#39;t understand who must do it and how must do
it.&lt;br /&gt;
And why i must do it ?&lt;br /&gt;
Could you explain me please? Just a little bit.&lt;/p&gt;

&lt;p&gt;
With best regards, Vladimir.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/119342?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2011 03:31:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:7aa063cd-6e3e-4f8e-8620-bb276f3dca8e</guid><dc:creator>Tamiryan Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
Did you remember to remap your interrupt routines...?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/105014?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2011 02:20:40 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:cf2a8ebe-bd7a-4a04-9382-0e163b868b4a</guid><dc:creator>Vladimir Timohin</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hello!&lt;br /&gt;
I using Keil 4.12 + RL-ARM 4.12. MCU is LPC2367.&lt;br /&gt;
RTX not using. I create two projects: boot and maincode.&lt;br /&gt;
For downloading firmware(.bin) into AT45 i:&lt;/p&gt;

&lt;p&gt;
1. Compile maincode for address 0x10000 and then create(using
fromelf.exe) .bin&lt;br /&gt;
2. Recompile maincode for 0x0 address and start.&lt;br /&gt;
3. Download .bin via http(using cgi_process_data())(Here all
perfect!!!???)&lt;br /&gt;
4. After that i write boot at 0x0 and start&lt;/p&gt;

&lt;p&gt;
Boot read firmware from AT45 and write it using IAP. And then jump
on 0x10000 address.&lt;br /&gt;
After that , Main program is working(using
TCP,HTTP,Flash-FS)perfectly. But after that it is impossible to
download same firmware(.bin) (cgi_process_data() maybe does not
call???).&lt;br /&gt;
MCU is just stopping.&lt;br /&gt;
In debug i can see, that i stoped at string: &amp;quot;in DAbt_Handler B
DAbt_Handler&amp;quot; in LPC23xx.s PC = 4C, Mode = ABORT.&lt;/p&gt;

&lt;p&gt;
But when i debug without my bootloader(write maincode from 0x0)
everything is OK. File uploading completly, MCU not stopping and
working normaly.&lt;/p&gt;

&lt;p&gt;
What&amp;#39;s wrong ?&lt;br /&gt;
Please help.&lt;/p&gt;

&lt;p&gt;
With best regards, Vladimir.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/91071?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2011 01:30:45 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3cf54ac7-6de7-4236-a788-6dba3a0585b5</guid><dc:creator>Tamiryan Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;Please help!&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Based on what? You provide very little information.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using RL-FlashFS in bootloader and main program</title><link>https://community.arm.com/thread/59592?ContentTypeID=1</link><pubDate>Thu, 30 Jun 2011 00:55:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:db84f462-ffd0-4aba-b12c-d7d2fc4e393f</guid><dc:creator>Vladimir Timohin</dc:creator><description>&lt;p&gt;&lt;p&gt;
Sorry for incorrect description.&lt;br /&gt;
Now i have a next situation:&lt;br /&gt;
Bootloader read firmware from AT45 and burn it using IAP.&lt;br /&gt;
Program start from 0x10000 address.&lt;br /&gt;
Every thing is fine until i try to download new file via
cgi_process_data().&lt;br /&gt;
But other functions in HTTP_CGI.c work perfectly.&lt;/p&gt;

&lt;p&gt;
Please help!&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>