Changes between Version 5 and Version 6 of TBR/Review/Debugging/Start


Ignore:
Timestamp:
Oct 4, 2005, 9:06:47 PM (15 years ago)
Author:
JoelSherrill
Comment:

/* BSP rtems_initialize_executive_late call dies */ Fix formatting from conversion.

Legend:

Unmodified
Added
Removed
Modified
  • TBR/Review/Debugging/Start

    v5 v6  
    133133
    134134
    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.
     135Your 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.
    136136
    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:
    138138
    139139{{{
    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);
    141141}}}
    142142
    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.
     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.
    144144
    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.
    146146
    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.
     147The 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.
    148148= GDB Cannot Find My Source Files =
    149149