HARDWARE/SOFTWARE INTEGRATED TRAINING ON ... - CiteSeerX

3 downloads 13387 Views 2MB Size Report
With the development of computers, microelectronics and network ... course “hardware/software integrated design of embedded systems” has been given since.
International Journal of Innovative Computing, Information and Control Volume 2, Number 2, April 2006

c ICIC International °2006 ISSN 1349-4198 pp. 457—464

HARDWARE/SOFTWARE INTEGRATED TRAINING ON EMBEDDED SYSTEMS Chundi Mu, Sen Liu and Jianping Chen Department of Automation Tsinghua University Beijing 100084, China [email protected]

Received October 2004; revised March 2005 Abstract. Embedded System Education has become an important part of information disciplines’ teaching programs, and attracted educators’ attention in China. To counter the deficiency of practice training in some graduates’ courses a new curriculum “Hardware/Software integrated design of embedded systems” is given at Tsinghua University. The course’s main contents, teaching activities’ arrangements, basic/research experiments, and a few kinds of embedded teaching experimental platforms are introduced. The merits and differences between the course and existing courses are indicated, and the necessity to build a powerful experimental environment for graduates to get practice skill is stressed. Keywords: Embedded system, Hardware/Software, Integrated design, Experimental platform

1. Introduction. With the development of computers, microelectronics and network technologies embedded systems and applications are becoming increasingly wider in almost all fields, and produce an inestimable impact on academics, industry, and daily life. Embedded systems involve computers, electronics, automation, network communications etc. multi-disciplines. Much knowledge and technologies, such as integrated circuits, microprocessor, operating system, compile principle, software engineering etc. are integrated together in embedded systems. And another main characteristic is that its hardware and software are bonded closely, so it is a good example to train hardware/software synthesis abilities for graduates [1]. However in some information engineering courses the practical training environments are deficient currently. The students can only program on the PC, have not enough conditions to touch hardware and low level software, so they don’t know how to implement an algorithm or a function on a real product. This situation leads to a few graduates confronted with difficulties in looking for jobs. In order to change this situation a new course “hardware/software integrated design of embedded systems” has been given since 2003 at Tsinghua University in China, and a few embedded system experimental platforms were developed for the teaching. The course was ranked as “Tsinghua University Top Quality Course Plan”, and got great support from the university. The course’s orientation and objective, teaching content, basic/research experiments are introduced, in particular, the teaching platforms, some application examples made by 457

458

C. D. MU, S. LIU AND J. P. CHEN

students using these platforms, as well as the differences between the course and existing courses and its outstanding characteristics are indicated in the paper. The teaching experience shows the embedded system experimental platforms play an active role for training graduates’ practical abilities. The course promotes the changes of the teaching and learning styles, accelerates the combination of research and teaching. Due to the newest technologies being introduced to the teaching in time, so the course is welcomed by students and is brimming with vigor. Now Embedded systems curricula have attracted educators’ attention in computer, control and relative information engineering disciplines, and speed up the multi-disciplines’ fusion and innovation [15-17]. 2. Embedded System Experimental Platforms. Several kinds of typical embedded experimental platforms were developed for the teaching. Using these platforms graduates can get integrated training in both hardware and software. The platform’s architecture is as Figure 1. It is seen that a few of the key technologies of embedded system are involved in the platform. The students learn to choose microprocessors, memories, peripherals etc. to built an embedded system, learn to design the schematic and PCB, learn operating system Linux and uCLinux, customize the OS kernel, cross compile, link, debug, download, write drivers and application programs, etc. [3]. Based on the platforms students can also do other experimental research, quick implement such as PDA, Ebook, and various electrical products’ prototype design.

Figure 1. Platform’s architecture

HARDWARE/SOFTWARE INTEGRATED TRAINING ON EMBEDDED SYSTEMS

459

2.1. The platforms’ hardware configurations. Three kinds of teaching platforms are provided up till now. They are as shown in Figure 2, (a), (b), (c).

(a) DragonBall VZ platform

(b) ColdFire platform

(c) ARM9 platform Figure 2. Experimental platforms

1. DragonBallVZ platform The MC68VZ328 microprocessor is chosen as CPU, which is 32bits, 33MHz Motorola’s product [9]. The other main hardware includes 8M EDO DRAM, 4M Flash, 320×240 monochrome STN LCD with touch panel, 9 input buttons, 1 RS232 interface, 1 Ethernet interface, 1 IRDA, 1 USB, some LED and some ports left to extend, such as PS/2, CF interfaces, etc. 2. ColdFire platform The MCF5307 is the first standard product to implement the Version 3 ColdFire microprocessor core,with 8-Kbyte unified cache, 4-Kbyte on-chip SRAM, system debug interface, DRAM Controller for synchronous/asynchronous, and system integration module(SIM), etc. It can achieve 90MHz, 75MIPS, is suitable as embedded control applications. 3. ARM9 platform

460

C. D. MU, S. LIU AND J. P. CHEN

ARM core is of high performance, low consume, low cost and based on RISC technology. It provides powerful support for applications, and is used widely in mobile phones, PDA, STB (Set- Top- Box), intelligent cards, etc. The S3C2410 (ARM920T) microprocessor is as CPU, which can achieve 203MHz, 220MIPS. A lot of function models are integrated inside, such as MMU, LCD controller, USB, touch panel, SD/MMC interfaces, 64M PC133 SDRAM, 64M NAND Flash, TFT LCD, UDA1341 decode chip, etc. 2.2. The embedded OS and software development environment. The uCLinux (for no MMU microprocessors) is adopted by the platform, the kernel can be customized. The Linux has powerful network functions, supports multi-protocols. It supports rich peripherals, such as LCD, touch panel, serials, modem, IrDA, PWM audio output, etc. The software development environment uses GNU tool set, including GCC cross compiler, GDB debug and BSP ( Board Support Package) etc. There are a few drivers for some special devices developed by ourselves. Recently the newest embedded software development tool SkyEye is also introduced into the teaching [10-14]. 3. The Course “Hardware/Software Integrated Design of Embedded Systems”. 3.1. The orientation and objectives of the course. The course’s orientation is to guide graduates to do experimental research. About 40 Information-background graduates choose the course every year. The objective is to instruct students to learn the approach of making up an embedded system from hardware to software. Based on the above experimental platforms the students familiarize themselves with some kinds of microprocessors, memories, peripherals; study to draw hardware schematic and PCB; master embedded operating systems, customize the OS kernel, compile, download, debug, write drivers and application programs, finally a full or a part of an embedded system’s resolution is asked to be implemented. 3.2. The main contents of the course. The teaching contents include: 1. Introduction The basic configurations of typical embedded systems H/S integrated design method and process 2. Hardware environment Microprocessor Memory I/O port Peripheral and driver Power conversion and management Bus Hardware debug 3. Embedded operating systems An overview of OS The kernel of OS Linux, uCLinux Task and task scheduling Real time OS, Rt-Linux

HARDWARE/SOFTWARE INTEGRATED TRAINING ON EMBEDDED SYSTEMS

461

GUI, API, File Systems. 4. Software development environment Software development process Cross compile, Link Debug and Download BSP 5. Driver The mechanism of device driver Button and touch panel drivers, Ethernet driver PS/2, infrared, USB drivers. 6. Application examples analysis

3.3. Basic/research experiments. Four basic experiments must be completed for every student: (1) Try to design a minimum embedded hardware system; grasp the “protel” software and general method for the circuit design. (2) Learn Linux: installation, initiation, interrupt processing, process management and programming. (3) Customize OS kernel, cross-compile, download, debug. (4) Understand the framework of drivers in Linux, write a driver for one peripheral. Each group (every two students constitute a group) is asked to choose one from more than 10 projects as research experiments. Students are also offered to do other projects, in which they are interested. At the end of the term every student must present a report and show the result on the platform to get a good score. The topics of these projects are as follows, but they can be altered every year. (1) Write buttons drivers, implement 4 different functions, and response single-click, double-click, and long-time click. (2) Write a serial interface driver, and implement an application based COM2, such as file download. (3) By an outside modem connecting I/O interface, implement dial to connect internet. (4) Implement USB Device function, and communicate with PC. (5) Implement a www server on a hardware platform. (6) Write an intelligent home www server, and remote control indicators. (7) Write Microwindows or MiniGUI programs and display it on the platform. (8) Migrate uCLinux to a hardware platform, such as ColdFire platform, and dispose software environment. (9) Extend real time function on the uCLinux. (10) Write touch panel driver. (11) Write an embedded IE based on a hardware platform. (12) Application Study based on the Chinese Chip and Tsinghua CPU evaluation boards. (13) Write an audio output file according MIDI (Musical Instrument Digital Interface) standard, and display it on a hard platform.

462

C. D. MU, S. LIU AND J. P. CHEN

3.4. Achievements. Almost all students succeed in their projects. They praise the courses giving the conditions for them to handle a real problem, and understand how to cultivate themselves to become qualified Hardware/ Software engineers. 3.4.1. Application examples. Based on above platforms some application examples are made by students. 1. Ebook The hardware adopts DragonBall VZ platform, the system software is ucLinux operating system; the text reader is written based the Microwindows API. 3MB flash is provided to store about 1.5 million double byte characters. It supports serial port transmission (9600bps), accepts the transferred files, including text and PDF format. The prototype of Ebook is as Figure 3.

Figure 3. Ebook prototype 2. Wireless data transmission system [2]. The system is composed of four parts: data-collecting and executive modules, embedded gateway, GPRS module and control center. The embedded gateway is implemented with the DragonBall VZ platform. It converts the data packets between MODBUS protocol and PPP protocol. Some real time characters are reworked in the uCLinux kernel. The embedded gateway creates a TCP/IP connection with the server in the control center. Through the GPRS, the acquisition data can be transmitted to the server and saved in the control center’s database that can be visited by the users through local area network (LAN) or Internet. The system’s architecture is as Figure 4. 3.4.2. Comparison with existing courses. 1. The existing courses on embedded systems in China mostly put the focus on the software, such as embedded OS, or embedded software development tools, for example, SkyEye. Our course puts the focus on the integration of hardware and software, instructs students to use various tools to develop low level software on the hardware platforms, not just on the PC. 2. The course requests every student to complete a practical project, so they undergo a whole process: confirm the scheme, preliminary design, detail design, programming, debug etc. and cooperate with each other to fulfill it. This is of great benefit to foster students’ initiative, innovatory and team work spirits. 3. Both teaching and learning styles have changed considerably. All teaching materials, references are given on the Web Site. The students learn to gain more knowledge and

HARDWARE/SOFTWARE INTEGRATED TRAINING ON EMBEDDED SYSTEMS

463

Figure 4. Wireless data transmission system information from the Web, and keep up with the newest advances. They are not restricted to the classroom and books, but enter into real business markets. This is helpful for them to get employment in industry. 4. Conclusions. Embedded systems and applications are becoming a new and active field, and have poured new contents into the teaching programs of information disciplines. The curriculum “Hardware/Software Integrated Design of Embedded Systems” won praise from students due to it keeping pace with the onward march of information technologies. The hardware/ software co-design method should be given more attention in the future [4-8], and the course’s contents and materials should be improved constantly, the experimental platforms should be renewed made more flexible, more extendible, and more diverse to make students get more forceful training. Acknowledgment. This paper is supported by Tsinghua University Top Quality Courses Plan, China. The authors also gratefully acknowledge the helpful comments and suggestions of the reviewers, which have improved the presentation. REFERENCES [1] Mu. C. D., Building Embedded Systems, Tsinghua Press, Beijing, 2004 (in Chinese).

464

C. D. MU, S. LIU AND J. P. CHEN

[2] Wei, D., H. R. Feng and C. D. Mu, HW/SW implementation of an industrial control system based on public wireless network, Proc. of the 4th WSEAS International Conference on Instrumentation, Measurement, Control, Circuits and systems, WSEAS Transactions on Circuits and Systems, vol.3, no.3, pp.468-470, 2004. [3] Mueller-Glaser, K. D., E. Sax, W. Stork, A. Wagner, J. Drescher and M. Kuehl, Design and simulation of heterogeneous embedded systems, Proc. of 13th Symposium on Integrated Circuits and Systems Design, IEEE Comput. Soc. Press, Los Alamitos, CA, USA, pp.385-390. 2000. [4] Staunstrup, J. and W. Wolf, Hardware/Software Co-Design Principles and Practice, Kluwer Academic Publishers, Boston, Dordrecht, London, 1997. [5] Kumar, S., J. H. Aylor, B. W. Johnson and WM. A. Wulf, The Codesign of Embedded Systems: A Unified Hardware/Software Representation, Kluwer Academic Publishers, Boston, Dordrecht, London, 1996. [6] Gupta, P., Hardware-software codesign, IEEE Potentials, vol.20, no.5, pp.31-32, 2001. [7] Valderrama, C. A., A. Changuel, P. V. Raghavan, M. Abid, T. Ben Ismail and A. A. Jerraya, A unified model for co-simulation and co-synthesis of mixed hardware/software systems, Proc. of the European Design and Test Conference, IEEE Comput. Soc. Press, Los Alamitos, CA, USA, pp.180184, 1995. [8] Schulz, S. J. W. Rozenblit, M. Mrva and K. Buchenriede, Model-based Codesign, Computer, vol.31, No.8, pp.60-67, 1998. [9] MC68EZ328 DragonBall-EZ Integrated Processor User’s Manual, Motorola Inc., 1998. [10] Tanenbaum, A. S., Operating Systems: Design and Implementation, Prentice Hall, 1997. [11] Joe deBlaquiere, Building Devices With Embedded Linux, RedHat Inc., 2000. [12] http://www.kernel.org/:Linux. [13] http://www.microwindows.org/. [14] http://www.objsw.com/CrossGCC/. [15] Computing Curricula-Computer Engineering Report, Ironman Draft The Joint Task Force on Computing Curricula, IEEE Computer Society Association for Computing Machinery, 2004. [16] http://www.eng.auburn.edu/ece/CCCE/. [17] Chang, N. and I. Lee, Embedded system hardware design track for CS students, Proc. of the 2003 IEEE International Conference on Microelectronic Systems Education, 2003.

Suggest Documents