Lab 1 Program C

Dependents:   Lab1C

Fork of mbed by -deleted-

Committer:
simon.ford@mbed.co.uk
Date:
Wed Apr 30 15:43:24 2008 +0000
Revision:
1:6b7f447ca868
Parent:
0:82220227f4fa
Fixes:
- ADC bug
- Newlines at end of files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon.ford@mbed.co.uk 0:82220227f4fa 1 /* mbed Microcontroller Library - SemihostFileSystem
simon.ford@mbed.co.uk 0:82220227f4fa 2 * Copyright (c) 2007-2008, sford
simon.ford@mbed.co.uk 0:82220227f4fa 3 */
simon.ford@mbed.co.uk 0:82220227f4fa 4
simon.ford@mbed.co.uk 0:82220227f4fa 5 #ifndef MBED_SEMIHOSTFILESYSTEM_H
simon.ford@mbed.co.uk 0:82220227f4fa 6 #define MBED_SEMIHOSTFILESYSTEM_H
simon.ford@mbed.co.uk 0:82220227f4fa 7
simon.ford@mbed.co.uk 0:82220227f4fa 8 #include "rt_sys.h"
simon.ford@mbed.co.uk 0:82220227f4fa 9
simon.ford@mbed.co.uk 0:82220227f4fa 10 #include "SemihostFileHandle.h"
simon.ford@mbed.co.uk 0:82220227f4fa 11
simon.ford@mbed.co.uk 0:82220227f4fa 12 extern "C" FILEHANDLE $Super$$_sys_open(const char *name, int openmode);
simon.ford@mbed.co.uk 0:82220227f4fa 13
simon.ford@mbed.co.uk 0:82220227f4fa 14 namespace mbed {
simon.ford@mbed.co.uk 0:82220227f4fa 15
simon.ford@mbed.co.uk 0:82220227f4fa 16 /* Class SemihostFileSystem
simon.ford@mbed.co.uk 0:82220227f4fa 17 * A file system invoking the standard semihosting implementation
simon.ford@mbed.co.uk 0:82220227f4fa 18 */
simon.ford@mbed.co.uk 0:82220227f4fa 19 class SemihostFileSystem : public Base {
simon.ford@mbed.co.uk 0:82220227f4fa 20
simon.ford@mbed.co.uk 0:82220227f4fa 21 public:
simon.ford@mbed.co.uk 0:82220227f4fa 22
simon.ford@mbed.co.uk 0:82220227f4fa 23 SemihostFileSystem(char* n) {
simon.ford@mbed.co.uk 0:82220227f4fa 24 name(n);
simon.ford@mbed.co.uk 0:82220227f4fa 25 _type = "SemihostFileSystem";
simon.ford@mbed.co.uk 0:82220227f4fa 26 }
simon.ford@mbed.co.uk 0:82220227f4fa 27
simon.ford@mbed.co.uk 0:82220227f4fa 28 virtual FILEHANDLE sys_open(const char* name, int openmode) {
simon.ford@mbed.co.uk 0:82220227f4fa 29 FILEHANDLE fh = $Super$$_sys_open(name, openmode);
simon.ford@mbed.co.uk 0:82220227f4fa 30 FileHandle* fhc = new SemihostFileHandle(fh);
simon.ford@mbed.co.uk 0:82220227f4fa 31 return (FILEHANDLE)fhc;
simon.ford@mbed.co.uk 0:82220227f4fa 32 }
simon.ford@mbed.co.uk 0:82220227f4fa 33
simon.ford@mbed.co.uk 0:82220227f4fa 34 };
simon.ford@mbed.co.uk 0:82220227f4fa 35
simon.ford@mbed.co.uk 0:82220227f4fa 36 } // namespace mbed
simon.ford@mbed.co.uk 0:82220227f4fa 37
simon.ford@mbed.co.uk 1:6b7f447ca868 38 #endif
simon.ford@mbed.co.uk 1:6b7f447ca868 39