logo jbmd   0747600700 
קורס Programming Embedded Linux
אודות הקורס
This course provides embedded systems developers, making their first steps with Linux as an embedded system platform, with the skills required for being a productive programmer in that environment. The curriculum includes building applications and device drivers with real time constraints, understanding the inner working of the Linux system and its effects the system behavior. Participants should have solid knowledge in C and background in embedded systems or low level programming. The course is suitable for people planning to develop for embedded Linux platforms from any source, including “home made” Linux distributions or embedded Linux system vendors such as WindRiver™, MontaVista™ or TimeSys™. The course is taught using a real live embedded Linux system, running inside a hardware emulator as the target, and the GNU tool set/Eclipse IDE on the host. The course is parallel to the "Linux Kernel Internals" course with a twist towards the embedded systems and real time domains and is preferred for people with embedded systems background and requirements.
Accordingly, this course starts by arming the student with all the tools necessary for developing conventional procedural application in Python. Then, it adds advanced procedural and functional tools. Then, data abstraction and finally – the essential object-oriented tools. This way, each student emerges from the course with a substantial and useful body of knowledge. Even students who come with a rudimentary programming background are capable to accomplish much with the procedural/functional level of Python and consider the object-oriented level as enrichment.

מבנה והיקף מסלול הלימודים
40 שעות אקדמיות.
קהל יעד
☑ Seasoned embedded systems developers (using VxWorks, pSos, Vertex, Nucleos or home grown systems) wishing to become competent Linux Embedded systems developers.
☑ Seasoned Linux developers wishing to become competent Linux Embedded systems developers.
תנאי קבלה לקורס טכנאי
תנאי קבלה
☑ Experience Programming in C.
☑ Experience in embedded systems or low level programming in any environment.
תכנית הלימוד של המסלול
 Module 1: Introduction
  • What is Linux
  • Layers in a Linux system
  • Linux vs. Legacy RTOS

 Module 2: Basic concepts
  • Files and file system
  • The shell
  • Processes
  • Setting up networking

 Module 3: Application programming and the user space API
  • Makefiles and the build environment
  • Processes and threads
  • IPC (mutex, condition variables, mailboxes, pipes, shared memory, Unix domain sockets and signals)
  • Timers
  • Memory mapping and locking
  • Real time priorities
  • Debugging applications: in process and using remote debugger

 Module 4: Linux Internals and device drivers
  • Linux kernel source layout
  • Kernel Coding conventions
  • Kernel log
  • Supervisor mode and the system call interface
  • Linux boot sequence
  • Kernel modules
  • Proc file driver
  • Memory management
  • Character device driver
  • Scheduling
  • Interrupts
  • Top and bottom halfs: softirqs, tasklets, timers and work queues
  • Blocking and waiting for events
  • Locks and atomic operations
  • Networking stack and network device drivers

During the course participants will develop a Linux device driver for an embedded Linux target running in a hardware emulator using the GNU tool chain and the Eclipse IDE.

91100 מק"ט
חזרה לראש העמוד


צור קשר שירות לקוחות מפת האתר דרושים כנסים סניפים שירותים אודות דף הבית