DRIVER AND LIBRARY FOR DB67 DSP BOARD DRIVER AND LIBRARY FOR DB67 DSP BOARD
|
|
- Lee Ellis
- 6 years ago
- Views:
Transcription
1 DRIVER AND LIBRARY FOR DB67 DSP BOARD
2 G.Petrosyan MVP, DESY (Hamburg, Germany), ErPhi (Erevan, Armenia) K. Rehlich DESY (Hamburg, Germany) P.Vetrov DESY (Hamburg, Germany),
3 DRIVER The basic part of LLRF DSP control system is 6U-VME standard DSP board which contains TMS320C6701 floating-point DSP (Texas Instruments Inc.) and 8 Gigalink channels [1]. For effective usage of this board the driver for OS Solaris 2 was written. Additionally a bootable program was developed which is stored in the flash memory of the DSP board. On start up or reset this program initializes the DSP internal registers and DSP Interrupt Service Table (IST) [2]. After this initialization the program enters an idle loop. Init Internal registers Init IST IDLE xxxxx Since the idle loop instructions are arranged in reserved memory space, which is not used for application programs, we can load an application program in to the DSP memory without disturb this loop. By changing the loop instructions from Host Port Interface (HPI) can force DSP to exit from loop. Before doing it we have to set required branch instruction at xxxxx. For example, if we want to start a new application program we have to set branch instruction to 0x200h address. As default the HPI Interrupt Service Instruction Fetch contains branch to this idle loop and it is possible organise application program s pause sending host interrupt to the DSP. To return to the application program s interrupted point we have to set at xxxxx branch instruction with IRP (Interrupt Return Pointer) argument and exit idle loop. The DSP driver is written as a DDI/DDK Loadable Driver for SYSTEM V (Solaris 2) and DSP board presented as a Character Device. The driver controls the DSP board and allows read/write data from/to DSP board memory including DSP internal memory. IOR, SR, VR, DSP-RESET, HPIC, HPIA, and HPID registers of DSP board are accessible from VME bus [1]. SR and VR registers are used for setting interrupt vector and interrupt level for DSP interrupt to Host. Writing into the DSP-RESET register causes the DSP board reset. HPIC, HPIA, and HPID registers are DSP Host Port Interface s registers which are used for to read/write data from/to DSP board memory including DSP internal memory. The driver has two modes of operation for interrupt handling: 1. Driver pauses itself for 6 ms and after this time continues its work. The delay of 6 ms is defined by processing time of the macro pulse of LLRF system. 2. If there are processes requested to be notified on some events, the driver will sent them system signal. This modes are set by system call ioctl(). Description of this call is presented. A user process can use open(), close(), write(), read() and ioctl() system calls for this driver. For easier programming a programmer can use our C++ library. Petrosyan Gevorg Page 3 07/02/2005
4 [1] VME DSP module with 8 GigaLink interfaces. [2] TMS320c6000 CPU and Instruction Set, ch. 8, Texas Instruments Inc. SPRU189E. Petrosyan Gevorg Page 4 07/02/2005
5 DESCRIPTION OF SYSTEM CALLS AND LIBRARY FUNCTION Petrosyan Gevorg Page 5 07/02/2005
6 SYSTEM CALL OPEN int open(char *path, int flags); Opens link-level device named in the path string, e.g. /dev/db67ff0. The flags argument is a bitmap selecting behaviour of the device. The following fields may be specified: O_RDONLY O_WRONLY O_RDWR Opens the board for read access only. Opens the board for write access only. Opens the board for read and write access. Only one of flags must be specified. Returns: and numand or Upon successful completion, the function opens the file return a non-negative integer representing the lowest bered unused file descriptor. Otherwise, -1 is returned errno is set to indicate the error. No files are created modified if the function returns -1. int fd = open ( /dev/db67ff0, O_RDWR); if( fd < 0) perror( open ); else printf( Device db67ff0 opened OK!\n ); Petrosyan Gevorg Page 6 07/02/2005
7 SYSTEM CALL CLOSE int close(int fd); Closes the link-level device so that no further can be performed on it. This frees the device s file descriptor which may be allocated to another device or file when another call to open() is made. Returns: Upon successful completion, 0 is returned. Otherwise, -1 is returned and errno is set to indicate the error. if (close(fd) < 0) perror ( close ); else printf ( Device closed OK!\n ); Petrosyan Gevorg Page 7 07/02/2005
8 SYSTEM CALL READ int read(int fd, char *buf, int nbyte); This function used to read nbyte-4 bytes data from DSP bord via DSP HPI into the given buffer decrypted by pointer buf. Start address of data in DSP memory allocated in first 4 bytes of the buffer e.g. returned data will be placed in the buffer starting at fifth byte. Returns: Upon successful completion, read() return a non-negative integer indicating the number of bytes actually read. Otherwise, the functions return -1 and set errno to indicate the error. Examples: Read 4 bytes at address 0x8000F000 int n,data[2]; data[0] = 0x8000F000; if((n = read (fd, &data[0], 8))!= 8) perror( read ); else printf( %d bytes read from DSP OK!\n, n 4 ); Petrosyan Gevorg Page 8 07/02/2005
9 SYSTEM CALL WRITE Returns: Examples: int write(int fd, char *buf, int nbyte); This function used to write nbyte-4 bytes data from the given buffer decrypted by pointer buf into the DSP board via DSP HPI. Start address of data in DSP memory allocated in first 4 bytes of the buffer. Upon successful completion, write() return a non-negative integer indicating the number of bytes actually read. Otherwise, the functions return -1 and set errno to indicate the error. write 4 bytes at address 0x8000F000 int n,data[2]; data[0] = 0x8000F000; data[1] = 12345; if((n = write (fd, &data[0], 8))!= 8) perror( write ); else printf( %d bytes written into DSP OK!\n, n 4 ); Petrosyan Gevorg Page 9 07/02/2005
10 SYSTEM CALL IOCTL int ioctl(int fd, int request, int arg); This command allows the user to perform miscellaneous function in relation to the module driver specified by the file descriptor fd. The function to be performed is determined by the parameter request. The role of the arg parameter is dependent on which function is to be performed. Valid request functions are: DB67D_RESET Reset DSP board. DB67_INT Send interrupt to DSP. DB67_INT_FREE DB67_NO_INT Puts ban to sent interrupt from DSP to Host. DB67D_INFO Get information about DSP board. Information will be placed into t_board_info type structure which is defined in db67cmd.h. t_board_info board_data1; ioctl(brd,db67d_info,&board_data1); printf(" Board info \n address = %x\n interrupt type = %i\n interrupt vector = %x\n interrupt level = %i\n", board_data1.adr, board_data1.int_type, board_data1.int_vector, board_data1.int_number); DB67_LLRF_INT Set interrupt type for LLRF control. When driver received interrupt then it paused 6 us. Petrosyan Gevorg Page 10 07/02/2005
11 DB67_SIG_INT Set interrupt type for send signal to registered process. The command must be look like this: ioctl (brd, DB67_SIG_INT_DEL, &ioctl_data); ioctl_data is db67_ioctl_data type structure. struct db67_ioctl_data { u_short f_irqnr; int f_sigirq; u_int f_status; }; struct db67_ioctl_data ioctl_data; sigset_t mask; struct sigaction hdl; sigemptyset (&mask); sigaddset (&mask, SIGUSR1); sigprocmask (SIG_SETMASK, &mask, NULL); sigemptyset (&hdl.sa_mask); hdl.sa_flags = 0; hdl.sa_handler = signal_handler; sigaction(sigusr1, &hdl, NULL); sigprocmask (SIG_UNBLOCK, &mask, NULL); ioctl_data.f_irqnr = 0; ioctl_data.f_sigirq = SIGUSR1; ioctl_data.f_status = 0; ioctl (brd, DB67_SIG_INT, &ioctl_data); This command saves information into the driver and when driver receives interrupt from DSP sends SIGNAL described in db67_ioctl_data.f_sigirq to the registered process. DB67_SIG_INT_DEL Clear all interrupt (SIGNAL) requests for process sent this command. ioctl (brd, DB67_SIG_INT_DEL, &ioctl_data); Petrosyan Gevorg Page 11 07/02/2005
12 LIBRARY FUNCTION db67open int db67open(int a); This function adds a as char at end the string /dev/db67ff and calls the system call open() whit this argument. a can be 0,1,2,3 and it depend from conf file of driver. This function returns the value which returned from system call open(). Petrosyan Gevorg Page 12 07/02/2005
13 LIBRARY FUNCTION db67close argument. returned. int db67close(int fd) This function calls the system call close() with fd The returned value from system call close() will be Petrosyan Gevorg Page 13 07/02/2005
14 LIBRARY FUNCTION db67_write_data_int int db67_write_data_int(int fd, int data, int adr) This function used to write integer data type to the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data integer data type which will be written in the DSP memory. adr address of DSP memory where data will be written. Upon successful completion, db67_write_data_int returns 0. Otherwise, error number WR_D_INT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from write() system call. #include db67lib.h int data1; int adr1=0x ; if(db67_write_data_int(fd, data1, adr1)!=0)perror( db67_write_data_int ); Petrosyan Gevorg Page 14 07/02/2005
15 LIBRARY FUNCTION db67_read_data_int int db67_read_data_int(int fd, int adr, int *data) This function used to read integer data type from the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of integer data type where data will be written. adr address of DSP memory from where data will be read. Upon successful completion, db67_read_data_int returns 0. Otherwise, error number RD_D_INT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from read() system call. int data1; int adr1=0x ; if(db67_read_data_int(fd, adr1, &data1)!= 0)perror( db67_read_data_int ); Petrosyan Gevorg Page 15 07/02/2005
16 LIBRARY FUNCTION db67_write_data_float int db67_write_data_float(int fd, float data, int adr) This function used to write float data type to the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data float data type which will be written in the DSP memory. adr address of DSP memory where data will be written. Upon successful completion, db67_write_data_float returns 0. Otherwise, error number WR_D_FLT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from write() system call. float data1; int adr1=0x ; if(db67_write_data_ float(fd, data1, adr1)!=0 )perror( db67_write_data_ float ); Petrosyan Gevorg Page 16 07/02/2005
17 LIBRARY FUNCTION db67_read_data_float int db67_read_data_float(int fd, int adr, float *data) This function used to read float data type from the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of float data type where data will be written. adr address of memory from where data will be read. Upon successful completion, db67_read_data_float returns 0. Otherwise, error number RD_D_FLT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from read() system call. float data1; int adr1=0x ; if(db67_read_data_float(fd, adr1, &data1)!= 0)perror( db67_read_data_float ); Petrosyan Gevorg Page 17 07/02/2005
18 LIBRARY FUNCTION db67_write_table_int adr) int db67_write_table_int(int fd, int *data, int len, int This function used to write integer type data array to the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of integer data type array. len number of data which will be written. adr - start address of the DSP memory space where data array will be written. Upon successful completion, db67_write_data_float returns 0. Otherwise, error numbers defined in db67lib.h will be returned and errno is set to indicate the error from write() or calloc() system calls. Returned value from the function WR_T_INT_ERR CALLOC_ERR System call set errno write() Calloc() int x[100]; int adr1 = 0x80000; if(db67_write_table_int(&x, 100,adr1)!= 0) perror( db67_write_table_int ); Petrosyan Gevorg Page 18 07/02/2005
19 LIBRARY FUNCTION db67_write_table_float adr) int db67_write_table_float(int fd, float *data, int len, int This function used to write float type data array to the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of float type data array. len number of data which will be written. adr - start address of the DSP memory space where data array will be written. Upon successful completion, db67_write_table_float returns 0. Otherwise, error numbers defined in db67lib.h will be returned and errno is set to indicate the error from write() or calloc() system calls. Returned value from the function WR_T_FLT_ERR CALLOC_ERR System call set errno write() Calloc() int x[100]; int adr1 = 0x80000; if(db67_write_table_float(&x, 100,adr1)<0) perror( db67_write_table_float ); Petrosyan Gevorg Page 19 07/02/2005
20 LIBRARY FUNCTION db67_read_table_int adr) int db67_read_table_int(int fd, int *data, int len, int This function used to read integer type data array from the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of integer type data array. len number of data which will be read. adr - start address of the DSP memory space from where data array will be read. Upon successful completion, db67_read_table_int returns 0. Otherwise, error number RD_T_INT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from read() system call. int x[100]; int adr1 = 0x80000; if(db67_read_table_int (brd,&x, 100,adr1)<0) perror( db67_read_table_int ); Petrosyan Gevorg Page 20 07/02/2005
21 LIBRARY FUNCTION db67_read_table-float adr) int db67_read_table_float(int brd, float *d1, int len, int This function used to read float type data array from the DSP board memory. fd DSP board s file descriptor returned by db67open(int a) function. data pointer of float data type array. len number of data which will be read. adr - start address of the DSP memory space from where data array will be read. Upon successful completion, db67_read_table_float returns 0. Otherwise, error number RD_T_FLT_ERR defined in db67lib.h will be returned and errno is set to indicate the error from read() system call. float x[100]; int adr1 = 0x80000; if(db67_read_table_float (fd, &x, 100,adr1)!=0 ) perror( db67_read_table_int ); Petrosyan Gevorg Page 21 07/02/2005
22 LIBRARY FUNCTION db67_prog_load int db67_prog_load(int fd, char file[80]) This function resets DSP board and loads compiled program into the DSP. fd DSP board s file descriptor returned by db67open(int a) function. file path to the executable coff file. Upon successful completion, db67_prog_load returns 0. Otherwise, error numbers defined in db67lib.h will be returned and errno is set to indicate the error from write(),open() or calloc() system calls. Returned value from the function WR_SYS_ERR CALLOC_ERR NO_FILE System call set errno write() Calloc() Open() if(db67_prog_load (fd, linac.out )!=0 ) perror( db67_prog_load ); Petrosyan Gevorg Page 22 07/02/2005
23 LIBRARY FUNCTION db67_pause int db67_pause( int fd ) This function paused program in DSP. Upon successful completion, db67_pause returns 0. Otherwise, error number defined in db67lib.h will be returned and errno is set to indicate the error from write(),read() or ioctl() system calls. Returned value from the function WR_T_INT_ERR RD_T_INT_ERR WR_D_INT_ERR IOCTL_ERR System call set errno write() read() write() ioctl() if(db67_pause ( fd )!=0 ) perror( db67_pause ); Petrosyan Gevorg Page 23 07/02/2005
24 LIBRARY FUNCTION db67_run int db67_run(int fd) If a program in DSP was paused the program runs from the paused point. If DSP board was reset then the DSP runs the instructions at address 0x200. Before calling this function one of functions db67_reset, db67_pause, db67_prog_load mast be called, otherwise the error PR_NO_STOP will be returned. Upon successful completion, db67_pause returns 0. Otherwise, error numbers defined in db67lib.h will be returned and errno is set to indicate the error from write() system call. Returned value from the function WR_T_INT_ERR PR_NO_STOP System call set errno write() if(db67_run ( fd )!=0 ) perror( db67_run ); Petrosyan Gevorg Page 24 07/02/2005
25 LIBRARY FUNCTION db67_reset int db67_reset(int fd ) This function reset DSP board. Upon successful completion, db67_pause returns 0. Otherwise, error number IOCTL_ERR defined in db67lib.h will be returned and errno is set to indicate the error from ioctl() system call. if(db67_reset ( fd )!=0 ) perror( db67_reset ); ******************************************************************** Petrosyan Gevorg Page 25 07/02/2005
CSE 333 SECTION 3. POSIX I/O Functions
CSE 333 SECTION 3 POSIX I/O Functions Administrivia Questions (?) HW1 Due Tonight Exercise 7 due Monday (out later today) POSIX Portable Operating System Interface Family of standards specified by the
More informationSection 3: File I/O, JSON, Generics. Meghan Cowan
Section 3: File I/O, JSON, Generics Meghan Cowan POSIX Family of standards specified by the IEEE Maintains compatibility across variants of Unix-like OS Defines API and standards for basic I/O: file, terminal
More informationProcesses often need to communicate. CSCB09: Software Tools and Systems Programming. Solution: Pipes. Recall: I/O mechanisms in C
2017-03-06 Processes often need to communicate CSCB09: Software Tools and Systems Programming E.g. consider a shell pipeline: ps wc l ps needs to send its output to wc E.g. the different worker processes
More informationGoals of this Lecture
I/O Management 1 Goals of this Lecture Help you to learn about: The Unix stream concept Standard C I/O functions Unix system-level functions for I/O How the standard C I/O functions use the Unix system-level
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto For more information please consult Advanced Programming in the UNIX Environment, 3rd Edition, W. Richard Stevens and
More informationI/O Management! Goals of this Lecture!
I/O Management! 1 Goals of this Lecture! Help you to learn about:" The Unix stream concept" Standard C I/O functions" Unix system-level functions for I/O" How the standard C I/O functions use the Unix
More informationI/O Management! Goals of this Lecture!
I/O Management! 1 Goals of this Lecture! Help you to learn about:" The Unix stream concept" Standard C I/O functions" Unix system-level functions for I/O" How the standard C I/O functions use the Unix
More informationCSE 333 SECTION 3. POSIX I/O Functions
CSE 333 SECTION 3 POSIX I/O Functions Administrivia Questions (?) HW1 Due Tonight HW2 Due Thursday, July 19 th Midterm on Monday, July 23 th 10:50-11:50 in TBD (And regular exercises in between) POSIX
More informationUNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING SOFTWARE ENGINEERING DEPARTMENT
OPERATING SYSTEM LAB #06 & 07 System Calls In UNIX System Call: A system call is just what its name implies a request for the operating system to do something on behalf of the user s program. Process related
More informationProcess Creation in UNIX
Process Creation in UNIX int fork() create a child process identical to parent Child process has a copy of the address space of the parent process On success: Both parent and child continue execution at
More informationUNIX System Calls. Sys Calls versus Library Func
UNIX System Calls Entry points to the kernel Provide services to the processes One feature that cannot be changed Definitions are in C For most system calls a function with the same name exists in the
More informationOutline. OS Interface to Devices. System Input/Output. CSCI 4061 Introduction to Operating Systems. System I/O and Files. Instructor: Abhishek Chandra
Outline CSCI 6 Introduction to Operating Systems System I/O and Files File I/O operations File Descriptors and redirection Pipes and FIFOs Instructor: Abhishek Chandra 2 System Input/Output Hardware devices:
More informationSocket programming in C
Socket programming in C Sven Gestegård Robertz September 2017 Abstract A socket is an endpoint of a communication channel or connection, and can be either local or over the network.
More informationOperating Systems. Lecture 06. System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line
Operating Systems Lecture 06 System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line March 04, 2013 exec() Typically the exec system call is
More informationOperating systems. Lecture 7
Operating systems. Lecture 7 Michał Goliński 2018-11-13 Introduction Recall Plan for today History of C/C++ Compiler on the command line Automating builds with make CPU protection rings system calls pointers
More informationUNIX System Programming
File I/O 경희대학교컴퓨터공학과 조진성 UNIX System Programming File in UNIX n Unified interface for all I/Os in UNIX ü Regular(normal) files in file system ü Special files for devices terminal, keyboard, mouse, tape,
More informationCS240: Programming in C
CS240: Programming in C Lecture 15: Unix interface: low-level interface Cristina Nita-Rotaru Lecture 15/Fall 2013 1 Streams Recap Higher-level interface, layered on top of the primitive file descriptor
More informationOperating System Labs. Yuanbin Wu
Operating System Labs Yuanbin Wu cs@ecnu Annoucement Next Monday (28 Sept): We will have a lecture @ 4-302, 15:00-16:30 DON'T GO TO THE LABORATORY BUILDING! TA email update: ecnucchuang@163.com ecnucchuang@126.com
More informationWhat Is Operating System? Operating Systems, System Calls, and Buffered I/O. Academic Computers in 1983 and Operating System
What Is Operating System? Operating Systems, System Calls, and Buffered I/O emacs gcc Browser DVD Player Operating System CS 217 1 Abstraction of hardware Virtualization Protection and security 2 Academic
More informationCSci 4061 Introduction to Operating Systems. (Advanced Control Signals)
CSci 4061 Introduction to Operating Systems (Advanced Control Signals) What is a Signal? Signals are a form of asynchronous IPC Earlier: Non-blocking I/O and check if it has happened => polling Problem
More informationFile I/0. Advanced Programming in the UNIX Environment
File I/0 Advanced Programming in the UNIX Environment File Descriptors Created and managed by the UNIX kernel. Created using open or creat system call. Used to refer to an open file UNIX System shells
More informationProcess Management! Goals of this Lecture!
Process Management! 1 Goals of this Lecture! Help you learn about:" Creating new processes" Programmatically redirecting stdin, stdout, and stderr" Unix system-level functions for I/O" The Unix stream
More informationScuola Superiore Sant Anna. I/O subsystem. Giuseppe Lipari
Scuola Superiore Sant Anna I/O subsystem Giuseppe Lipari Input Output and Device Drivers ERI Gennaio 2008 2 Objectives of the I/O subsystem To hide the complexity From the variability of the devices Provide
More informationTIP675-SW-82. Linux Device Driver. 48 TTL I/O Lines with Interrupts Version 1.2.x. User Manual. Issue November 2013
The Embedded I/O Company TIP675-SW-82 Linux Device Driver 48 TTL I/O Lines with Interrupts Version 1.2.x User Manual Issue 1.2.5 November 2013 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek, Germany
More informationCMPS 105 Systems Programming. Prof. Darrell Long E2.371
+ CMPS 105 Systems Programming Prof. Darrell Long E2.371 darrell@ucsc.edu + Chapter 3: File I/O 2 + File I/O 3 n What attributes do files need? n Data storage n Byte stream n Named n Non-volatile n Shared
More informationThe Embedded I/O Company TIP700-SW-82 Linux Device Driver User Manual TEWS TECHNOLOGIES GmbH TEWS TECHNOLOGIES LLC
The Embedded I/O Company TIP700-SW-82 Linux Device Driver Digital Output 24V DC Version 1.2.x User Manual Issue 1.2.1 February 2009 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 Phone: +49 (0) 4101 4058 0 25469
More informationFiles. Eric McCreath
Files Eric McCreath 2 What is a file? Information used by a computer system may be stored on a variety of storage mediums (magnetic disks, magnetic tapes, optical disks, flash disks etc). However, as a
More informationSignals. CSC209: Software Tools and Systems Programming. Furkan Alaca & Paul Vrbik
Signals CSC209: Software Tools and Systems Programming Furkan Alaca & Paul Vrbik University of Toronto Mississauga https://mcs.utm.utoronto.ca/~209/ Week 9 Acknowledgement These slides are built upon material
More informationCSE 410: Systems Programming
CSE 410: Systems Programming Input and Output Ethan Blanton Department of Computer Science and Engineering University at Buffalo I/O Kernel Services We have seen some text I/O using the C Standard Library.
More informationWeek 13. Final exam review
Week 13. Final exam review 1. True or false? A. I claim that linked lists have the following advantages over the arrays: They allow insertion in the middle in a constant time They allow access to the element
More informationCARRIER-SW-82. Linux Device Driver. IPAC Carrier Version 2.2.x. User Manual. Issue November 2017
The Embedded I/O Company CARRIER-SW-82 Linux Device Driver IPAC Carrier Version 2.2.x User Manual Issue 2.2.0 November 2017 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek, Germany Phone: +49 (0)
More informationInput and Output System Calls
Chapter 2 Input and Output System Calls Internal UNIX System Calls & Libraries Using C --- 1011 OBJECTIVES Upon completion of this unit, you will be able to: Describe the characteristics of a file Open
More informationPreview. The pause() System Call. The pause() System Call. The signal() System Call 10/18/2017
Preview The pause() System Call The pause() System call The signal() system call Signal set The sigprocmask() system call The sigaction() system call The sigsuspend() system call The abort() system call
More informationHyo-bong Son Computer Systems Laboratory Sungkyunkwan University
File I/O Hyo-bong Son (proshb@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Unix Files A Unix file is a sequence of m bytes: B 0, B 1,..., B k,..., B m-1 All I/O
More informationCommunication. Serial port programming
Applied mechatronics Communication. Serial port programming Sven Gestegård Robertz sven.robertz@cs.lth.se Department of Computer Science, Lund University 2017 Outline 1 Introduction 2 Terminal I/O programming
More informationTPMC901-SW-95. QNX4 - Neutrino Device Driver. User Manual. The Embedded I/O Company. 6/4/2 Channel Extended CAN-Bus PMC
The Embedded I/O Company TPMC901-SW-95 QNX4 - Neutrino Device Driver 6/4/2 Channel Extended CAN-Bus PMC User Manual Issue 1.0 Version 1.0.0 October 2002 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek
More informationRecitation 8: Tshlab + VM
Recitation 8: Tshlab + VM Instructor: TAs 1 Outline Labs Signals IO Virtual Memory 2 TshLab and MallocLab TshLab due Tuesday MallocLab is released immediately after Start early Do the checkpoint first,
More informationCOM324 System Programming. Midterm Exam
Name: COM324 System Programming Spring 2009-2010 Computer Engineering Department Near East University Midterm Exam April 28, 2010 [11:30A] Lecturer: Hüseyin Sevay INSTRUCTIONS You have 100 minutes for
More informationSystem calls. Reading from a file. Closing a file
System calls The C language and C compiler has no knowledge about system calls. They are just function calls to precompiled functions. Example: fd = open( test.c, O_RDONLY); This will open the file test.c
More informationCOSC Operating Systems Design, Fall Lecture Note: Unnamed Pipe and Shared Memory. Unnamed Pipes
COSC4740-01 Operating Systems Design, Fall 2001 Lecture Note: Unnamed Pipe and Shared Memory Unnamed Pipes Pipes are a form of Inter-Process Communication (IPC) implemented on Unix and Linux variants.
More informationI/O OPERATIONS. UNIX Programming 2014 Fall by Euiseong Seo
I/O OPERATIONS UNIX Programming 2014 Fall by Euiseong Seo Files Files that contain a stream of bytes are called regular files Regular files can be any of followings ASCII text Data Executable code Shell
More informationWindows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C.
Structure Unix architecture users Functions of the System tools (shell, editors, compilers, ) standard library System call Standard library (printf, fork, ) OS kernel: processes, memory management, file
More informationTIP120-SW-42. VxWorks Device Driver. Motion Controller with Incremental Encoder Interface. Version 2.1.x. User Manual. Issue 2.1.
The Embedded I/O Company TIP120-SW-42 VxWorks Device Driver Motion Controller with Incremental Encoder Interface Version 2.1.x User Manual Issue 2.1.0 May 2010 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469
More informationOS COMPONENTS OVERVIEW OF UNIX FILE I/O. CS124 Operating Systems Fall , Lecture 2
OS COMPONENTS OVERVIEW OF UNIX FILE I/O CS124 Operating Systems Fall 2017-2018, Lecture 2 2 Operating System Components (1) Common components of operating systems: Users: Want to solve problems by using
More informationTPMC500-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. 32 Channel 12 Bit ADC. Version 2.0.x. Issue 2.0.
The Embedded I/O Company TPMC500-SW-42 VxWorks Device Driver 32 Channel 12 Bit ADC Version 2.0.x User Manual Issue 2.0.0 October 2004 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 e-mail: info@tews.com 25469 Halstenbek
More informationTDRV006-SW-42. VxWorks Device Driver. 64 Digital Inputs/Outputs (Bit I/O) Version 4.0.x. User Manual. Issue December 2017
The Embedded I/O Company TDRV006-SW-42 VxWorks Device Driver 64 Digital Inputs/Outputs (Bit I/O) Version 4.0.x User Manual Issue 4.0.0 December 2017 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek,
More informationIntroduction to File Systems. CSE 120 Winter 2001
Introduction to File Systems CSE 120 Winter 2001 Files Files are an abstraction of memory that are stable and sharable. Typically implemented in three different layers of abstraction 3 I/O system: interrupt
More informationECEN 449 Microprocessor System Design. Review of C Programming. Texas A&M University
ECEN 449 Microprocessor System Design Review of C Programming 1 Objectives of this Lecture Unit Review C programming basics Refresh programming skills 2 Basic C program structure # include main()
More informationI/O OPERATIONS. UNIX Programming 2014 Fall by Euiseong Seo
I/O OPERATIONS UNIX Programming 2014 Fall by Euiseong Seo Files Files that contain a stream of bytes are called regular files Regular files can be any of followings ASCII text Data Executable code Shell
More informationPreview. System Call. System Call. System Call. System Call. Library Functions 9/20/2018. System Call
Preview File Descriptors for a Process for Managing Files write read open close lseek A system call is a request for the operating system to do something on behalf of the user's program. The system calls
More informationLecture 21 Systems Programming in C
Lecture 21 Systems Programming in C A C program can invoke UNIX system calls directly. A system call can be defined as a request to the operating system to do something on behalf of the program. During
More information10. I/O System Library
10. I/O System Library Header File #include // Found in C:\Nburn\include General File Descriptor Functions close --- Close open file descriptors read --- Read data from a file descriptor ReadWithTimeout
More informationFile Descriptors and Piping
File Descriptors and Piping CSC209: Software Tools and Systems Programming Furkan Alaca & Paul Vrbik University of Toronto Mississauga https://mcs.utm.utoronto.ca/~209/ Week 8 Today s topics File Descriptors
More informationThe course that gives CMU its Zip! I/O Nov 15, 2001
15-213 The course that gives CMU its Zip! I/O Nov 15, 2001 Topics Files Unix I/O Standard I/O A typical hardware system CPU chip register file ALU system bus memory bus bus interface I/O bridge main memory
More informationCMSC 216 Introduction to Computer Systems Lecture 17 Process Control and System-Level I/O
CMSC 216 Introduction to Computer Systems Lecture 17 Process Control and System-Level I/O Sections 8.2-8.5, Bryant and O'Hallaron PROCESS CONTROL (CONT.) CMSC 216 - Wood, Sussman, Herman, Plane 2 Signals
More informationCSE 333 Section 8 - Client-Side Networking
CSE 333 Section 8 - Client-Side Networking Welcome back to section! We re glad that you re here :) Networking Quick Review What are the following protocols used for? (bonus: what layer of the networking
More informationLecture files in /home/hwang/cs375/lecture05 on csserver.
Lecture 5 Lecture files in /home/hwang/cs375/lecture05 on csserver. cp -r /home/hwang/cs375/lecture05. scp -r user@csserver.evansville.edu:/home/hwang/cs375/lecture05. Project 1 posted, due next Thursday
More informationICS-121. VxWORKS DEVICE DRIVER MANUAL
ICS-121 VxWORKS DEVICE DRIVER MANUAL Interactive Circuits And Systems Ltd. February 1999 The information in this manual has been carefully checked and is believed to be reliable; however, no responsibility
More informationName :. Roll No. :... Invigilator s Signature : INTRODUCTION TO PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70
Name :. Roll No. :..... Invigilator s Signature :.. 2011 INTRODUCTION TO PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give
More informationECEN 449 Microprocessor System Design. Review of C Programming
ECEN 449 Microprocessor System Design Review of C Programming 1 Objectives of this Lecture Unit Review C programming basics Refresh es programming g skills s 2 1 Basic C program structure # include
More informationSOFTWARE ARCHITECTURE 3. SHELL
1 SOFTWARE ARCHITECTURE 3. SHELL Tatsuya Hagino hagino@sfc.keio.ac.jp slides URL https://vu5.sfc.keio.ac.jp/sa/login.php 2 Software Layer Application Shell Library MIddleware Shell Operating System Hardware
More informationAsynchronous Events on Linux
Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy
More informationRecitation Processes, Signals,UNIX error handling
15-213 Recitation Processes, Signals,UNIX error handling Section X - TA name 18 March 2019 Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition 1 Outline Logistics Process
More informationSystems Programming. COSC Software Tools. Systems Programming. High-Level vs. Low-Level. High-Level vs. Low-Level.
Systems Programming COSC 2031 - Software Tools Systems Programming (K+R Ch. 7, G+A Ch. 12) The interfaces we use to work with the operating system In this case: Unix Programming at a lower-level Systems
More informationFirst Semester Examination Introduction to Computer Systems (COMP2300/COMP6300)
First Semester Examination 2011 Introduction to Computer Systems (COMP2300/COMP6300) Writing Period: 3 hour duration Study Period: 15 minutes duration Permitted Materials: One A4 page with notes on both
More informationLecture 3. Introduction to Unix Systems Programming: Unix File I/O System Calls
Lecture 3 Introduction to Unix Systems Programming: Unix File I/O System Calls 1 Unix File I/O 2 Unix System Calls System calls are low level functions the operating system makes available to applications
More informationSystem Calls and Signals: Communication with the OS. System Call. strace./hello. Kernel. Context Switch
System Calls and Signals: Communication with the OS Jonathan Misurda jmisurda@cs.pitt.edu System Call An operation (function) that an OS provides for running applications to use CS 1550 2077 strace./hello
More informationTIP670-SW-95. QNX-Neutrino Device Driver. User Manual. The Embedded I/O Company. Digital I/O. Version 1.0.x. Issue August 2008.
The Embedded I/O Company TIP670-SW-95 QNX-Neutrino Device Driver Digital I/O Version 1.0.x User Manual Issue 1.0.0 August 2008 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 Phone: +49 (0) 4101 4058 0 25469 Halstenbek,
More informationTIP570-SW-95 QNX-Neutrino Device Driver TIP570 16/8 Channel 12 Bit ADC and 8 Channel 12 Bit DAC on SBS PCI40 Carrier
TIP570-SW-95 QNX-Neutrino Device Driver TIP570 16/8 Channel 12 Bit ADC and 8 Channel 12 Bit DAC on SBS PCI40 Carrier Version 1.0.x Reference Manual Issue 1.0 January 2002 TEWS TECHNOLOGIES GmbH Am Bahnhof
More informationAdvcan QNX Driver User Manual V1.02
Advcan QNX Driver User Manual V1.02 Contents 1. Introduction...1 1.1. System Requirement...1 1.2. Driver configuration...1 2. AdvCan Data Structures...2 2.1. Canmsg_t Struct Reference...2 2.2. CanStatusPar
More informationCSC209H Lecture 6. Dan Zingaro. February 11, 2015
CSC209H Lecture 6 Dan Zingaro February 11, 2015 Zombie Children (Kerrisk 26.2) As with every other process, a child process terminates with an exit status This exit status is often of interest to the parent
More informationTMS320C3X Floating Point DSP
TMS320C3X Floating Point DSP Microcontrollers & Microprocessors Undergraduate Course Isfahan University of Technology Oct 2010 By : Mohammad 1 DSP DSP : Digital Signal Processor Why A DSP? Example Voice
More informationCS240: Programming in C
CS240: Programming in C Lecture 17: Processes, Pipes, and Signals Cristina Nita-Rotaru Lecture 17/ Fall 2013 1 Processes in UNIX UNIX identifies processes via a unique Process ID Each process also knows
More informationEL2310 Scientific Programming
Lecture 11: Memory, Files and Bitoperations (yaseminb@kth.se) Overview Overview Lecture 11: Memory, Files and Bit operations Main function; reading and writing Bitwise Operations Lecture 11: Memory, Files
More informationCSE 333 Midterm Exam 2/12/16. Name UW ID#
Name UW ID# There are 6 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes,
More informationA brief introduction to C programming for Java programmers
A brief introduction to C programming for Java programmers Sven Gestegård Robertz September 2017 There are many similarities between Java and C. The syntax in Java is basically
More informationCSC209H Lecture 8. Dan Zingaro. March 4, 2015
CSC209H Lecture 8 Dan Zingaro March 4, 2015 Signals you Already Know Like pipes, signals are a form of inter-process communication You ve already sent signals using the shell When you hit ctrl+c to terminate
More informationTIP114-SW-72. LynxOS Device Driver. User Manual. The Embedded I/O Company. 10 Channel Absolute Encoder Interface (SSI) Version 1.0.
The Embedded I/O Company TIP114-SW-72 LynxOS Device Driver 10 Channel Absolute Encoder Interface (SSI) Version 1.0.0 User Manual Issue 1.0 February 2004 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek
More informationPreview. Process Control. What is process? Process identifier The fork() System Call File Sharing Race Condition. COSC350 System Software, Fall
Preview Process Control What is process? Process identifier The fork() System Call File Sharing Race Condition COSC350 System Software, Fall 2015 1 Von Neumann Computer Architecture: An integrated set
More informationLarge Systems: Design + Implementation: Communication Coordination Replication. Image (c) Facebook
Large Systems: Design + Implementation: Image (c) Facebook Communication Coordination Replication Credits Slides largely based on Distributed Systems, 3rd Edition Maarten van Steen Andrew S. Tanenbaum
More informationCSCE 313 Introduction to Computer Systems. Instructor: Dezhen Song
CSCE 313 Introduction to Computer Systems Instructor: Dezhen Song UNIX I/O Files and File Representation Basic operations: Reading / Writing Caching: File Open / Close Multiplexing: Select / Poll File
More informationOPTO32A 24 Input Bit, 8 Output Bit Optical Isolator Board
OPTO32A 24 Input Bit, 8 Output Bit Optical Isolator Board PMC-OPTO32A Linux Device Driver User Manual Manual Revision: July 15, 2005 General Standards Corporation 8302A Whitesburg Drive Huntsville, AL
More informationOperating System Labs. Yuanbin Wu
Operating System Labs Yuanbin Wu cs@ecnu Announcement Project 1 due 21:00, Oct. 8 Operating System Labs Introduction of I/O operations Project 1 Sorting Operating System Labs Manipulate I/O System call
More informationCS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco
CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level
More informationCS360 Midterm 2 Spring, 2016 James S. Plank March 10, 2016
CS360 Midterm 2 Spring, 2016 James S. Plank March 10, 2016 In all of these questions, please assume the following: Pointers and longs are 4 bytes. The machine is little endian, but that doesn't matter
More informationComputer Programming Lecture 1 이윤진서울대학교
Computer Programming Lecture 1 이윤진서울대학교 2007.12.20. Slide Credits 엄현상교수님 서울대학교컴퓨터공학부 Computer Programming, g, 2007 봄학기 순서 강의소개 강의목표 강의개요 수업진행방법및평가 UNIX/LINUX 기초 주요기능 주요기능 파일시스템 강의목표 Unix/Linux 중심의프로그래밍
More informationOPERATING SYSTEMS: Lesson 2: Operating System Services
OPERATING SYSTEMS: Lesson 2: Operating System Services Jesús Carretero Pérez David Expósito Singh José Daniel García Sánchez Francisco Javier García Blas Florin Isaila 1 Goals To understand what an operating
More informationBootloading the TMS320VC5402 in HPI Mode
Application Report SPRA382 April 2002 Bootloading the TMS320VC5402 in HPI Mode Scott Tater DSP Applications Semiconductor Group ABSTRACT The TMS320VC5402 bootloader allows the system designer flexibility
More informationProgramming refresher and intro to C programming
Applied mechatronics Programming refresher and intro to C programming Sven Gestegård Robertz sven.robertz@cs.lth.se Department of Computer Science, Lund University 2018 Outline 1 C programming intro 2
More informationCSC 271 Software I: Utilities and Internals
CSC 271 Software I: Utilities and Internals Lecture 13 : An Introduction to File I/O in Linux File Descriptors All system calls for I/O operations refer to open files using a file descriptor (a nonnegative
More informationTIP700-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. Digital Output 24V DC. Version 2.0.x. Issue June 2008.
The Embedded I/O Company TIP700-SW-42 VxWorks Device Driver Digital Output 24V DC Version 2.0.x User Manual Issue 2.0.1 June 2008 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 Phone: +49 (0) 4101 4058 0 25469 Halstenbek,
More informationCSC209 Review. Yeah! We made it!
CSC209 Review Yeah! We made it! 1 CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files 2 ... and C programming... C basic syntax functions
More informationPower Hawk Series 700 Closely-Coupled Programming Guide
Power Hawk Series 700 Closely-Coupled Programming Guide 0891087-000 June 2001 Copyright 2001 by Concurrent Computer Corporation. All rights reserved. This publication or any part thereof is intended for
More informationW4118: OS Overview. Junfeng Yang
W4118: OS Overview Junfeng Yang References: Modern Operating Systems (3 rd edition), Operating Systems Concepts (8 th edition), previous W4118, and OS at MIT, Stanford, and UWisc Outline OS definitions
More informationCS 201. Files and I/O. Gerson Robboy Portland State University
CS 201 Files and I/O Gerson Robboy Portland State University A Typical Hardware System CPU chip register file ALU system bus memory bus bus interface I/O bridge main memory USB controller graphics adapter
More informationChapter 10. The UNIX System Interface
프로그래밍 1 1 Chapter 10. The UNIX System Interface June, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 파일의개념 (1/5) 2 파일의정의 사용자가이용할수있는데이터의실체레코드들의집합이라고정의 파일의필요성 데이터의효율적인저장및검색을위해파일단위구분
More informationOutline. Overview. Linux-specific, since kernel 2.6.0
Outline 25 Alternative I/O Models 25-1 25.1 Overview 25-3 25.2 Signal-driven I/O 25-9 25.3 I/O multiplexing: poll() 25-12 25.4 Problems with poll() and select() 25-29 25.5 The epoll API 25-32 25.6 epoll
More informationSYSTEM CALL IMPLEMENTATION. CS124 Operating Systems Fall , Lecture 14
SYSTEM CALL IMPLEMENTATION CS124 Operating Systems Fall 2017-2018, Lecture 14 2 User Processes and System Calls Previously stated that user applications interact with the kernel via system calls Typically
More informationRecitation 8 Processes, Signals, Tshlab
15-213 Recitation 8 Processes, Signals, Tshlab 22 October 2018 1 Outline Cachelab Style Process Lifecycle Signal Handling 2 Cachelab Style Grading Style grades will be available "soon" Click on your score
More informationOverview. Administrative. * HW 1 grades. * HW 2 Due. Topics. * 5.1 What is a Signal? * Dealing with Signals - masks, handlers
Overview Administrative * HW 1 grades * HW 2 Due Topics * 5.1 What is a Signal? * 5.2-3 Dealing with Signals - masks, handlers * 5.4 Synchronization: pause(), sigsuspend() * 5.6 Interaction with other
More information