<?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>LPC2400 Startup Fails with CRP</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/24027/lpc2400-startup-fails-with-crp</link><description> 
Hallo 

 
Im search for a solution with the keil startup LPC2400.S with EMC
enable. 
I think all users with LPC24xx must have the same ISSUE. 

 
The problem ist the asm code length and the scatter loader. 

 
The ASM code is too long to place it between</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: LPC2400 Startup Fails with CRP</title><link>https://community.arm.com/thread/77377?ContentTypeID=1</link><pubDate>Wed, 22 Apr 2009 05:19:01 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:898af8fd-cf9b-41c9-92ef-411a14c55ff8</guid><dc:creator>Andreas Sch&amp;#246;pf</dc:creator><description>&lt;p&gt;&lt;p&gt;
it dit not work&lt;/p&gt;

&lt;p&gt;
the disassemly window steps in rt_lib_shutdown and then moves in
the middle of a c case switch an then in&lt;br /&gt;
undef_handler.&lt;/p&gt;

&lt;p&gt;
I try a little more and&lt;/p&gt;

&lt;p&gt;
----------------------------&lt;br /&gt;
Undef_Handler B Undef_Handler&lt;br /&gt;
SWI_Handler B SWI_Handler&lt;br /&gt;
PAbt_Handler B PAbt_Handler&lt;br /&gt;
DAbt_Handler B DAbt_Handler&lt;br /&gt;
IRQ_Handler B IRQ_Handler&lt;br /&gt;
FIQ_Handler B FIQ_Handler&lt;/p&gt;

&lt;p&gt;
; Fill up To CPR ----------------------------&lt;br /&gt;
; FILL 0x1B8,0xDEADAFFE,4 ; defines Fill bytes upto CPR&lt;/p&gt;

&lt;p&gt;
AREA |.ARM.__at_0x01FC|, CODE, READONLY&lt;br /&gt;
CRP_Key DCD 0xFFFFFFFF&lt;/p&gt;

&lt;p&gt;
AREA |.text|, CODE, READONLY&lt;/p&gt;

&lt;p&gt;
; Reset Handler&lt;br /&gt;
-----------------------------------&lt;/p&gt;

&lt;p&gt;
then it worked.&lt;/p&gt;

&lt;p&gt;
I think i can use it as a workaround.&lt;/p&gt;

&lt;p&gt;
without&lt;br /&gt;
FILL 0x1B8,0xDEADAFFE,4 ; defines&lt;br /&gt;
the linker&lt;/p&gt;

&lt;p&gt;
placed 0x000001ed Thumb Code 0
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) Inline Thumb to
ARM Veneer to __rt_exit 0x000001f1 Thumb Code 4
rtexit.o(.ARM.Collect$$rtexit$$00000000) __rt_exit 0x000001f4 ARM
Code 0 rtexit.o(.ARM.Collect$$rtexit$$00000000) __rt_exit_ls
0x000001f4 ARM Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000003)
__rt_exit_prels_1 0x000001f4 ARM Code 0
rtexit2.o(.ARM.Collect$$rtexit$$00000002) __rt_exit_exit 0x000001f8
ARM Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000004)&lt;/p&gt;

&lt;p&gt;
befor the crp and the __rt_exit_exit seems to fail.&lt;/p&gt;

&lt;p&gt;
If I fill up this area it workd.&lt;br /&gt;
I thing the scatter loader is buggy.&lt;/p&gt;

&lt;p&gt;
Thank YOU&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: LPC2400 Startup Fails with CRP</title><link>https://community.arm.com/thread/55901?ContentTypeID=1</link><pubDate>Wed, 22 Apr 2009 02:21:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:111f918b-942c-403b-8dd6-4290439624e4</guid><dc:creator>Tamiryan Michael</dc:creator><description>&lt;p&gt;&lt;pre&gt;
...
Undef_Handler   B       Undef_Handler
SWI_Handler     B       SWI_Handler
PAbt_Handler    B       PAbt_Handler
DAbt_Handler    B       DAbt_Handler
IRQ_Handler     B       IRQ_Handler
FIQ_Handler     B       FIQ_Handler

                AREA    |.ARM.__at_0x01FC|, CODE, READONLY
CRP_Key         DCD     0xFFFFFFFF

                                AREA    |.text|, CODE, READONLY

; Reset Handler
...
&lt;/pre&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>