Integrating the ublox LISA C200 modem

Fork of SprintUSBModemHTTPClientTest by Donatien Garnier

Committer:
sam_grove
Date:
Thu Sep 26 00:44:20 2013 -0500
Revision:
5:3f93dd1d4cb3
Exported program and replaced contents of the repo with the source
to build and debug using keil mdk. Libs NOT upto date are lwip, lwip-sys
and socket. these have newer versions under mbed_official but were starting
from a know working point

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sam_grove 5:3f93dd1d4cb3 1 /* mbed Microcontroller Library
sam_grove 5:3f93dd1d4cb3 2 * Copyright (c) 2006-2013 ARM Limited
sam_grove 5:3f93dd1d4cb3 3 *
sam_grove 5:3f93dd1d4cb3 4 * Licensed under the Apache License, Version 2.0 (the "License");
sam_grove 5:3f93dd1d4cb3 5 * you may not use this file except in compliance with the License.
sam_grove 5:3f93dd1d4cb3 6 * You may obtain a copy of the License at
sam_grove 5:3f93dd1d4cb3 7 *
sam_grove 5:3f93dd1d4cb3 8 * http://www.apache.org/licenses/LICENSE-2.0
sam_grove 5:3f93dd1d4cb3 9 *
sam_grove 5:3f93dd1d4cb3 10 * Unless required by applicable law or agreed to in writing, software
sam_grove 5:3f93dd1d4cb3 11 * distributed under the License is distributed on an "AS IS" BASIS,
sam_grove 5:3f93dd1d4cb3 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
sam_grove 5:3f93dd1d4cb3 13 * See the License for the specific language governing permissions and
sam_grove 5:3f93dd1d4cb3 14 * limitations under the License.
sam_grove 5:3f93dd1d4cb3 15 */
sam_grove 5:3f93dd1d4cb3 16 #ifndef MBED_SEMIHOST_H
sam_grove 5:3f93dd1d4cb3 17 #define MBED_SEMIHOST_H
sam_grove 5:3f93dd1d4cb3 18
sam_grove 5:3f93dd1d4cb3 19 #include "device.h"
sam_grove 5:3f93dd1d4cb3 20 #include "toolchain.h"
sam_grove 5:3f93dd1d4cb3 21
sam_grove 5:3f93dd1d4cb3 22 #ifdef __cplusplus
sam_grove 5:3f93dd1d4cb3 23 extern "C" {
sam_grove 5:3f93dd1d4cb3 24 #endif
sam_grove 5:3f93dd1d4cb3 25
sam_grove 5:3f93dd1d4cb3 26 #if DEVICE_SEMIHOST
sam_grove 5:3f93dd1d4cb3 27
sam_grove 5:3f93dd1d4cb3 28 #ifndef __CC_ARM
sam_grove 5:3f93dd1d4cb3 29
sam_grove 5:3f93dd1d4cb3 30 #if defined(__ICCARM__)
sam_grove 5:3f93dd1d4cb3 31 inline int __semihost(int reason, const void *arg) {
sam_grove 5:3f93dd1d4cb3 32 return __semihosting(reason, (void*)arg);
sam_grove 5:3f93dd1d4cb3 33 }
sam_grove 5:3f93dd1d4cb3 34 #else
sam_grove 5:3f93dd1d4cb3 35
sam_grove 5:3f93dd1d4cb3 36 #ifdef __thumb__
sam_grove 5:3f93dd1d4cb3 37 # define AngelSWI 0xAB
sam_grove 5:3f93dd1d4cb3 38 # define AngelSWIInsn "bkpt"
sam_grove 5:3f93dd1d4cb3 39 # define AngelSWIAsm bkpt
sam_grove 5:3f93dd1d4cb3 40 #else
sam_grove 5:3f93dd1d4cb3 41 # define AngelSWI 0x123456
sam_grove 5:3f93dd1d4cb3 42 # define AngelSWIInsn "swi"
sam_grove 5:3f93dd1d4cb3 43 # define AngelSWIAsm swi
sam_grove 5:3f93dd1d4cb3 44 #endif
sam_grove 5:3f93dd1d4cb3 45
sam_grove 5:3f93dd1d4cb3 46 static inline int __semihost(int reason, const void *arg) {
sam_grove 5:3f93dd1d4cb3 47 int value;
sam_grove 5:3f93dd1d4cb3 48
sam_grove 5:3f93dd1d4cb3 49 asm volatile (
sam_grove 5:3f93dd1d4cb3 50 "mov r0, %1" "\n\t"
sam_grove 5:3f93dd1d4cb3 51 "mov r1, %2" "\n\t"
sam_grove 5:3f93dd1d4cb3 52 AngelSWIInsn " %a3" "\n\t"
sam_grove 5:3f93dd1d4cb3 53 "mov %0, r0"
sam_grove 5:3f93dd1d4cb3 54 : "=r" (value) /* output operands */
sam_grove 5:3f93dd1d4cb3 55 : "r" (reason), "r" (arg), "i" (AngelSWI) /* input operands */
sam_grove 5:3f93dd1d4cb3 56 : "r0", "r1", "r2", "r3", "ip", "lr", "memory", "cc" /* list of clobbered registers */
sam_grove 5:3f93dd1d4cb3 57 );
sam_grove 5:3f93dd1d4cb3 58
sam_grove 5:3f93dd1d4cb3 59 return value;
sam_grove 5:3f93dd1d4cb3 60 }
sam_grove 5:3f93dd1d4cb3 61 #endif
sam_grove 5:3f93dd1d4cb3 62 #endif
sam_grove 5:3f93dd1d4cb3 63
sam_grove 5:3f93dd1d4cb3 64 #if DEVICE_LOCALFILESYSTEM
sam_grove 5:3f93dd1d4cb3 65 FILEHANDLE semihost_open(const char* name, int openmode);
sam_grove 5:3f93dd1d4cb3 66 int semihost_close (FILEHANDLE fh);
sam_grove 5:3f93dd1d4cb3 67 int semihost_read (FILEHANDLE fh, unsigned char* buffer, unsigned int length, int mode);
sam_grove 5:3f93dd1d4cb3 68 int semihost_write (FILEHANDLE fh, const unsigned char* buffer, unsigned int length, int mode);
sam_grove 5:3f93dd1d4cb3 69 int semihost_ensure(FILEHANDLE fh);
sam_grove 5:3f93dd1d4cb3 70 long semihost_flen (FILEHANDLE fh);
sam_grove 5:3f93dd1d4cb3 71 int semihost_seek (FILEHANDLE fh, long position);
sam_grove 5:3f93dd1d4cb3 72 int semihost_istty (FILEHANDLE fh);
sam_grove 5:3f93dd1d4cb3 73
sam_grove 5:3f93dd1d4cb3 74 int semihost_remove(const char *name);
sam_grove 5:3f93dd1d4cb3 75 int semihost_rename(const char *old_name, const char *new_name);
sam_grove 5:3f93dd1d4cb3 76 #endif
sam_grove 5:3f93dd1d4cb3 77
sam_grove 5:3f93dd1d4cb3 78 int semihost_uid(char *uid);
sam_grove 5:3f93dd1d4cb3 79 int semihost_reset(void);
sam_grove 5:3f93dd1d4cb3 80 int semihost_vbus(void);
sam_grove 5:3f93dd1d4cb3 81 int semihost_powerdown(void);
sam_grove 5:3f93dd1d4cb3 82 int semihost_exit(void);
sam_grove 5:3f93dd1d4cb3 83
sam_grove 5:3f93dd1d4cb3 84 int semihost_connected(void);
sam_grove 5:3f93dd1d4cb3 85 int semihost_disabledebug(void);
sam_grove 5:3f93dd1d4cb3 86
sam_grove 5:3f93dd1d4cb3 87 #endif
sam_grove 5:3f93dd1d4cb3 88
sam_grove 5:3f93dd1d4cb3 89 #ifdef __cplusplus
sam_grove 5:3f93dd1d4cb3 90 }
sam_grove 5:3f93dd1d4cb3 91 #endif
sam_grove 5:3f93dd1d4cb3 92
sam_grove 5:3f93dd1d4cb3 93 #endif