Embedded Systems December 2000 Vol13_13

Issue link:

Contents of this Issue


Page 125 of 197

on low-performance microcontroUers with very limited memory. Since no copying occurs between local and global tables, the remainde r of the dis- cu sion in th is section focuses on the mechan ism suitable for preemptive sys tems; the mechanism is not required for the non-preemptive case. Support for SVAR communication is built into the framework, such that updates of the local and global tables occur at predetermined times only, as was shown by the ovals in Figu re 6. Configuration constants are updated only during initialization of the PBO. The state variables corresponding to input ports (called INVARS) are updat- ed prior to executing each cycle of a periodic PBO, or before processing each even t for an aperiodic PBO. During its cycle, a PBO may update the state variables corresponding to output ports (cal led OUTVARS) at any time. These value are only updated in the global table after the PBO com- pletes its processing for that cycle or event. AJI transfers between the local and global tables are block transfe rs (that is, using a routine like UNIX's memcpyO) . Ensuring the in tegri ty of the data is a matter of ensuring that the block transfers are performed as C1-itical sections_ One of th e keys to suppo rting Build your networking application around the high-performance Rabbit 2000™ microprocessor. Full TCP/IP source code is provided. No run time royalties. The industry-proven Dynamic C® software system simplifies development efforts and costs. RABBIT 2000711 FlA1VIII5: • Glueless interfacing • 1 megabyte of code space • 4 serial ports, 40 parallel 110 • 7 timers, battery backed time/date clock TCPJlP CAPABILITY: • Transfer data via the Internet • Transfe r f iles between net - work nodes (FTP) • Control remote systems using a web browser via HTTP • Support provided for TFTp, CGI, 551 protocols • Send e-mail (SMTP) D ..... p ••• lOt Includes: TCP/IP development board (with Rabbit 2000 micro- processor, flash, SRAM. Ethernet hardware. 8 digital 1/0). complete Dynamic C® software develop- ment system with TCP/IP on CD ROM (not a trial version i). power supply and PC serial cable for real- time debugging. RABBI ~ For more information or to order. visit 2932 Spafford Street. Davis. CA 95616 • Tel 530.757.8400 • Fax 530.757.8402 124 DECEM8ER 2000 Embedded Systems Programming dynamic reconfiguration of software components is correctly ini tializing the port variables. As shown in Figure 6, before calling the on method, it is necessary to read the OUTVARS in addi- tion to the INVARS. This ensure that when a process is activated, its view of the environment is correct. The need arises because if the process is not yet executing, it is pos ible that some other process is generating those OUT- VARS. In general, a process that out- puts OUTVARS knows the same values on the subsequent cycle because they are in the local table . Howeve r, in a process's first cycle, th is is not th e case. Ultimately, rectifying the situation is a simple matter of also reading the OUT- VARS during activa tion, thus updating th e local table to properly refl ect the state of the system. The on method of the process is then called, such that if necessary, these OUTVARS can be updat- ed, before the process enters the on state. AJthough there is no explicit (that is, appa ren t to the user ) syn- ch ro nization or . communica tio n among processes, it is sti ll necessary to ensure that accesses to the same SVAR in the global table a re mutually exclusive. The locking mechanism allows the autonomous executio n model of the PBO to be maintained, while ensuring the in tegrity of the communication.

Articles in this issue

Archives of this issue

view archives of EETimes - Embedded Systems December 2000 Vol13_13