mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
Parent:
187:0387e8f68319
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 187:0387e8f68319 1 /* mbed Microcontroller Library
AnnaBridge 187:0387e8f68319 2 * Copyright (c) 2017-2018 Nuvoton
AnnaBridge 187:0387e8f68319 3 *
AnnaBridge 187:0387e8f68319 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 187:0387e8f68319 5 * you may not use this file except in compliance with the License.
AnnaBridge 187:0387e8f68319 6 * You may obtain a copy of the License at
AnnaBridge 187:0387e8f68319 7 *
AnnaBridge 187:0387e8f68319 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 187:0387e8f68319 9 *
AnnaBridge 187:0387e8f68319 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 187:0387e8f68319 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 187:0387e8f68319 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 187:0387e8f68319 13 * See the License for the specific language governing permissions and
AnnaBridge 187:0387e8f68319 14 * limitations under the License.
AnnaBridge 187:0387e8f68319 15 */
AnnaBridge 187:0387e8f68319 16
AnnaBridge 187:0387e8f68319 17 #ifndef HAL_SECURE_H
AnnaBridge 187:0387e8f68319 18 #define HAL_SECURE_H
AnnaBridge 187:0387e8f68319 19
AnnaBridge 187:0387e8f68319 20 #include "cmsis.h"
AnnaBridge 187:0387e8f68319 21
AnnaBridge 187:0387e8f68319 22 #ifdef __cplusplus
AnnaBridge 187:0387e8f68319 23 extern "C" {
AnnaBridge 187:0387e8f68319 24 #endif
AnnaBridge 187:0387e8f68319 25
AnnaBridge 187:0387e8f68319 26 /* pin_function (secure version)
AnnaBridge 187:0387e8f68319 27 *
AnnaBridge 187:0387e8f68319 28 * Guard access to secure GPIO from non-secure domain.
AnnaBridge 187:0387e8f68319 29 *
AnnaBridge 187:0387e8f68319 30 * Its synopsis is the same as normal version except change of return/argument type for
AnnaBridge 187:0387e8f68319 31 * binary-compatible across compilers.
AnnaBridge 187:0387e8f68319 32 */
AnnaBridge 187:0387e8f68319 33 __NONSECURE_ENTRY
AnnaBridge 187:0387e8f68319 34 void pin_function_s(int32_t pin, int32_t data);
AnnaBridge 187:0387e8f68319 35
AnnaBridge 187:0387e8f68319 36 /* NOTE: time_t
AnnaBridge 187:0387e8f68319 37 *
AnnaBridge 187:0387e8f68319 38 * time_t may be defined to int32_t/int64_t dependent on compilers. For binary-compatible
AnnaBridge 187:0387e8f68319 39 * among compilers, we must replace time_t with int32_t/int64_t explicitly in rtc secure
AnnaBridge 187:0387e8f68319 40 * functions. We determine to choose int64_t rather than int32_t to avoid 'Year 2038 problem'.
AnnaBridge 187:0387e8f68319 41 */
AnnaBridge 187:0387e8f68319 42
AnnaBridge 187:0387e8f68319 43 /* rtc_init (secure version) */
AnnaBridge 187:0387e8f68319 44 __NONSECURE_ENTRY
AnnaBridge 187:0387e8f68319 45 void rtc_init_s(void);
AnnaBridge 187:0387e8f68319 46
AnnaBridge 187:0387e8f68319 47 /* rtc_free (secure version) */
AnnaBridge 187:0387e8f68319 48 __NONSECURE_ENTRY
AnnaBridge 187:0387e8f68319 49 void rtc_free_s(void);
AnnaBridge 187:0387e8f68319 50
AnnaBridge 187:0387e8f68319 51 /* rtc_isenabled (secure version)
AnnaBridge 187:0387e8f68319 52 *
AnnaBridge 187:0387e8f68319 53 * Its synopsis is the same as normal version except change of return/argument type for
AnnaBridge 187:0387e8f68319 54 * binary-compatible across compilers.
AnnaBridge 187:0387e8f68319 55 */
AnnaBridge 187:0387e8f68319 56 __NONSECURE_ENTRY
AnnaBridge 187:0387e8f68319 57 int32_t rtc_isenabled_s(void);
AnnaBridge 187:0387e8f68319 58
AnnaBridge 187:0387e8f68319 59 /* rtc_read (secure version)
AnnaBridge 187:0387e8f68319 60 *
AnnaBridge 187:0387e8f68319 61 * Its synopsis is the same as normal version except change of return/argument type for
AnnaBridge 187:0387e8f68319 62 * binary-compatible across compilers.
AnnaBridge 187:0387e8f68319 63 */
AnnaBridge 187:0387e8f68319 64 __NONSECURE_ENTRY
AnnaBridge 187:0387e8f68319 65 int64_t rtc_read_s(void);
AnnaBridge 187:0387e8f68319 66
AnnaBridge 187:0387e8f68319 67 /* rtc_write (secure version)
AnnaBridge 187:0387e8f68319 68 *
AnnaBridge 187:0387e8f68319 69 * Its synopsis is the same as normal version except change of return/argument type for
AnnaBridge 187:0387e8f68319 70 * binary-compatible across compilers.
AnnaBridge 187:0387e8f68319 71 */
AnnaBridge 187:0387e8f68319 72 __NONSECURE_ENTRY
AnnaBridge 187:0387e8f68319 73 void rtc_write_s(int64_t t);
AnnaBridge 187:0387e8f68319 74
AnnaBridge 187:0387e8f68319 75 #ifdef __cplusplus
AnnaBridge 187:0387e8f68319 76 }
AnnaBridge 187:0387e8f68319 77 #endif
AnnaBridge 187:0387e8f68319 78
AnnaBridge 187:0387e8f68319 79 #endif