32 | | The mvme167 BSP by default (i.e., unless you tamper with the linkcmds) is linked at 0x0800000 and the firmware has to be properly configured so that loading and executing at that address is possible: |
33 | | # The board's RAM must be mapped starting at address 0x08000000 (and not zero as may seem more natural and which IIRC is 167Bug's default). |
34 | | ## Use 167Bug's 'env' command to set the 'Base Address of Local Memory' to 08000000. |
35 | | ## Use 167Bug's 'niot' command to set the download and execution address to 08000000. |
36 | | # By default, the 167Bug firmware uses the lowest 64k block of RAM it finds for internal data and this conflicts with RTEMS' needs. 167Bug won't allow you to download the RTEMS image to 0x08000000 unless you instruct 167Bug to use another area (e.g., static RAM) for it's internal data. |
37 | | ## Use 167Bug's 'env' command to set both, the 'Memory Search Starting Address' and 'Memory Search Ending Address' to zero. The 'search' area is the address-range that is scanned by 167Bug when it tries to find an area for it's internal data. If it finds no RAM (since start==end) then it uses static RAM and 08000000 and up can be used by RTEMS. |
| 32 | The mvme167 BSP by default (i.e., unless you tamper with the linkcmds) is linked at 0x00800000 and the firmware has to be properly configured so that loading and executing at that address is possible: |
| 33 | # The board's RAM must be mapped starting at address 0x00800000 (and not zero as may seem more natural and which IIRC is 167Bug's default). |
| 34 | ## Use 167Bug's 'env' command to set the 'Base Address of Local Memory' to 00800000. |
| 35 | ## Use 167Bug's 'niot' command to set the download and execution address to 00800000. |
| 36 | # By default, the 167Bug firmware uses the lowest 64k block of RAM it finds for internal data and this conflicts with RTEMS' needs. 167Bug won't allow you to download the RTEMS image to 0x00800000 unless you instruct 167Bug to use another area (e.g., static RAM) for it's internal data. |
| 37 | ## Use 167Bug's 'env' command to set both, the 'Memory Search Starting Address' and 'Memory Search Ending Address' to zero. The 'search' area is the address-range that is scanned by 167Bug when it tries to find an area for it's internal data. If it finds no RAM (since start==end) then it uses static RAM and 00800000 and up can be used by RTEMS. |
| 38 | |
| 39 | These are my 'env' settings: |
| 40 | {{{ |
| 41 | MPU Clock Speed =25Mhz |
| 42 | |
| 43 | 167-Bug>env |
| 44 | Bug or System environment [B/S] = B? |
| 45 | Field Service Menu Enable [Y/N] = N? |
| 46 | Remote Start Method Switch [G/M/B/N] = B? |
| 47 | Probe System for Supported I/O Controllers [Y/N] = Y? |
| 48 | Negate VMEbus SYSFAIL* Always [Y/N] = N? |
| 49 | Local SCSI Bus Reset on Debugger Startup [Y/N] = N? |
| 50 | Local SCSI Bus Negotiations Type [A/S/N] = A? |
| 51 | Ignore CFGA Block on a Hard Disk Boot [Y/N] = Y? |
| 52 | Auto Boot Enable [Y/N] = N? |
| 53 | Auto Boot at power-up only [Y/N] = Y? |
| 54 | Auto Boot Controller LUN = 00? |
| 55 | Auto Boot Device LUN = 00? |
| 56 | Auto Boot Abort Delay = 15? |
| 57 | Auto Boot Default String [NULL for a empty string] = ? |
| 58 | ROM Boot Enable [Y/N] = N? |
| 59 | ROM Boot at power-up only [Y/N] = Y? |
| 60 | ROM Boot Enable search of VMEbus [Y/N] = N? |
| 61 | ROM Boot Abort Delay = 0? |
| 62 | ROM Boot Direct Starting Address = FF800000? |
| 63 | ROM Boot Direct Ending Address = FFBFFFFC? |
| 64 | Network Auto Boot Enable [Y/N] = N? |
| 65 | Network Auto Boot at power-up only [Y/N] = Y? |
| 66 | Network Auto Boot Controller LUN = 00? |
| 67 | Network Auto Boot Device LUN = 00? |
| 68 | Network Auto Boot Abort Delay = 5? |
| 69 | Network Auto Boot Configuration Parameters Pointer (NVRAM) = FFFC0000? |
| 70 | Memory Search Starting Address = 00000000? |
| 71 | Memory Search Ending Address = 00000000? |
| 72 | Memory Search Increment Size = 00010000? |
| 73 | Memory Search Delay Enable [Y/N] = N? |
| 74 | Memory Search Delay Address = FFFFCE0F? |
| 75 | Memory Size Enable [Y/N] = Y? |
| 76 | Memory Size Starting Address = 00000000? |
| 77 | Memory Size Ending Address = 01000000? |
| 78 | Base Address of Local Memory = 00800000? |
| 79 | Size of Local Memory Board #0 = 00800000? |
| 80 | Size of Local Memory Board #1 = 00000000? |
| 81 | Slave Enable #1 [Y/N] = Y? |
| 82 | Slave Starting Address #1 = 00000000? |
| 83 | Slave Ending Address #1 = 007FFFFF? |
| 84 | Slave Address Translation Address #1 = 00000000? |
| 85 | Slave Address Translation Select #1 = FF800000? |
| 86 | Slave Control #1 = 00FF? |
| 87 | Slave Enable #2 [Y/N] = N? |
| 88 | Slave Starting Address #2 = FFE00000? |
| 89 | Slave Ending Address #2 = FFE1FFFF? |
| 90 | Slave Address Translation Address #2 = 00000000? |
| 91 | Slave Address Translation Select #2 = 00000000? |
| 92 | Slave Control #2 = 01EF? |
| 93 | Master Enable #1 [Y/N] = Y? |
| 94 | Master Starting Address #1 = 01000000? |
| 95 | Master Ending Address #1 = EFFFFFFF? |
| 96 | Master Control #1 = 0D? |
| 97 | Master Enable #2 [Y/N] = N? |
| 98 | Master Starting Address #2 = 00000000? |
| 99 | Master Ending Address #2 = 00000000? |
| 100 | Master Control #2 = 00? |
| 101 | Master Enable #3 [Y/N] = N? |
| 102 | Master Starting Address #3 = 00800000? |
| 103 | Master Ending Address #3 = 00FFFFFF? |
| 104 | Master Control #3 = 3D? |
| 105 | Master Enable #4 [Y/N] = N? |
| 106 | Master Starting Address #4 = 00000000? |
| 107 | Master Ending Address #4 = 00000000? |
| 108 | Master Address Translation Address #4 = 00000000? |
| 109 | Master Address Translation Select #4 = 00000000? |
| 110 | Master Control #4 = 00? |
| 111 | Short I/O (VMEbus A16) Enable [Y/N] = Y? |
| 112 | Short I/O (VMEbus A16) Control = 01? |
| 113 | F-Page (VMEbus A24) Enable [Y/N] = Y? |
| 114 | F-Page (VMEbus A24) Control = 02? |
| 115 | ROM Speed Bank A Code = 05? |
| 116 | ROM Speed Bank B Code = 05? |
| 117 | Static RAM Speed Code = 01? |
| 118 | PCC2 Vector Base = 05? |
| 119 | VMEC2 Vector Base #1 = 06? |
| 120 | VMEC2 Vector Base #2 = 07? |
| 121 | VMEC2 GCSR Group Base Address = CC? |
| 122 | VMEC2 GCSR Board Base Address = 00? |
| 123 | VMEbus Global Time Out Code = 01? |
| 124 | Local Bus Time Out Code = 00? |
| 125 | VMEbus Access Time Out Code = 02? |
| 126 | 167-Bug> |
| 127 | }}} |
| 128 | |
| 129 | And 'niot': |
| 130 | {{{ |
| 131 | 167-Bug>niot |
| 132 | Controller LUN =00? |
| 133 | Device LUN =00? |
| 134 | Node Control Memory Address =FFE10000? |
| 135 | Client IP Address =0.0.0.0? |
| 136 | Server IP Address =0.0.0.0? |
| 137 | Subnet IP Address Mask =0.0.0.0? |
| 138 | Broadcast IP Address =0.0.0.0? |
| 139 | Gateway IP Address =0.0.0.0? |
| 140 | Boot File Name ("NULL" for None) =? |
| 141 | Argument File Name ("NULL" for None) =? |
| 142 | Boot File Load Address =00800000? |
| 143 | Boot File Execution Address =00800000? |
| 144 | Boot File Execution Delay =00000000? |
| 145 | Boot File Length =00000000? |
| 146 | Boot File Byte Offset =00000000? |
| 147 | BOOTP/RARP Request Retry =00? |
| 148 | TFTP/ARP Request Retry =00? |
| 149 | Trace Character Buffer Address =00000000? |
| 150 | BOOTP/RARP Request Control: Always/When-Needed (A/W)=A? |
| 151 | BOOTP/RARP Reply Update Control: Yes/No (Y/N) =Y? |
| 152 | 167-Bug> |
| 153 | }}} |