2 SoftwareDevelopment
2 SoftwareDevelopment
2. Software Development
© Lothar Thiele
Computer Engineering and Networks Laboratory
Where we are …
2-2
Remember: Computer Engineering I
Compilation of a C program to machine language program:
textual representation
of instructions
binary representation
of instructions and data
2-3
Embedded Software Development
Software Developer
previous
slide Software
Source Code Simulator
Binary operating
Compiler Code system
FPGA
Flash
sensors
Debugger actuators
micro-
processor RAM
host PC
2-5
Software Development (ES-Lab)
Software development is nowadays usually done with the support of an IDE
(Integrated Debugger and Editor / Integrated Development Environment)
edit and build the code
debug and validate
2-6
Software Development (ES-Lab)
object libraries target configuration file
object libraries that
assembly that are referenced specifies the connection to the
contain the operating
code in the code target (e.g. USB) and the
system (if any)
target device
the executable output file
that is loaded into flash
source code memory on the processor
file in C
relocatable
object file
Linker command file that tells the linker report created by the linker describing
how to allocate memory and to stitch where the program and data sections
the object files and libraries together. are located in memory. 2-7
Software Development (ES-Lab)
object libraries target configuration file
object libraries that
assembly that are referenced specifies the connection to the
contain the operating
code in the code target (e.g. USB) and the target device
system (if any)
relocatable
object file
Linker command file that tells the linker report created by the linker describing
how to allocate memory and to stitch where the program and data sections
the object files and libraries together. are located in memory. 2-8
Software Development (ES-Lab)
object libraries target configuration file
object libraries that
assembly that are referenced specifies the connection to the
contain the operating
code in the code target (e.g. USB) and the target device
system (if any)
relocatable
object file
Linker command file that tells the linker report created by the linker describing
how to allocate memory and to stitch where the program and data sections
the object files and libraries together. are located in memory. 2-9
Software Development (ES-Lab)
object libraries target configuration file
object libraries that
assembly that are referenced specifies the connection to the
contain the operating
code in the code target (e.g. USB) and the
system (if any)
target device
the executable output file
that is loaded into flash
source code memory on the processor
file in C
relocatable
object file
Linker command file that tells the linker report created by the linker describing
how to allocate memory and to stitch where the program and data sections
the object files and libraries together. are located in memory. 2 - 10
Software Development (ES-Lab)
object libraries target configuration file
object libraries that
assembly that are referenced specifies the connection to the
contain the operating
code in the code target (e.g. USB) and the
system (if any)
target device
the executable output file
that is loaded into flash
source code memory on the processor
file in C
relocatable
object file
Linker command file that tells the linker report created by the linker describing
how to allocate memory and to stitch where the program and data sections
the object files and libraries together. are located in memory. 2 - 11
Software Development (ES-Lab)
object libraries target configuration file
object libraries that
assembly that are referenced specifies the connection to the
contain the operating
code in the code target (e.g. USB) and the
system (if any)
target device
the executable output file
that is loaded into flash
source code memory on the processor
file in C
relocatable
object file
Linker command file that tells the linker report created by the linker describing
how to allocate memory and to stitch where the program and data sections
the object files and libraries together. are located in memory. 2 - 12
Much more in the ES-PreLab …
The Pre-lab is intended for students with missing background in software
development in C and working with an integrated development environment.
2 - 13
Much more in the ES-PreLab …
The Pre-lab is intended for students with missing background in software
development in C and working with an integrated development environment.
2 - 14