Elmo HARSFEN0602 Network Hardware User Manual


 
HARSFEN0602
16 Appendix A: The Harmonica Flash Memory Organization
This Appendix describes the internal partitioning of the internal serial Flash memory of the Harmonica.
For normal use of the Harmonica, you don’t need to read this appendix, since the Composer IDE will deal
with it for you.
To learn how to upload and download flash data, refer the DL,LS, and LP commands in the Command
Reference Manual.
16.1 Main partitions
The flash has four main partitions at the following order.
The firmware partition
The parameters partition
The factory code partition
The user code partition
The firmware partition always starts at address zero of the serial flash.
The location of the other partitions is defined in the table of contents of the firmware partition.
16.2 The firmware partition
The firmware partition includes identity information for the driver.
It includes the following:
Table of contents
Text1 - description of the contents of the parameters 1 segment
Text2 - unused memory space for possible later use
Text3 - unused memory space for possible later use
Text4:7 – description of the commands supported by the Harmonica
Text8 – description of the available recorded signals
Text9 – system limits
Text10 – error codes descriptions
Binary1 – record of default values for parameters1 segment
Binary2 – unused memory space for possible later use
Binary3 – unused memory space for possible later use
The firmware partition can be accessed by DL command only when we make download firmware when
running from boot memory.
The firmware partition can be read by the LS command at any time.
16.2.1 Table of Contents (TOC)
This table of contents gives the starting address and the length for each of the text files, relative to the start of
the firmware partition. Each text file starts in a page boundary. The table below specifies how the TOC is
built.
This TOC is located at physical address 0 in the serial flash.
For example, the third line of the table is:
Length of Text1 unsigned short 2
It means that the parameter “Length of Text1” can be read as
Length_of_Text1 = * ((unsigned short *)(Firmware_Partition+2))
Name Size Byte location in the
firmware partition
Comment