High-Performance Embedded Programming with the Intel Atom Platform

Tutorial Structure

Tutorials Source (code and ancillary) files

Getting Started

  • Tutorial
  • Topics:
    • Getting Started with the DE2i-250 Development Kit and Ubuntu Linux: installation, setup, examples.

C/C++ Programming Basics

  • Tutorial
  • Topics:
    • C Basics, Pointers and Arrays, Dynamic Memory Allocation, Functions, Structures, read/write text/binary files
    • C++ Programming: Objects, operator overloading, functors
    • Use of makefiles for compilation

Multi-threading (pthreads)

Multi-core software development (TBB)

Real-Time Programming

  • Tutorial
  • Topics:
    • Real-Time Operating System (RTOS)
    • Interrupts: Sources, ISRs, Latency
    • Direct Memory Access
  • (.c, .cpp, .h files)

Optimizing Embedded Applications

  • (.c, .cpp, .h files)


  • Tutorial
  • Industry-relevant applications:
    • Convolutional Neural Networks
    • Adaptive Beamforming
    • Image Filtering: Spatial and Radon-based 2D convolution
  • (.c, .cpp, .h files)





This material is based upon work supported by Intel Corporation. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of Intel Corporation.


Reconfigurable Computing Research Laboratory (RECRLab), Electrical and Computer Engineering Department, Oakland University