Skill Set Name: Embedded Development Environment

Topics Level Sub topics Skill Category No Code Share comment
Makefile II

 own projects by fluently writing Makefiles that can
 


  •  Primitives of Makefile (target, dependency, rule)
    • MACRO and .SUFFIXES
    • Pre-defined macro
    • $<, $@, $?
    • Make depend
  • Able to write Recursive Makefiles
    • Multiple and hierarchical directories
  • Able to write Makefiles for building and installing libraries
    • Static libraries
    • Shared libraries - -fPIC & -shared options in GCC
    • PATH and Environment variables
    • Linux commands – ar, ldconfig
    •  
9-2-1-II
Makefile II

To have ability to build own projects by fluently writing Makefiles that can build and install static and/or dynamic libraries.


  • Prerequisite:
    • 6-2-1-I : Development flow and tools
    • 6-2-2-I : Outlone of software development environment

 

  • Able to write Makefiles
    • Primitives of Makefile (target, dependency, rule)
    • MACRO and .SUFFIXES
    • Pre-defined macro
    • $<, $@, $?
    • Functions
    • Make depend
  • Able to write Recursive Makefiles
    • Multiple and hierarchical directories
  • Able to write Makefiles for building and installing libraries
    • Static libraries
    • Shared libraries - -fPIC & -shared options in GCC
    • PATH and Environment variables
    • Linux commands – ar, ldconfig

 

9-2-1-II
Managing project I

To have the ability to use tools for managing OSS projects collaboratively.


  • Understanding types of version control systems
    • Revision control system (RCS)
    • Concurrent Versioning System (CVS, Subversion)
    • Distributed Versioning System (GIT, BAZZAR)
  • Ability to Use Subversion
    • Rationales for Subversion
    • Setting up Subversion server
    • Initializing project
    • Using Subversion commands (check-in, check-out, etc)
    • Performing backup and recovery
  • Understand the characteristics of other tools
  • CVS
  • Etc

 

9-2-2-I
GNU tools II

To have ability to use advanced GNU tools for releasing and managing source codes.


Makefile
  • Able to use autoconf
    • Rationales for autoconf
    • Configure script
    • Configure.ac
    • Macros
  • Able to use automake
    • Rationales for automake
    • Makefile.in
    • Makefile.am
    • Recursive Makefile.am
  • Use more tools – gcov, ctags, cscope
9-2-3-II
GNU tools I

To understand the roles of basic GNU tools and their relationships.


  • Understand compile process
  • Understand bintuils
  • Able to use basic GNU tools for compiler, load, library management
  • Understand relationships of GNU tools
    • Roles and relationships in gcc, make, automake, autoconf, //GDB

 

9-2-3-I
Building cross development environment I

To have ability to build cross development environments.


  • Understand frameworks of cross development environment
    • Target and Host
    • Connections between target & host
  • Able to use minicom
    • Connecting serial connection
    • Setting up minicom – baud rate, parity, etc.
  • Able to use NFS
    • Understanding NFS
    • Setting NFS between host and target
  • Able to use binutils and cross compiler
    • Target compilers - Gas, gcc
    • Lib and includes for target machine
    • Setting environment variables (INC, LD_LIB, CC, PATH, etc) for cross compiler
9-2-4-I
Debugging with GDB I

To have ability to debug source code using debugging tools such as GDB.


  • Able to use debugging tool (GDB)
    • Using Gcc options
    • Using GDB commands – Run, Step, Next, Trace, Break, Watch point,Inspection for variable and register
    • Debugging multithread programs
    • Debugging libraries
9-2-5-I
Bug tracking I

To have ability to install and use bug tracking tools.


  • Able to use basic operations of Bugzilla
  • Able to install Bugzilla server
  • Understand other bug/issue tracking tools
    • Issue tracking – Mantis, Trac
9-2-6-I
Remote debugging I

To have ability to setup remote debugging environment.


  • Able to setup remote debugging environment with GDB
    • Concept of remote GDB protocol
    • Running GDB server on target machine
    • Attaching
    • Command-line arguments for GDB server
  • Able to use remote debugging environment with GDB
    • Connecting to GDB server
    • Sending files to remote target
    • Monitor command to GDB server
    • Remote configuration
9-2-7-I