mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Thu Aug 20 10:45:13 2015 +0100
Revision:
613:bc40b8d2aec4
Parent:
455:8bc3a354916d
Synchronized with git revision 92ca8c7b60a283b6bb60eb65b183dac1599f0ade

Full URL: https://github.com/mbedmicro/mbed/commit/92ca8c7b60a283b6bb60eb65b183dac1599f0ade/

Nordic: update application start address in GCC linker script

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 337:6ed01c00b962 1 /* mbed Microcontroller Library
mbed_official 337:6ed01c00b962 2 * Copyright (c) 2006-2013 ARM Limited
mbed_official 337:6ed01c00b962 3 *
mbed_official 337:6ed01c00b962 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 337:6ed01c00b962 5 * you may not use this file except in compliance with the License.
mbed_official 337:6ed01c00b962 6 * You may obtain a copy of the License at
mbed_official 337:6ed01c00b962 7 *
mbed_official 337:6ed01c00b962 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 337:6ed01c00b962 9 *
mbed_official 337:6ed01c00b962 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 337:6ed01c00b962 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 337:6ed01c00b962 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 337:6ed01c00b962 13 * See the License for the specific language governing permissions and
mbed_official 337:6ed01c00b962 14 * limitations under the License.
mbed_official 337:6ed01c00b962 15 */
mbed_official 337:6ed01c00b962 16 #ifndef MBED_GPIO_OBJECT_H
mbed_official 337:6ed01c00b962 17 #define MBED_GPIO_OBJECT_H
mbed_official 337:6ed01c00b962 18
mbed_official 337:6ed01c00b962 19 #include "mbed_assert.h"
mbed_official 337:6ed01c00b962 20
mbed_official 337:6ed01c00b962 21 #ifdef __cplusplus
mbed_official 337:6ed01c00b962 22 extern "C" {
mbed_official 337:6ed01c00b962 23 #endif
mbed_official 337:6ed01c00b962 24
mbed_official 337:6ed01c00b962 25 typedef struct {
mbed_official 337:6ed01c00b962 26 PinName pin;
mbed_official 337:6ed01c00b962 27 uint32_t mask;
mbed_official 337:6ed01c00b962 28
mbed_official 337:6ed01c00b962 29 __IO uint32_t *reg_dir;
mbed_official 337:6ed01c00b962 30 __IO uint32_t *reg_set;
mbed_official 337:6ed01c00b962 31 __IO uint32_t *reg_clr;
mbed_official 337:6ed01c00b962 32 __I uint32_t *reg_in;
mbed_official 337:6ed01c00b962 33 } gpio_t;
mbed_official 337:6ed01c00b962 34
mbed_official 337:6ed01c00b962 35 static inline void gpio_write(gpio_t *obj, int value)
mbed_official 337:6ed01c00b962 36 {
mbed_official 337:6ed01c00b962 37 MBED_ASSERT(obj->pin != (PinName)NC);
mbed_official 337:6ed01c00b962 38 if (value)
mbed_official 337:6ed01c00b962 39 *obj->reg_set = obj->mask;
mbed_official 337:6ed01c00b962 40 else
mbed_official 337:6ed01c00b962 41 *obj->reg_clr = obj->mask;
mbed_official 337:6ed01c00b962 42 }
mbed_official 337:6ed01c00b962 43
mbed_official 337:6ed01c00b962 44 static inline int gpio_read(gpio_t *obj)
mbed_official 337:6ed01c00b962 45 {
mbed_official 337:6ed01c00b962 46 MBED_ASSERT(obj->pin != (PinName)NC);
mbed_official 337:6ed01c00b962 47 return ((*obj->reg_in & obj->mask) ? 1 : 0);
mbed_official 337:6ed01c00b962 48 }
mbed_official 337:6ed01c00b962 49
mbed_official 455:8bc3a354916d 50 static inline int gpio_is_connected(const gpio_t *obj) {
mbed_official 455:8bc3a354916d 51 return obj->pin != (PinName)NC;
mbed_official 455:8bc3a354916d 52 }
mbed_official 455:8bc3a354916d 53
mbed_official 337:6ed01c00b962 54 #ifdef __cplusplus
mbed_official 337:6ed01c00b962 55 }
mbed_official 337:6ed01c00b962 56 #endif
mbed_official 337:6ed01c00b962 57
mbed_official 337:6ed01c00b962 58 #endif