firmware-6000-boot.xml 6.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <section id='firmware-6000-boot'>
  2. <title>
  3. Boot from Host (INT6000)
  4. </title>
  5. <para>
  6. The Boot from Host operation downloads a firmware image and <acronym>PIB</acronym> image from the local host and starts firmware execution. The process is initiated by the <trademark>INT6000</trademark> <application>Bootloader</application> following a device reset. The <application>Bootloader</application> passes control to the <trademark>INT6000</trademark> <application>Softloader</application> to negotiate with the local host. The process therefore requires <application>Softloader</application> aware software running on the local host in order to complete.
  7. </para>
  8. <para>
  9. The device does not have a unique hardware address until the firmware starts and assigns one. Until that time, the <application>Softloader</application> accepts messages addressed to 00:B0:52:00:00:01. In addition, the <application>Softloader</application> does not know the hardware address of the local host and so it addresses <constant>VS_HST_ACTION</constant> messages to FF:FF:FF:FF:FF:FF; however, these messages are not forwarded over powerline.
  10. </para>
  11. <figure>
  12. <title>
  13. Boot from Host (INT6000)
  14. </title>
  15. <programlisting><![CDATA[
  16. INT6000 LOCAL-HOST
  17. [01] | |
  18. [02] |-------- VS_HST_ACTION.IND -------->| [03]
  19. [05] |<------- VS_HST_ACTION.RSP ---------| [04]
  20. | |
  21. [07] |<------- VS_WR_MOD.REQ -------------| [07]
  22. [07] |-------- VS_WR_MOD.CNF ------------>| [07]
  23. [07] |<-----------------------------------| [07]
  24. [07] |----------------------------------->| [07]
  25. | |
  26. [08] |<------- VS_WR_MOD.REQ -------------| [08]
  27. [08] |-------- VS_WR_MOD.CNF ------------>| [08]
  28. [08] |<-----------------------------------| [08]
  29. [08] |----------------------------------->| [08]
  30. | |
  31. [10] |<------- VS_ST_MAC.REQ -------------| [09]
  32. [11] |-------- VS_ST_MAC.CNF ------------>| [12]
  33. ]]></programlisting>
  34. </figure>
  35. <orderedlist>
  36. <listitem>
  37. <para>
  38. The <trademark>INT6000</trademark> <application>Bootloader</application> automatically starts after device reset. It reads the <application>Softloader</application> from <acronym>NVRAM</acronym>, writes it into <acronym>SDRAM</acronym> and starts execution. The <application>Softloader</application> then manages the Boot from Host process.
  39. </para>
  40. </listitem>
  41. <listitem>
  42. <para>
  43. The <application>Softloader</application> broadcasts a <constant>VS_HST_ACTION.IND</constant> message every <constant>500</constant> milliseconds to request the download of runtime firmware and <acronym>PIB</acronym>. The <varname>HOST_ACTION_REQ</varname> field of the message is 0x00 in this case. The message source address if <constant>00:B0:52:00:00:01</constant> as explained above.
  44. </para>
  45. </listitem>
  46. <listitem>
  47. <para>
  48. The local host receives the <constant>VS_HST_ACTION.IND</constant> message and inspects the HOST_ACTION_REQ field to determine action requested. It may then elect to service the request or ignore it. On a single-host system, the host must service the request or the device will not start. On a multi-host system, one of the hosts must elect to service the request or the device will not start.
  49. </para>
  50. </listitem>
  51. <listitem>
  52. <para>
  53. The local host sends a <constant>VS_HST_ACTION.RSP</constant> message to the device to indicate the ability and willingness to service the request. The MSTATUS field is set to 0x00 for affirmative and 0x01 for negative.
  54. </para>
  55. </listitem>
  56. <listitem>
  57. <para>
  58. The <application>Softloader</application> receives the <constant>VS_HST_ACTION.RSP</constant> from the host and inspects the MSTATUS field. On affirmative status, the <application>Softloader</application> stops sending <varname>VS_HST_ACTION</varname> messages and waits indefinitely for the firmware image and <acronym>PIB</acronym>.
  59. </para>
  60. </listitem>
  61. <listitem>
  62. <para>
  63. The local host determines which firmware image and <acronym>PIB</acronym> to download. In some cases there may be no choice. In other cases, there may be a choice between default and custom software or between current and upgraded software. This is a principle design issue to consider.
  64. </para>
  65. </listitem>
  66. <listitem>
  67. <para>
  68. The local host downloads a firmware image to the device by sending <constant>VS_WR_MOD.REQ</constant> messages to the device and waiting for a <constant>VS_WR_MEM.CNF</constant> messages from the device after each request. Each message contains an image segment, the memory offset, the segment length and the checksum used to monitor and manage download progress. If a single transaction fails, the local host should detect it and repeat it.
  69. </para>
  70. </listitem>
  71. <listitem>
  72. <para>
  73. The local host downloads a <acronym>PIB</acronym> to the device by sending <constant>VS_WR_MOD.REQ</constant> messages to the device and waiting for a <constant>VS_WR_MEM.CNF</constant> message from the device after each request. Each message contains an image segement, the memory offset, the segment length and the checksum used to monitor and manage download progress. If a single transaction fails, the local host should detect it and repeat it.
  74. </para>
  75. </listitem>
  76. <listitem>
  77. <para>
  78. The local host starts execution of the downloaded firmware by sending a <constant>VS_ST_MAC.REQ</constant> message to the device. The message contains the start address for the firmware.
  79. </para>
  80. </listitem>
  81. <listitem>
  82. <para>
  83. The <application>Softloader</application> receives the <constant>VS_ST_MAC.REQ</constant> from the local host, validates the content.
  84. </para>
  85. </listitem>
  86. <listitem>
  87. <para>The <application>Softloader</application> sends a <constant>VS_ST_MAC.CNF</constant> message to the local host to indicate an ability or willingness to start execution. Assuming an ability and willingness, the <application>Softloader</application> immediately starts firmware execution which relinquishes device control to the firmware.
  88. </para>
  89. </listitem>
  90. <listitem>
  91. <para>
  92. The local host receives the <constant>VS_ST_MAC.CNF</constant> message from the device, inspects the MSTATUS field and acts accordingly. Assuming an affirmative status, this process terminates.
  93. </para>
  94. </listitem>
  95. </orderedlist>
  96. </section>