Embedded TCP/IP stack: Add FNET Bootloader support to an existing project

FNET

Embedded TCP/IP stack  4.1.0
Add FNET Bootloader support to an existing project

The Bootloader reserves the first 52 Kbytes of the on-chip Flash memory for its own needs (actually it can occupy less space).
The last page of the on-chip Flash memory is used by the Bootloader for parameter storage and may be modified by a user application to change the Bootloader behaviour.

To use an existing application with the FNET Bootloader, the following changes should be applied in the application project:

  1. Add additional sections to the application linker command file and update the already defined memory sections to avoid section overlapping. The example of MCF52259 lcf file modification:
    ...
    MEMORY
    {
                                                                         # 512KB FLASH
        
        fnet_bootloader (RX)  : ORIGIN = 0x00000000, LENGTH = 0x0000D000 # 52KB (Reserved for FNET Bootloader)
        
        vectorrom       (RX)  : ORIGIN = 0x0000D000, LENGTH = 0x00000400 
        code            (RX)  : ORIGIN = 0x0000D400, LENGTH = 0x0007DC00
    
        fnet_params     (RW)  : ORIGIN = 0x0007F000, LENGTH = 0x00001000 # 4Kbytes (Last logical-block reserved for parameters)
       
        vectorram       (RWX) : ORIGIN = 0x20000000, LENGTH = 0x00000400 # 64KB SRAM
        userram         (RWX) : ORIGIN = 0x20000400, LENGTH = 0x0000FC00 
    }
    ...  
    
  2. An application may change the Bootloader parameters. They are placed at the beginning of the last logical-block of the on-chip flash memory.
    The Bootloader parameters organization is defined by the fapp_params_flash structure placed in the
    fnet\fnet_demos\common\fnet_application\fapp_params.h 
  3. Make sure that your application uses the interrupt vector table copied into RAM area, because the ROM-based table is owned by the Bootloader.

© 2005-2018 by Andrey Butok. http://fnet.sourceforge.net