예제 #1
0
/*!
 * \brief Gets the address of the current interrupt vector table. The function 
 * depends on the PSP.
 * 
 * \return Address of the current interrupt vector table.
 * 
 * \see _int_set_vector_table
 * \see _int_get_previous_vector_table
 */      
_psp_code_addr _int_get_vector_table
(
    void
)
{
    return _PSP_GET_VTOR();
}
예제 #2
0
/*!
 * \brief Changes the location of the interrupt vector table.
 *
 * \param[in] addr Address of the new interrupt vector table.
 *
 * \return Address of the previous vector table.
 *
 * \warning Behavior depends on the BSP and the PSP.
 *
 * \see _int_get_vector_table
 * \see _int_get_previous_vector_table
 */
_psp_code_addr _int_set_vector_table
(
    _psp_code_addr addr
)
{ /* Body */
   _psp_code_addr         old;
#if MQX_EXIT_ENABLED
   KERNEL_DATA_STRUCT_PTR kernel_data;

   _GET_KERNEL_DATA(kernel_data);
   kernel_data->USERS_VBR = addr;
#endif

   old = _PSP_GET_VTOR();
   _PSP_SET_VTOR(addr);

   return (old);

} /* Endbody */