예제 #1
0
void CPU_UninitializeCommunication()
{
    NATIVE_PROFILE_PAL_COM();
    // STDIO can be different from the Debug Text port
    // do these first so we can print out messages

    if(COM_IsSerial(HalSystemConfig.DebugTextPort))
    {
        USART_Uninitialize( ConvertCOM_ComPort(HalSystemConfig.DebugTextPort) );
    }
    if(COM_IsSerial(HalSystemConfig.stdio))
    {
        USART_Uninitialize( ConvertCOM_ComPort(HalSystemConfig.stdio) );
    }

    // if USB is not defined, the STUB_USB will be set
    // Do not uninitialize the USB on soft reboot if USB is our debugger link
    // Close all streams on USB controller 0 except debugger (if it uses a USB stream)
    for( int stream = 0; stream < USB_MAX_QUEUES; stream++ )
    {
        if(!COM_IsUsb(HalSystemConfig.DebuggerPorts[0]) || (ConvertCOM_UsbStream(HalSystemConfig.DebugTextPort) != stream))
        {
            USB_CloseStream(stream);        // OK for unopen streams
        }
    }
    USB_Uninitialize(0);        // USB_Uninitialize will only stop USB controller 0 if it has no open streams
    
    Network_Uninitialize();
}
예제 #2
0
BOOL DebuggerPort_Uninitialize( COM_HANDLE ComPortNum )
{
    NATIVE_PROFILE_PAL_COM();
    switch(ExtractTransport(ComPortNum))
    {
        case USART_TRANSPORT:
            return USART_Uninitialize( ConvertCOM_ComPort(ComPortNum) );
        case USB_TRANSPORT:
            USB_CloseStream( ConvertCOM_UsbStream(ComPortNum) );
            return USB_Uninitialize( ConvertCOM_UsbController(ComPortNum) );
        case SOCKET_TRANSPORT:
            return SOCKETS_Uninitialize(ConvertCOM_SockPort(ComPortNum));
    }

    return FALSE;
}
예제 #3
0
static int32_t USART1_Uninitialize (void)
{
    return USART_Uninitialize (&USART1_Resources);
}