Home



    Training
        Getting Started
        System Prog
       
Training Consultancy People
Self learning Contact Us


What to Learn with Embedded Kits

Following are the typical ways of using any embedded development board from DEPIK.

1. Understanding the board hardware by learning the following:

  • Type of CPU used and knowing more about the CPU
  • Type and size of memory areas present
  • Address map of memory areas
  • All the I/O controller or peripheral chips present
  • Address map of these controllers/peripheral chips
  • Register details of each controller/peripheral chip
  • As a development board, what facilities are available to load executable program into it
  • Finally learning the development tools required to develop the software for the board

2. Developing simple driver programs and running them on the board.

  • A separate program can be developed to program and use, each peripheral chip present in the board. These programs are called device driver programs.
  • Note that these programs can be developed either in Assembly or C language. But C is preferred as it is easy to use and maintain than assembly. However one should aware of assembly language instructions used by the CPU. Some times some machine specific code and time-critical code need to be developed in assembly only.

3. Developing simple applications that uses the driver functions developed in the above step.

  • Visualising and implementing some useful applications on these boards will be interesting for creative minds.

4. If an RTOS is available for the board, then using RTOS to develop multi-tasking applications

  • Develop various applications, such that each application will use some of the system calls of RTOS. In this way one should get familiar with all the system calls of RTOS
  • Developing Device Drivers for RTOS. RTOS comes with most of the device driver built into it. However some boards may have a specific peripheral chip, for which RTOS may not have driver in it. In such cases one should learn developing a device drier for the RTOS.

5. Final thing could be taking DEPIK's certification test for the embedded board; to know where you stand, in your knowledge and skills about the board.


dpk-51 Kit

Hardware understanding and Driver Development

Understanding and using digital I/O lines or Parallel Port lines

  • Write a program to blink LEDs
  • Write a program to read push-button status

Understanding and using Timers/Counters

  • Write a program to use timers to implement required time delays
  • Write a program to use timers as counter

Understanding and using Interrupts

  • Write programs that handle various interrupts

Understanding and using Serial communication and serial controller

  • Write programs to use serial communication for various purposes

Understanding and using EEPROM

  • Write program to read and write to EEPROM

Understanding and using Watch dog timer

  • Write program to use watch dog timer

Understanding and using Serial Peripheral Interface (SPI)

  • Write a program to read data from Analog to Digital converter (ADC) connected to SPI

One can develop all the above programs either in assembly language or in C language. Also in a combination of both C and Assembly.

All the above programs are dealing with peripheral or I/O controller chips, so these programs can be called as device drivers.

By using these device drivers, useful application programs can be developed.

Another interesting use of this board is for practicing serial device programming from Linux OS. Developing Linux application programs that talks to embedded devices over serial port is an important skill. For example a Linux system may be connected to GPS receiver over serial port. Linux may be connected to RFID Reader device. Or it may be connected to a GSM/GPRS modem/mobile over a serial port.

In all the above scenarious, Linux program need to talk to these devices over serial port. So a Linux programmer must learn using serial port. So our dpk-51 kit can act like any of these deviceis, this allows one develop and test serial communication applications on Linux.


dpk-ARM Kit

Hardware understanding and Driver Development

  • Understanding and Programming GPIO lines of ARM board
  • Understanding and using Timers
  • Understanding and using UART for serial communication
  • Understanding and using Interrupts in ARM
  • Understanding and using DMA
  • Understanding and using I2C interface
  • Understanding and using Ethernet Controller

Application Development

Simple Bootloader application

This is a command line interpreter program, which receives commands from the user over serial port, processes them and sends replies. The 'dpboot' program, which is present in the Flash memory of this board is the example of bootloader program. This application should do the same work.

Network Application

One of the challenging and interesting application that can be developed is a network application. To develop any networking application network protocol stack should exist. Challenging part here is to develop a simple protocol stack on your own. Next develop application that uses your network protocol stack. For example you want to develop UDP application, that network protocols should have UDP, IP, and ARP modules. And ofcourse most important one is Etherenet driver, which is developed as part of driver programs.

RTOS Application Development
  • Application without any application taks, but shell task
  • Application with multiple application tasks
  • Application that uses semaphores for intertask synchronization
  • Application that uses message queues for intertask communication
  • Application that installes interrupt handler
  • Application that uses I/O system calls to access I/O devices
  • Application that uses I/O system calls to access files
  • Application that uses Networking (socket) system calls
  • Application with device driver for RTOS

dpk-Atom Kit

Hardware understanding and Driver Development

  • Understanding and Programming parallel I/O lines
  • Understanding and using Real Time Clock (RTC)
  • Understanding and using Keyboard
  • Understanding and using Mouse
  • Understanding and using Timers
  • Understanding and using UART for serial communication
  • Understanding and using Interrupts
  • Understanding and using Ethernet Controller

As Atom board is a very powerful one, one can learn to develop advanced device drivers like the following:

  • High definition audio device driver
  • USB host device driver
  • USB client device drivers
  • IDE (ATA) Hard disk or CD-Rom drivers
  • SATA device driver
  • Graphics controller driver

Once graphics driver is available, a lot of interesting applications can be developed by using graphics frame buffer. All applications and menus available on mobile phones can be implemented on the frame buffer.

401, Sai Sushma Homes, 23/A, S.R. Nagar Main Road, Hyderabad-500038, India.
Ph: +91-40-23812090