Download presentation
Presentation is loading. Please wait.
Published byGisselle Batts Modified over 10 years ago
1
Real-time Systems Lab, Computer Science and Engineering, ASU Please Standby Galileo Tech Talk at ASU Will Begin Shortly
2
Real-time Systems Lab, Computer Science and Engineering, ASU Teaching Embedded Systems Programming using Galileo Board School of Computing, Informatics, and Decision Systems Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480) 727-7507
3
Real-time Systems Lab, Computer Science and Engineering, ASU The course: Embedded Systems Programming Senior and entry-level graduate students Major in CS or CE The expectations what is inside the boxes understand the interactions between hardware, system software, and applications capable computer system engineers the characteristics of embedded systems hardware and software architecture logical reasoning and problem solving 2 Introduction
4
Real-time Systems Lab, Computer Science and Engineering, ASU B.S. in Computer Science and B.S.E in Computer System Engineering CSE Undergraduate Programs in ASU General science and engineering and basic CS/CSE study Freshman Additional general study and CS/CSE foundation courses Sophomore Core CS/CSE technical and theoretical courses Junior Advanced CS/CSE courses in various application domains Senior 3
5
Real-time Systems Lab, Computer Science and Engineering, ASU AI Architecture & Embedded systems Software Engineering Operating & Distributed systems, Networking DatabaseGraphics CSCSE Information Assurance CS1 CS2 Logic Design Computer Organization Curriculum Structure in CSE Programming Language Theory Microprocessor System Hardware Design Data Structure & Algorithm Software Engineering 4
6
Real-time Systems Lab, Computer Science and Engineering, ASU CSE 220 – Programming for Computer Engineering C programming language Linux environment (script, tools, and thread programming) CSE 320 – Hardware Design hardware modeling in Verilog or VHDL synthesize hardware prototypes using FPGA devices CSE 325 – Embedded Microprocessor Systems software and hardware integration to construct embedded systems characteristics of various input/out interfaces and peripherals. programming and debugging I/O operations CSE 438/598 – Embedded System Programming Project Development in Capstone Design I and II Major Courses in Embedded Systems 5
7
Real-time Systems Lab, Computer Science and Engineering, ASU The key issues in embedded software concurrency interaction with devices timely operations and scheduling Course coverage: Design issues of embedded software and the knowledge of development and execution environment on target processors. The functions and the internal structure of device interfaces, drivers, and real-time operating systems. Multi-threaded embedded software in target environment coding style for embedded programming testing and debugging approaches Task scheduling and schedulability analyses. CSE 438 Embedded System Programming 6
8
Real-time Systems Lab, Computer Science and Engineering, ASU Programming assignments are essential Target – Galileo board, bread board, and peripherals Linux on target board Preferred cross-development tools in host Linux Eclipse, command lines, GUN tools Software Development in CSE 438 7
9
Real-time Systems Lab, Computer Science and Engineering, ASU Introduction: characteristics of embedded applications, cross-development environment. x86 embedded processor architecture RDTSC, atomic operations, interrupt mechanism, PCI bus, plug and play Linux device drivers loadable modules character devices, sysfs, drivers for bus structures and adapters Concurrent and asynchronous execution multi-threading in user and kernel spaces ISR, work queue, blocking and non-blocking, and signaling Embedded software design patterns for periodical and sporadic tasks imprecise computation, overrun management, asynchronous transfer of control Scheduling cyclic, EDF, rate monotonic, priority inheritance, and schedulability analysis What are taught in CSE 438 8
10
Real-time Systems Lab, Computer Science and Engineering, ASU A device driver for shared queues and timestamps loadable module character device driver ring buffer threading and co-routine RDTSC mutex in user and kernel space A driver for a 24FC256 EEPROM on i2c bus i2c bus operations and IO expander on Galileo board gpio control via script, user program, and kernel module bus driver architecture in Linux non-blocking IO operation and work queue What are Exercised in Assignments (1) 9 bus_out_q2 Sender1 Sender2 Sender 3 receiver1 bus-daemon bus_in_q bus_out_q1 bus_out_q3 receiver2 receiver3
11
Real-time Systems Lab, Computer Science and Engineering, ASU Distance-controlled LED animation SPI bus operations on Galileo kernel thread for periodic operation ISR for pulse measurement Motion Tracking with Kalman Filter, Accelerometer and Gyroscope real-time application development periodic task model mouse Input events What are Exercised in Assignments (2) 10
12
Real-time Systems Lab, Computer Science and Engineering, ASU Handling asynchronous events Linux input devices and handlers event abstraction signaling mechanism setjmp and longjmp imprecise computation model Linux ftrace and kernelshark What are Exercised in Assignments (3) 11
13
Real-time Systems Lab, Computer Science and Engineering, ASU Need a suitable embedded system to host an open-source and versatile OS software development tools networking Peripherals (sensors and actuators) Acquisition and connection Arduino shields Support quality code and documentation technical consultation Follow-up development and extensions PCIe and wireless communication (wifi+bluetooth) IOT applications 12 Why Galileo
14
Real-time Systems Lab, Computer Science and Engineering, ASU Overall, many assignments for students to practice students know the subjects are useful and interesting they learn (or observe) how to make it work, but need to think about design decisions or alternatives. CSE 438 – a difficult course to teach no textbook, use Internet document, code examination, and manual for students, time consuming and challenging the (Sun) Devil is in the details Look for projects that can be integrated as a sequence and lead to useful applications pedagogy for embedded systems that is effective and inspiring Thanks to Intel Higher Education for the support and assistance. Summary 13
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.