Arrow / Mbed OS DAPLink Reset
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers target_reset_wiznet.c Source File

target_reset_wiznet.c

00001 /**
00002  * @file    target_reset.c
00003  * @brief   Target reset for the W7500
00004  *
00005  * DAPLink Interface Firmware
00006  * Copyright (c) 2009-2019, ARM Limited, All Rights Reserved
00007  * SPDX-License-Identifier: Apache-2.0
00008  *
00009  * Licensed under the Apache License, Version 2.0 (the "License"); you may
00010  * not use this file except in compliance with the License.
00011  * You may obtain a copy of the License at
00012  *
00013  * http://www.apache.org/licenses/LICENSE-2.0
00014  *
00015  * Unless required by applicable law or agreed to in writing, software
00016  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
00017  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00018  * See the License for the specific language governing permissions and
00019  * limitations under the License.
00020  */
00021 
00022 #include "cmsis_os2.h"
00023 #include "swd_host.h"
00024 #include "target_family.h"
00025 #include "target_board.h"
00026 
00027 static uint8_t target_set_state_wiznet(target_state_t state) {
00028     uint8_t status;
00029 
00030     if( state == RESET_RUN )
00031     {
00032         do
00033         {
00034             swd_set_target_reset(1);
00035             osDelay(2);
00036             swd_set_target_reset(0);
00037             osDelay(2);
00038         } while(!swd_init_debug());
00039 
00040         swd_off();
00041         status = 1;
00042     }
00043     else
00044     {
00045         status = swd_set_target_state_sw(state);
00046     }
00047 
00048     return status;
00049 }
00050 
00051 
00052 const target_family_descriptor_t g_wiznet_family = {
00053     .family_id  = kWiznet_W7500_FamilyID,
00054     .target_set_state = target_set_state_wiznet,
00055 };