HARSFEN0602ElmoHARmonicaSoftwareManual

PRELIMINARYDRAFT

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.1Main 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.

204

16.2The 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.1Table 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 Comment firmware partition

Page 206
Image 206
Elmo HARmonica, HARSFEN0602 204, Appendix a The Harmonica Flash Memory Organization, Main partitions, Firmware partition