Exemplo n.º 1
0
/* unlock the main FLASH operation
 *
 * @return 0 for success, -1 for error
*/
static int32_t flash_unlock(void)
{
    fmc_unlock();
    if (RESET != (FMC_CTL & FMC_CTL_LK)) {
        return -1;
    }
    return 0;
}
Exemplo n.º 2
0
/*!
    \brief      initialize the HID device
    \param[in]  pudev: pointer to USB device instance
    \param[in]  config_index: configuration index
    \param[out] none
    \retval     USB device operation status
*/
usbd_status_enum iap_init (void *pudev, uint8_t config_index)
{
    /* initialize Tx endpoint */
    usbd_ep_init(pudev, &(configuration_descriptor.HID_ReportINEndpoint));

    /* initialize Rx endpoint */
    usbd_ep_init(pudev, &(configuration_descriptor.HID_ReportOUTEndpoint));

    /* unlock the internal flash */
    fmc_unlock();

    /* prepare receive Data */
    usbd_ep_rx(pudev, IAP_OUT_EP, report_buf, IAP_OUT_PACKET);

    return USBD_OK;
}