<?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>How to create a HEX file for LPC43 for internal flash memory?</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/31933/how-to-create-a-hex-file-for-lpc43-for-internal-flash-memory</link><description> 
How to create a HEX file for LPC43 for internal flash memory that
can be used with FlashMagic? 

 
The standard hex file that&amp;#39;s created starts at address 0x00000000
therefore when downloaded into the chip does not make a working
program. 
 </description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: How to create a HEX file for LPC43 for internal flash memory?</title><link>https://community.arm.com/thread/140791?ContentTypeID=1</link><pubDate>Tue, 21 Oct 2014 07:01:37 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b3a12e38-49c6-4e86-8aac-1bebc3bed72b</guid><dc:creator>Jaroslaw Gorski</dc:creator><description>&lt;p&gt;&lt;p&gt;
The solution is first to run this&lt;br /&gt;
&amp;#36;K\ARM\BIN\ELFDWT.EXE !L BASEADDRESS(0x1A000000)&lt;br /&gt;
Which is needed anyway.&lt;/p&gt;

&lt;p&gt;
Then this&lt;br /&gt;
&amp;#36;K\ARM\ARMCC\bin\fromelf --i32 --output=name1.hex name2.axf&lt;/p&gt;

&lt;p&gt;
That fixed the problem.&lt;/p&gt;

&lt;p&gt;
Of course the automatic HEX generation needs to be disabled.&lt;/p&gt;

&lt;p&gt;
BTW, I think LP43 is a great micro that deserves much better
documentation.&lt;br /&gt;
It&amp;#39;s really hard to start working with it.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to create a HEX file for LPC43 for internal flash memory?</title><link>https://community.arm.com/thread/137175?ContentTypeID=1</link><pubDate>Tue, 21 Oct 2014 06:42:02 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:976aec85-2246-491e-9895-0847269932bf</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
The common solution when needing download files with checksums is
to add a post-build step in the project. Then write a tiny program
that computes the checksum.&lt;/p&gt;

&lt;p&gt;
Either read the hex file, modify it with a checksum and save.&lt;/p&gt;

&lt;p&gt;
Or potentially use Keil&amp;#39;s tool to convert your data to binary if
you find it easier to work with raw binary data.&lt;/p&gt;

&lt;p&gt;
Keil&amp;#39;s linker can&amp;#39;t know if a specific boot loader for a specific
platform might have special needs besides the actual binary data that
forms the program. Especially since lost of customers writes their
own boot loaders with totally own requirements. So the checksum might
use CRC-32, CRC-64, MD5, SHA-1, Adler-32, ... And there are many ways
a checksum can be stored. Should it be first in the file. Or last in
the file. Just after the end of the actual code. Or in the last bytes
of the internal flash of a chip. Stored big-endian? Little-endian? In
binary form? In hex form? uu-encoded? And maybe that little checksum
record is also expected to store a magic number to signify the
intended platform, so firmware for hardware revision 1 can&amp;#39;t be
accidentally downloaded into hardware revision 2. And there might be
a need to store a firmware version and potentially a build date in
that meta-information record.&lt;/p&gt;

&lt;p&gt;
So in the end - customer-supplied build-steps are a great route to
fulfill special bootloader needs.&lt;/p&gt;

&lt;p&gt;
Wow - first time in a long time I get text-based Captcha. So Keil
staff has - in my view incorrectly - assumed that text-based captcha
will solve the spam issues. Captcha is a great way to waste our time.
But not a good solution to avoid spam. Why should we users have to
suffer, because Keil can&amp;#39;t invest the time and use real accounts?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to create a HEX file for LPC43 for internal flash memory?</title><link>https://community.arm.com/thread/128741?ContentTypeID=1</link><pubDate>Tue, 21 Oct 2014 06:23:45 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:0aed60d5-0ab6-4ce0-858d-c6753fca7b70</guid><dc:creator>Jaroslaw Gorski</dc:creator><description>&lt;p&gt;&lt;p&gt;
It is the checksum problem. I compared flash memory contents for a
working program&lt;br /&gt;
downloaded with a flash programmer and flash conents for the hex file
downloaded&lt;br /&gt;
with Flash Magic. The diference is only in the checksum area.&lt;/p&gt;

&lt;p&gt;
So the question is how to automatically generate a HEX file for
LP43 so the checksum&lt;br /&gt;
is placed in it?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to create a HEX file for LPC43 for internal flash memory?</title><link>https://community.arm.com/thread/120452?ContentTypeID=1</link><pubDate>Tue, 21 Oct 2014 06:01:44 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3595f71b-c0f6-4f29-90f4-4f57c32d83b5</guid><dc:creator>Jaroslaw Gorski</dc:creator><description>&lt;p&gt;&lt;p&gt;
This is exactly what I do. The HEX file I get starts like this&lt;/p&gt;

&lt;p&gt;
:020000041A00E0&lt;br /&gt;
:10000000F0210810051B001A0D1B001A0F1B001A07&lt;br /&gt;
:10001000111B001A131B001A151B001A5A5A5A5AA0&lt;br /&gt;
:10002000000000000000000000000000171B001A84&lt;br /&gt;
:10003000191B001A000000001B1B001A1D1B001AD0&lt;br /&gt;
:100040001F1B001A1F1B001A1F1B001A1F1B001A60&lt;/p&gt;

&lt;p&gt;
So the beginning looks correct, the starting address is
0x1a000000&lt;/p&gt;

&lt;p&gt;
However when Flash Magic downloads it to the micro it&amp;#39;s
diplaying&lt;br /&gt;
addresses starting from 0x00000000 in the progress bar.&lt;/p&gt;

&lt;p&gt;
The problem may be somewhere else though. The checksum used by
the&lt;br /&gt;
bootloader for valid user code may not be correct. Is it
calculated&lt;br /&gt;
automatically when the HEX file is created and placed in the hex
file?&lt;/p&gt;

&lt;p&gt;
After downloading the hex file to the micro my program doesn&amp;#39;t
start,&lt;br /&gt;
the bootloader is still active.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to create a HEX file for LPC43 for internal flash memory?</title><link>https://community.arm.com/thread/118564?ContentTypeID=1</link><pubDate>Tue, 21 Oct 2014 05:33:26 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:db3615c2-3d19-47b1-8589-a38820a27165</guid><dc:creator>Westonsupermare Pier</dc:creator><description>&lt;p&gt;&lt;p&gt;
Select appropriate IROM address base in Target Pane, check &amp;quot;Create
.HEX File&amp;quot; in Output pane&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to create a HEX file for LPC43 for internal flash memory?</title><link>https://community.arm.com/thread/82211?ContentTypeID=1</link><pubDate>Tue, 21 Oct 2014 03:08:24 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:746a600c-cdaf-46b8-918b-bbc1aa9c0576</guid><dc:creator>Jaroslaw Gorski</dc:creator><description>&lt;p&gt;&lt;p&gt;
My question was not how to get a working image but how to get a
hex file. I have an image that works with no problem when donloaded
to the micro with a programmer. But how to convert it to a HEX file
that can be used with Flash Magic?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to create a HEX file for LPC43 for internal flash memory?</title><link>https://community.arm.com/thread/63224?ContentTypeID=1</link><pubDate>Tue, 21 Oct 2014 03:01:14 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:403cdc48-2559-4161-85c3-425b778397f6</guid><dc:creator>Hans Berger</dc:creator><description>&lt;p&gt;&lt;p&gt;
See on Project -&amp;gt; Option for Target-&amp;gt; Target and Read Only
Memory Areas&lt;br /&gt;
her is start address and size On chip ROM area&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>