Changes between Version 5 and Version 6 of TBR/Review/Debugging/Start
- Timestamp:
- 10/04/05 21:06:47 (19 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TBR/Review/Debugging/Start
v5 v6 133 133 134 134 135 Your target is booting and the BSP is initialising but a call to ''rtems ''initialize''executive''late_results in an exception, or the target locking up. This can be due to a few reasons that you will need to work through.135 Your target is booting and the BSP is initialising but a call to ''rtems_initialize_executive_late'' results in an exception, or the target locking up. This can be due to a few reasons that you will need to work through. 136 136 137 * The memory map is not correct. RTEMS use the [wiki:WorkSpace WorkSpace] to create the initialization task, it's stack, the interrupt stack, plus more. If the [wiki:WorkSpace WorkSpace] is wrong the target will die. The exact way depends on the specific processor and mapping error. If you have implemented ''printk'' it may be a good idea to add some code to ''bsp ''pretasking''hook'' to show you the base and size:137 * The memory map is not correct. RTEMS use the [wiki:WorkSpace WorkSpace] to create the initialization task, it's stack, the interrupt stack, plus more. If the [wiki:WorkSpace WorkSpace] is wrong the target will die. The exact way depends on the specific processor and mapping error. If you have implemented ''printk'' it may be a good idea to add some code to ''bsp_pretasking_hook'' to show you the base and size: 138 138 139 139 {{{ 140 printk ("Heap : %5d KB @ 0x%08x\n ", heap ''size >> 10, heap''start);140 printk ("Heap : %5d KB @ 0x%08x\n ", heap_size >> 10, heap_start); 141 141 }}} 142 142 143 * The initialization process encountered an error. The set of these is documented in the '''Classic API C User's Guide'''. For RTEMS 4.6.1, this was documented in the [http://www.rtems.com/onlinedocs/releases/rtemsdocs-4.6.1/share/rtems/html/c_user/c_user00034.html Initialization Manager Failure 143 * The initialization process encountered an error. The set of these is documented in the '''Classic API C User's Guide'''. For RTEMS 4.6.1, this was documented in the [http://www.rtems.com/onlinedocs/releases/rtemsdocs-4.6.1/share/rtems/html/c_user/c_user00034.html Initialization Manager Failure] section. 144 144 145 * Interrupts are pending and no interrupt handler is present, or a bug exists in the interrupt handler, or vector table layout. RTEMS will enable interrupts when it switches to the initialization task ''rtems ''initialize''executive''late'' creates. This problem can be found by getting to the context switch call, '' ''Context''Switch_, then the crash or lockup. The fix is to make sure the BSP has masked all sources of interrupts in the hardware around the processor. This allows RTEMS and the application an ordered and controlled initialization of driver and therefore interrupts.145 * Interrupts are pending and no interrupt handler is present, or a bug exists in the interrupt handler, or vector table layout. RTEMS will enable interrupts when it switches to the initialization task ''rtems_initialize_executive_late'' creates. This problem can be found by getting to the context switch call, ''_CPU_Context_Switch'', then the crash or lockup. The fix is to make sure the BSP has masked all sources of interrupts in the hardware around the processor. This allows RTEMS and the application an ordered and controlled initialization of driver and therefore interrupts. 146 146 147 The initialization task is a real task in RTEMS. The ''rtems ''initialize''executive''late_creates it and switches context to it. This means your BSP environment is another context that RTEMS will switch back to when RTEMS is shut down. This allows your BSP to take control again, then perform any specific functions it needs. A typical operational thing to do is to reboot as embedded targets should not stop.147 The initialization task is a real task in RTEMS. The ''rtems_initialize_executive_late'' creates it and switches context to it. This means your BSP environment is another context that RTEMS will switch back to when RTEMS is shut down. This allows your BSP to take control again, then perform any specific functions it needs. A typical operational thing to do is to reboot as embedded targets should not stop. 148 148 = GDB Cannot Find My Source Files = 149 149