Innovation... driven by intelligence and logic

After - Embedded Systems Software Engineering

Embedded Systems Software Engineering

After the training is over, the trainee should be able to...

  • Setup and Maintain Linux based Systems, Verify peripherals, Monitor system performance, Create file systems, take backup and restore
  • Install software and do software management, Create a backup and recover policy
  • Monitor Linux network communication, Configure remote login services, Update system and OS regularly
  • Implement user policies and setup security policies for users, Have a strong grasp of computer security (e.g. firewalls and intrusion detection systems).
  • Implement FTP Server, TFTP Server, CVS Server, DNS Server, DHCP Server, NFS Server, Apache Web Server, Configuring Proxy Server, A Database Server
  • Understand and write efficient Shell Scripts for System/Network Administration
  • Comfortable with respect to programming in C, Able to Implement and use Data Structures using C,Having good understanding about gcc compiler, Able to debug complex C programs using gdb.
  • Adept with Project Management tools, Efficient with Source code management tools.
  • write shell scripts using Bash, Run and Controlling Scripts with ease,Debug shell scripts
  • Do scripting using files, sed, awk efficiently,Control processes
  • Understand  Process Duplication, Process Replacing
  • work with InterProcess Communication: Pipes, Fifo, Message Queues, Shared Memory.
  • Implement synchronization using semaphores and mutexes
  • Understand the concept of Threads, Threads Attributes, Threads Synchronization
  • Implement FTP based network programming involving Sockets, Advanced Family Protocols: AF_UNIX, AF_INET
  • Understand the architecture of Device DriversInsert and Registration driver into the kernel
  • Implement the following Device Operations:-
    • open, release, writing, reading, seeking
    • Synchronization using Semaphores, Completions, Spinlocks, Blocking IO
  • Implement Software implemented filesystem: /proc
  • Control operations: ioctl
  • poll and select, sysfs, Timing Measurements, timers, tasklets, Interuupts and Handling
  • Understand the Linux Kernel Architecture
  • Linux Boot process for x86 and ARM Architecture
  • Have working knowledge for the following Linux Internals concepts:-
    • Process Management and Scheduling, Memory Management:, Virtual Process Memory, File I/O, Buffered I/O, Signals, The Virtual File system, Extended Filesystem Family, Filesystem without persistant Storage, Extended Attributes and Access Control Lint, System Calls, Timing Measurements, Page and Buffer Cache, Data Synchronization, Page Reclaim and Swapping, Auditing.
  • Understand IEEE 1284 Standard, Parallel Port Architecture and Registers, Electrical Standards.
  • Implement Parallel Port Device Driver, Interact with Hardware through Parallel Port.
  • Implement following Parallel Port Device Operations
    • Compatiblity Mode, Nibble Mode, Byte Mode, EPP Mode, ECP Mode, Stepper Mode interface
  • Underatand The Architecture of Serial Port
  • Underatand RS232 Communication Protocol
  • Do DataSheet Interpretetion
  • Implement Serial Port Device Driver, Device Operations using Serial Port Driver
  • Establishing Serial Communication between Devices: Byte TransferFile Transfer, Two way Communication.
  • Using Interrupts for Serial Communication
  • Initialize the Block device driver, Interfaces Information for Block device, Memory allocation for block device, Registration method with linux kernel, Queue initialization and synchronization method and Timer initialization, Initialization of block device structure, Operations support initialization for the driver.
  • Implement Exit of Block driver,Freeing the memory occupied by device driver, Destroying the queue spinlock and timer associated with the driver, Removing all its interfaces with the linux kernel, Unregistration of the driver.
  • Understand and Implement Functionality of the Block device, Opening the block device, Closing the block device, IOCTL method for the block device, Block transfer function, Media change Functioning.
  • Do Testing for Block Drivers, Creating the ramdisk partition, Mounted node associated with the driver on it, Creating the filesystem on ramdisk partition, Transfer the data in ramdisk partition or block device.
  • Understand the Architecture of Embedded Linux, Cross Compile C libraries. Build a cross-compiling toolchain, Configure Bootloaders, U-boot, Configure, (cross)compile and boot a Linux kernel, Create a simple, BusyBox based root filesystem from scratch, Implement Block filesystems, Flash filesystems – Manipulating flash partitions
  • Cross-compile libraries & apps, Configure Embedded system building tools, Lightweight tools for embedded systems. Graphical toolkits
  • Develop and debug applications for the embedded system, Implement realtime requirements, do System optimizations.
  • Configure GUI - XFCE or GNOME.
  • Write optimized programs and scripts using Python, understand flow control in Python.
  • efficient with lists, functions, object oriented concepts, types, variables, IO, loops, tuples, dictionaries, file IO, exceptions, modules, graphical application development.

Back...


EmbLogic™ is an ISO 9001:2008(QMS) (Quality Management System) Certified Company.

Go to Top ^