
-
-
-
-
-
-
-
-
-
-
|
1.C
Programming
15 to 20 Hrs C and Advanced C programming(provide the syllabus
by requesting)
2.8051 Architecture and
Programming
MCS-51 Architecture, Memory Organization, Hardware and
Electrical
Characteristics
Addressing Modes and Instruction Set
Introduction to Keil IDE and its usage
Embedded C on Keil IDE
I/O Port Construction and Programming, Timer/Counter Programming
Serial Communication
Interrupt and Services
Interfacing of memory devices such as flash, RAM
Interfacing of LED, LCD, and Graphical LCD
Interfacing of Keypad
Interfacing of ADC, DAC, Sensors
Interfacing of Stepper motor
Serial protocols such as RS-232, RS-485, I2C, SPI, CAN,
LIN
I2C implementation with RTC,
SPI implementation on Serial EEPROM
Firmware Implementation on 89c51RD2\ED2 board
BSP Concepts on 89c51RD2\ED2 board
3.PIC Architecture and
Programming
PIC Architecture, Memory Organization, Oscillator configurations
Instruction set
I/O port programming, Timer Programming
Interrupt Programming
Capture/Compare/PWM module
SSP module Programming
WatchDog Timer, Device Configuration, ADC, ICSP
Introduction to MPLAB IDE and its Usage
Writing C Programs and Assembly programs on MPLAB IDE
Interfacing of LED, LCD, and Graphical LCD
Interfacing of Stepper motor
Serial protocols such as RS-232, RS-485, I2C, SPI, CAN,
LIN
I2C Implementation on PIC 16F87X
SPI Implementation on PIC 16F87X
Firmware Implementation on PIC 16F87X board
BSP Concepts on PIC 16F87X board
4.ARM Architecture and
Programming
Introduction to ARM Architecture, Programmer’s Model
ARM Instruction Set, ARM addressing mode
Thumb Instructions set
ARM code sequences, System control Co-Processors
Memory Organization, MMU, Caches and write buffers
AMBA architecture
Introduction to ARM Developer suite, Generating C, C++,
Assembly Projects
Building the Projects, Debugging Simulations
Specifying the type of Target, Target Board Configuration
Interworking C, C++ and assembly,
Exception Handling,
Writing Code for ROM based Target boards, Debug Communication
Channel.
Interworking ARM & THUMB program, Inline Assembly in
C / C++ Program,
Mixing Assembly, C, C++ programs
5.Linux Internals and
Device Driver Programming
Linux Kernel, types of Kernel, Kernel Architecture
Boot Process, BIOS, and setup functions
Kernel Recompilation
Modules and Modular Programming, static and dynamic modules,
Module structure
Exporting symbols from modules
Modules Parameter and description
System calls, system call table, implementing a new system
call
File systems, Virtual file system, data structures such
as super_block, inode, file, dentry
Process management
Inter process communication
Sockets and Socket Programming
Interrupts, Operating system services, Atomic functions,
Bit operations, semaphores
Time intervals in the kernel, kernel Timers, tasklets, task
queues
Memory Management
Introduction to Device drivers, Character device driver,
Block device driver, Network device driver
6.VxWorks
Introduction to RTOS, Real Time system concepts, Operating
system concepts
Introduction to Tornado Developer Kit 2.2.1, Features of
IDE (Editor, Project Management Facility, C/C++, Cross Compiler,
Crosswind, Browser, Wind View, Wind Sh, VxSim, Host-Target
communication interface).
Creating Bootable and downloadable project, Vxworks terminologies
like Workspace, Tornado Registry, Target Server, Target
Agent, Writing a simple application program, downloading
and executing the application developed.
Task Management, Thread Creation, Thread Creation at a
user memory, Thread scheduling using priority based Preemptive
Scheduling, First-in -First-out scheduling, Round Robin
Scheduling, Dynamic Rescheduling, Defining a safe region
for a thread, defining a non preempt able region for a thread,
accessing TCB of a thread.
Using shared Memory for inter task Communication, Using
pipes for Inter Task Communication, Differentiating between
pipes and Message Queues, Using Message Queues for Inter
task communication. Using shell commands to access information’s
of pipes and message queues.
semaphore ,Need of semaphore in application development,
Types of semaphores supported by VxWorks, Using Binary Semaphore
for thread synchronization and mutual exclusion, Using Counting
Semaphore for guarding multiple instances of resources,
Using Mutex Semaphore for solving problems like priority
Inversion, Recursive access to semaphore etc.
Ram Disk , Need of Ram Disk in Embedded System Development,
Using Ram Disk in Vxworks, file System’s supported
by Vxworks, Features of DOSFS, RT11FS, RAWFS, TapeFS, CDFS.
Mounting and Unmounting disks in Vxworks with read only
or read/write mode, Performing I/O operations on the disks.
Configuring the target hardware, Testing the Connection,
Host Target Connection, Configuring and starting the Target
Server, Booting Vxworks with default boot parameters, Booting
Vxworks with new boot parameters, Configuring the Build
Specification, Configuring and Building Vxworks Boot program.
7.Advanced
Features and Techniques of Embedded Systems Development
Course Description
This course provides embedded systems developers the necessary
skills to develop complex embedded systems and enables them
to improve their designs by using the tools available in
the Embedded Development Kit (EDK). This course also helps
developers understand and utilize advanced components of
embedded systems design for architecting a complex system.
This course builds on the skills gained in the Embedded
System Development course. Labs provide hands-on experience
with the development, verification, debugging, and simulation
of an embedded system. All labs use a hardware board, connected
to a server, to which designs are downloaded and verified.
Level
- Advanced
Duration
- 3 days
Why this training pays huge dividends
After completing this training, you will be able to:
- Assemble and architect a complete embedded system
- Identify the steps involved in integrating user IP in
a system
- Use a Board Support Package (BSP) to target multiple operating
systems
- Apply advanced debugging techniques
- Design a flash memory-based system and boot load from
flash
- Apply various techniques to improve performance
Software Tools
- Xilinx ISE™ 9.1 SP3
- Mentor Graphics ModelSim PE 6.2f
- EDK 9.1 SP1
Who Must Attend
FPGA design engineers, system architects, and system engineers
who are interested in Xilinx embedded systems development
flow
Prerequisites
- Experience in C programming
- Embedded Systems Development course or experience with
embedded systems design
- Some HDL modeling experience
- Basic microprocessor experience and understanding of PowerPC
and MicroBlaze systems
Course Outline
- Embedded Systems Development Review
- Lab 1: Building a Complete Embedded System
- External Memory Controllers and File Systems
- Lab 2: External Memory Controllers and
File Systems
- Debugging Using the ChipScope Pro Analyzer
- Lab 3: Debugging Using the ChipScope
Pro Analyzer
- OCM Bus
- Software Performance Improvement
- Accelerating Performance in Hardware
- Lab 4: Performance Tuning
- Bus Functional Modeling Simulation
- Lab 5: BFM Simulation
- Interrupts
- Board Support Packages (BSPs)
- Lab 6: XilKernel and Interrupts
- Boot Loader
- Lab 7: Boot Loading from Flash Memory
LAB DESCRIPTIONS
- Lab 1: Building a Complete Embedded
System – Develop hardware that incorporates IP cores
to interface to push buttons, switches, LEDs, an LCD display,
and serial communication. Develop an application that interacts
with switches, push buttons, an LCD display, and serial
communication. Generate and download a bitstream onto a
hardware board connected to a server.
- Lab 2: External Memory Controllers and
File Systems – Design a system that includes an On-Chip
Peripheral Bus (OPB) DDR IP core. Develop an application
that performs file-related tasks on external memory.
- Lab 3: Debugging Using the ChipScope
Pro Analyzer – Perform simultaneous hardware and software
debugging on stack-related errors with the ChipScope™
Pro Analyzer, GDB, and XMD.
- Lab 4: Performance Tuning – Profile
a simple piece of code, using the SDK profile tool, running
on a processor and go through iterative steps of refinement
to improve the performance by using caching and porting
a repetitive function to hardware.
- Lab 5: BFM Simulation – Create
an EDK system that includes IBM CoreConnect bus architecture
Bus Functional Models (BFM) and Bus Functional Language
(BFL) constructs for an OPB IP. Simulate the OPB bus-based
design to verify IP functionality.
- Lab 6: XilKernel and Interrupts –
Set up software settings to use the XilKernel operating
system. Generate and use a BSP for XilKernel with an application
that illustrates multithreading functionality and an interrupt
handler.
- Lab 7: Boot Loading from Flash Memory
– Develop an application that performs desired tasks.
Due to application size and resource limitations, store
it in flash, load it through a boot loader program, and
execute from external memory.
-
8.Embedded
Open-Source Linux Development
Course Description
This intermediate-level, two-day course provides embedded
systems developers with experience in creating an embedded
open-source Linux operating system on a Xilinx development
board. The course offers students hands-on experience from
building the environment to booting the system using a basic,
single-processor System on Chip (SoC) design with Linux
2.6 from the Xilinx kernel tree. This course introduces
embedded Linux components, use of open-source components,
environment configurations, network components, and debugging/profiling
options for embedded Linux platforms. The primary focus
is on embedded Linux development in conjunction with the
Xilinx tool flow.
Duration
2 days
Prerequisites
- Experience in C or C++ programming
- Basic understanding of VHDL or Verilog design
- Basic microprocessor design experience and understanding
of MicroBlaze™ or PowerPC® processor architecture
- Knowledge of operating system architecture
- Experience using Linux command-line shell for common file
operations
Why this training pays huge dividends
After completing this training, you will be able to:
- Build a Linux development environment from pretested
tool components.
- Describe basic concepts of an embedded Linux operating
system
- Configure a Xilinx FPGA for a Linux operating system
- Determine scheduling requirements for an embedded Linux
operating system and apply them to the FPGA configuration
- Analyze system requirements for interprocess communication
and configure the FPGA
- Analyze system requirements for memory management and
apply them to the system
- Develop and add Linux drivers to the system
Course Outline
Day 1
- Course Agenda and Introduction
- Building the Environment
- Lab 1: Building the Environment
- Basic Linux System
- Lab 2: Basic Linux System
Day 2
- Booting and Debugging
- Lab 3: Boot Loader
- Peripherals and Drivers
- Lab 4: Peripherals and Drivers
- Embedded Linux Memory Manager
- Processes, Scheduling, and Timing
Lab Descriptions
- Lab 1: Building the Environment –
On a virtual machine environment, download and build a Linux
development system that integrates Xilinx tools and open-source
components. Includes the use of build scripts.
- Lab 2: Basic Linux System – Configure
the kernel, build the kernel without a root file system,
download and start the kernel with xmd, try basic debugging
techniques, build a minimal rootfs, rebuild Linux with a
minimal rootfs, and boot Linux and login.
- Lab 3: Boot Loader – Analyze the
starting point of the kernel, analyze the boot messages,
add the first-stage boot loader, add U-Boot, boot Linux
with U-Boot, and boot Linux with an NFS rootfs.
- Lab 4: Peripherals and Drivers –
Program a Hello World kernel module, compile external kernel
modules, and create a simple gpio driver.
-
9.Embedded Systems Development
Course Description
Xilinx Field Programmable Gate Array (FPGA) provides a new
level of system design capabilities through its MicroBlaze™
soft processor and hard core PowerPC® processor as well
as silicon-efficient architectural resources. This course
brings experienced FPGA designers up to speed on developing
embedded systems using the Embedded Development Kit (EDK).
The basic features and capabilities of the Xilinx MicroBlaze
soft processor and the PowerPC processor are also included
in the lectures and labs. These hands-on labs are plentiful
and provide personal experience with the development, debugging,
and simulation of an embedded system.
Level
- Intermediate
Why this training pays huge dividends
After completing this training, you will be able to:
- Effectively develop, debug, and simulate an embedded
system
- Identify tools used in the Embedded Development Kit
- Use the hardware, software, and debugging flows provided
in the Embedded Development Kit
- Identify IP included in the Embedded Development Kit and
where to get additional information
- Identify the hardware and software simulation environments
- Integrate custom IP into the Embedded Development Kit
Software Tools
- Xilinx ISE 9.1 SP3
- Mentor Graphics ModelSim PE 6.2f
- EDK 9.1 SP1
Course Outline
- EDK Overview
- Lab 1: Hardware Construction with the
Base System Builder
- System Buses
- Hardware Design
- Hardware Design Using EDK
- Lab 2: Adding IP to a Hardware Design
- Adding Your Own IP to Your Embedded System
- Lab 3: Adding Custom IP to an Embedded
System
- Software Development
- Drivers, Interrupts, and Booting
- Address Management
- Lab 4: Writing Basic Software Applications
- Software Development and Debugging Using SDK
- Lab 5: Advanced Software Writing Using
SDK
- System Simulation
- Lab 6: Performing System Simulation
- Lab 7: Performing Hardware Download
LAB DESCRIPTIONS
Lab 1: Hardware Construction with the
Base System Builder – Create an XPS project by using
the Base System Builder to develop a basic hardware system
for a target board.
Lab 2: Adding IP to a Hardware Design
– Learn to add IP, such as bridges, OPB peripherals,
OPB buses, and others, to the basic hardware design.
Lab 3: Adding Custom IP to an Embedded
System – Explore adding a custom IP to your design
by using the Create and Import Peripheral wizard.
Lab 4: Writing Basic Software Applications
– Write a basic C application that utilizes the UART
and GPIO.
Lab 5: Advanced Software Writing Using
SDK – Use the OPB timer and interrupt controller and
develop an interrupt service routine by using the Software
Development Kit (SDK).
Lab 6: Performing System Simulation – Generate simulation
scripts with XPS and perform behavioral simulation.
Lab 7: Performing Hardware Download –
Implement the design and update the software bitstream before
downloading to the hardware demo board
Who Must Attend
FPGA design engineers, system architects, and system engineers
who are interested in Xilinx embedded systems development
flow.
Prerequisites
- FPGA design experience
- Completion of Fundamentals of FPGA Design course or equivalent
knowledge of Xilinx ISE
implementation tools
- Basic understanding of C programming
- Basic microprocessor experience, understanding of PowerPC
and MicroBlaze systems
-
10.Embedded
Systems Expert
Course Description
This 6-days course is a combination of “Embedded Systems
Development” and “Advanced Embedded Systems
Development”. After a comprehensive introduction to
the MicroBlaze and PowerPC controllers as well as the XILINX
EDK design flow, you will learn to develop embedded systems.
In particular, this workshop includes numerous practical
exercises and is aimed at developers who already have basic
experience of the XILINX design system.
Embedded Systems Development brings experienced FPGA designers
up to speed on developing embedded systems using the Embedded
Development Kit (EDK). The basic features and capabilities
of the Xilinx MicroBlaze soft processor and the PowerPC
processor are also included in the lectures and labs. These
hands-on labs are plentiful and provide personal experience
with the development, debugging, and simulation of an embedded
system.
Advanced Features and Techniques of Embedded Systems Development
provides embedded systems developers the necessary skills
to develop complex embedded systems and enables them to
improve their designs by using the tools available in the
Embedded Development Kit (EDK). This course also helps developers
understand and utilize advanced components of embedded systems
design for architecting a complex system. This course builds
on the skills gained in the Embedded Systems Development
course. Labs provide hands-on experience with the development,
verification, debugging, and simulation of an embedded system.
All labs use a hardware board, connected to a server, to
which designs are downloaded and verified.
Why this training pays huge dividends
After completing this training, you will be able to:
- Effectively develop, debug, and simulate an embedded
system
- Identify tools used in the Embedded Development Kit
- Use the hardware, software, and debugging flows provided
in the Embedded Development Kit
- Identify IP included in the Embedded Development Kit and
where to get additional information
- Identify the hardware and software simulation environments
- Integrate custom IP into the Embedded Development Kit
- Assemble and architect a complete embedded system
- Identify the steps involved in integrating user IP in
a system
- Use a Board Support Package (BSP) to target multiple operating
systems
- Apply advanced debugging techniques
- Design a flash memory-based system and boot load from
flash
- Apply various techniques to improve performance
Course Outline
Module 1: Embedded Systems Development
- EDK Overview
- Lab 1: Hardware Construction with the
Base System Builder
- System Buses
- Hardware Design
- Hardware Design Using EDK
- Lab 2: Adding IP to a Hardware Design
- Adding Your Own IP to Your Embedded System
- Lab 3: Adding Custom IP to an Embedded
System
- Software Development
- Drivers, Interrupts, and Booting
- Address Management
- Lab 4: Writing Basic Software Applications
- Software Development and Debugging Using SDK
- Lab 5: Advanced Software Writing Using
SDK
- System Simulation
- Lab 6: Performing System Simulation
- Lab 7: Performing Hardware Download
Module 2: Advanced Embedded Systems Development
- Embedded Systems Development Review
- Lab 1: Building a Complete Embedded System
- External Memory Controllers and File Systems
- Lab 2: External Memory Controllers and
File Systems
- Debugging Using the ChipScope Pro Analyzer
- Lab 3: Debugging Using the ChipScope
Pro Analyzer
- OCM Bus
- Software Performance Improvement
- Accelerating Performance in Hardware
- Lab 4: Performance Tuning
- Bus Functional Modeling Simulation
- Lab 5: BFM Simulation
- Interrupts
- Board Support Packages (BSPs)
- Lab 6: XilKernel and Interrupts
- Boot Loader
- Lab 7: Boot Loading from Flash Memory
Who Must Attend
FPGA design engineers, system architects, and system engineers
who are interested in Xilinx embedded systems development
flow.
Prerequisites
- FPGA design experience
- Completion of Fundamentals of FPGA Design course or equivalent
knowledge of Xilinx ISE implementation tools
- Basic understanding of C programming
- Basic microprocessor experience, understanding of PowerPC
and MicroBlaze systems
-
|