Visão Geral
Curso Firmware Development, ajudará você a dominar as habilidades de desenvolvimento de software embarcado em soluções de Firmware. Nossas soluções práticas e aprofundadas o ajudarão a desenvolver projetos de desenvolvimento de Firmware por meio de microcontroladores baseados em ARM. Você também receberá dois projetos de Firmware em tempo real sob a orientação de instrutores de Firmware certificados durante o treinamento, que o ajudarão a passar no Exame de Certificação de Firmware.
Objetivo
Após realizar este Curso Firmware Development, você será capaz de
- Aprenda programação incorporada em C e microcontrolador.
- Use um sistema operacional em tempo real (RTOS) para o desenvolvimento de aplicativos.
- Aprenda a desenvolver um firmware para um aplicativo específico usando a ficha técnica do dispositivo.
- Obtenha uma visão geral dos compiladores, controladores e outras ferramentas de desenvolvimento.
- Desenvolver projetos de desenvolvimento de firmware orientados a interrupções.
Por que você deve aprender Desenvolvimento de Firmware?
- A demanda por profissionais de Firmware está aumentando rapidamente com os desenvolvimentos mais recentes ocorrendo em tecnologia embarcada.
- Devido à alta demanda por Desenvolvimento de Firmware, existem inúmeras oportunidades de trabalho disponíveis em todo o mundo.
- As principais empresas multinacionais estão recrutando profissionais de Firmware certificados.
- Os profissionais de firmware estão ganhando muito mais salários do que os profissionais que trabalham em outras tecnologias.
Conteúdo Programatico
Microcontrollers
- Overview of 8051 architecture, Stack, Queues, Pipeline, Boot loader
- Application code area
- Secondary Boot loader.
Machine Level Programming
- Binary format
- Hardware storage methods.
Assembly Level Programming
- Op codes
- Mnemonics
- Assemblers Vs Compiler’s
- Instruction sets.
ANSI Standard Embedded C & Advanced C Programming
- Why C? Why Not assembly/machine languages
- Fundamentals of C
- ANSI standards
- Industry Coding standards
- Hex file generation process
- Conditional statements, Loops, Functions, Arrays, Strings, Storage classes, Structures & union
- Enumerated data types
- Bit operations, Pointers
- Dynamic memory allocations
- File handling concepts
- Data structures, Array of pointers, Pointers and dynamic memory structures
- Union and structure uses differences
- Sorting and searching techniques
- Managing data in arrays
- Operations on arrays Vs strings
- Managing data in linked lists
- Testing of modules, Test drivers, test stubs
- Single linked lists operations,
- Doubly linked lists maintaining data, Stack, queue operations using arrays
- Linked lists queue using arrays
- Circular linked list
- Linear search, Binary search, Hash-based search
- Development tools and environment
- Creating make files
- GDB debugging of programs
- Development Tools and Environments
- Debugging techniques.
Mini Project
- Project on C and data structures.
Object Oriented Programming With C++
- Overview and Characteristics
- Function overloading
- Scope resolution operator
- Class in C++, Access Specifiers, Constructor, Destructor, Static members, Functions, Friend Classes, Friend Functions, Operator Overloading, Data Conversions, Inheritance, Polymorphism
- Exception Handling
- Templates
- Input and Output stream
Microcontroller Programming
- Cross compilers
- Embedded C programming
- Embedded C debugging
- Memory models
- Library reference
- #pragma directives
On Chip Peripherals
- Ports: INPUT/OUTPUT
- Timers/counters
- Interrupts, UART, Debugger.
Externals Interface
- LED, LCD, Switches
- Seven segment display
- Keyboard Matrix, TFT LCD, Touch Screen.
Common Protocols
- 12C, SPI
- Industrial Protocols
- CAN
- Modbus and SMBUS
- I2S
- Zigbee Wi-Fi, Bluetooth, GPS, GPRS, USB, Memory card, Ethernet.
ARM
- Introduction
- Core features
- Version history
- Data flow model, Registers, CPU modes
- Memory organization, Interrupts, Pipelining
- ARM assembly language programming
- Addressing modes, ARM 7 instruction set, (20% 7 instruction set), (20/80%-rule of assembly language),
- Usage of kEIL IDE
- Demonstrating ARM ISA
- Demonstrating THUMB ISA,
- ARM embedded C languages Implementation,
- Exposure to an ARM7 CPU
- Core based microcontroller
- LPC2114-ARM based Microcontroller from Philips
- Semiconductors
- On-chip system peripherals bus Structure (AMBA)
- Memory map
- Phase locked loop
- VPB divider
- On-chip user peripherals
- General purpose I/O: demo, Using switch & LED, Vector interrupt controller (VIC), External interrupts demos.
Networking And TCP/IP Applications
Network structure
Classifications and Topologies
Switching and routing
Gateway, Repeater, Hub, Bridge, OSI layers, TCP/IP layers
Physical and logical address, ARP & RARP, Internet protocol, Routing protocol and IP datagrams
Error and Control Messages (ICMP) UDP
Transfer Control Protocol
TCP networking Applications, FTP, TFTP, TELNET, DNS, DHCP, SNTP, POP3, IMAP, SNMP.
Socket Programming
- Overview
- Concurrent processing
- Programming interface
- Socket interface
- Client/server design
- Concurrent connection-oriented servers
- Socket calls for TCP and UDP
- Single process
- Concurrent servers
- Implementation of TFTP/SMTP.
RTOS RT-LINUX
- RT-Linux
- Different types of operating systems
- RTOS basics-Linux as real-time
- RTOS introduction (hard Real-time, soft real time)
- Latency in Linux
- Priority inheritance
- Linux 2.6 features for real-time
- 2.6 kernel compilation
- RT LINUX patching
- Linux RT PREEMPT patches
- Configuring the kernel with RT-PATCH
- Implementation of real-time application
- Linux real-time API
- Measuring and comparing scheduling latency in standard Linux and in RT-Linux with the latest RT patches
- Porting RT-Linux on arm and application development.