Description - NXBSL

The "Second Stage Boot Loader" is a basic netX system loader, started by the netX ROM loader, and designed to create a standard Hilscher netX dual port memory.

It offers basic functionalities for all netX based standard components like device drivers and comunnication components and
enables the download of firmware files larger than 64 KB via the dual-port memory.
Another task of the boot loader is to cover as many hardware dependencies as possible (e.g. MMIO/chip type settings).

 

File names

  • NETX100-BSL.bin for netX 100/500-based hardware
  • NETX50-BSL.bin for netX 50-based hardware
  • NETX10-BSL.bin for netX 10-based hardware
  • NETX51-BSL.bin for netX 51-based hardware
  • NETX52-BSL.bin for netX 52-based hardware

Overview

  • The loader is executed from the netX internal RAM, because this is always known and makes the loader independent from the hardware.
  • To be able to start the Second Stage Boot Loader via the DPM, the DPM area must be 64 Kbyte.
    Otherwise the netX registers, necessary to restart the netX ROM loader to load the Second Stage Boot Loader, are not reachable.
  • The Second Stage Boot Loader creates a "System Channel" and a "Handshake Channel" at DPM offset 0x0 to 0x2FF like defined in the "netX DPM Interface Manual".
  • The rest of the DPM is used as a separate mailbox system.
    The mailboxes does not include the standard administration data (pending packets) and consist only of the raw packet data. The mailbox size differs from the standard channel mailboxes::
    • The size of the new send mailbox is calculated in the following way:
      SendMBX size = DPM size - Size of std. channels - Fixed size new RecvMBX

      Example
      DPM size                         = 8192 Byte (0x2000)            
      Std channel size              = 768 Byte (0x300)    
      Std. Recv MBX size        = 124 Byte (NETX_SYSTEM_MAILBOX_MIN_SIZE)    
      ==> Send MBX size        = 8192 - 768- 124 = 7300 Byte (0x1C84)
    • The new mailbox system has separate handshake pairs in the standard "System Channel" handshake cell (offset 0x200 in the DPM).    
      HSF_EXT_SEND_MBX_CMD / NSF_EXT_SEND_MBX_ACK = Bit 6 and
      HSF_EXT_RECV_MBX_ACK / NSF_EXT_RECV_MBX_CMD = Bit 7.
    • The download via the extended mailbox system is done by using standard rcX packets. Except the data packet size is adjusted to the extended mailbox size

Â