You are on page 1of 8

Go about = abordar ; afrontar//on a daily basis = adv.

A diario// break up = dividir // hands-on =


adj. practico //overview = descripcion // expertise = experiencia //

Casi todos los sistemas integrados contienen un núcleo de procesamiento como un


microcontrolador. Y estos requieren el diseño de software de bajo nivel para poder funcionar.
Sin embargo, el diseño de software es solo una parte del sistema embebido con el que un
ingeniero de software debe estar familiarizado.

Este curso no será un curso de programación básica o microcontrolador en el que parpadeará un


LED. En su lugar, le daré una vista completa de los sistemas para el diseño de sistema embebido.
Explorarás aplicaciones practicas detalladas al ejecutar diferentes tipos de software para
aplicaciones de nivel industrial .

1. Introduction to the Module

Writing code for an embedded system is not just as simple as knowing how to write a C
program. Embedded software engineers need to have expertise and understanding hardware
concepts, knowing how to correctly write and design low-level software, and knowing how
to use tools to interact and evaluate their platform. Embedded software engineers start their
code development process on a host machine, working with tools like compilers,
debuggers, and version control. A significant amount of time is spent away from hardware,
as you develop code and prepare it to test on your target embedded system.
You will need to install a Serial Terminal
program that we can interact with later in
the course.

2. Introduction to Embedded Systems

purpose-built= hecho especificamente // across =adv. En todo// bring into play = poner en juego(google)

Each embedded system has a special purpose and constraints in their system resources.
Los ordenadores personales or server architectures are designed to work with a variety of
applications dynamically adding and removing programs through the lifetime of the
platform. This is made possible because of an extensive amount of processing power and
memory resources.

First, the target embedded system will likely use printed circuit board technology, or PCBs. A PCB
is a substrate with conductive wires.It interconnects many integrated circuits and passive
developments that all have been soldered on to the board. This includes your processor and your
power converters.

An external programmer is connected to the embedded systems processor, in order to install a


target application into the internal memory. Modern designs have begun to integrate extra
onboard programmer-debugger hardware to simplify this process.
A host machine is responsible for developing and compiling and coordinate the install
which is equally as important as development of the system PCB itself. The host machine
is where your software files live. An embedded software engineer will focus in becoming
an expert on the host development environment, the tools and most importantly, the
processor.
Microprocesadores y microcontroladores no son lo mismo. Un microcontrolador es un
microprocesador con funciones adicionales, como memoria y hardware periférico. La parte
procesador del microcontrolador se llama la CPU o la unidad central de procesamiento. Esta es
una pieza de hardware que ejecuta nuestro software al buscar y ejecutar instrucciones
ensambladas en la memoria. Estas instrucciones realizan operaciones matemáticas (s.m.o. se debe
referir a las operaciones aritméticas) y lógicas, además de coordinar el movimiento de datos.

La CPU tiene muchos subcomponentes con muchas responsabilidades. Muchos registros, de


propósito general y de propósito especial, almacenan datos de operaciones y estados del sistema.
Una unidad de lógica aritmética, o ALU, realiza las operaciones asembler fundamentales de bajo
nivel, un controlador de interrupciones coordina una solicitud de evento síncrono del procesador.
Por último, se utiliza una interfaz de depuración para ayudar a solucionar problemas de los
programas instalados(s.m.o. en la memoria del microcontrolador). La CPU y sus subsistemas
interactúan con otros recursos del microcontrolador (s.m.o. mismo) a través de uno o más buses.
Un controlador de bus ayuda al procesador en esta transmisión de datos entre la memoria (s.m.o.
incluidos todo aquello que guarde datos como los registros ) y los periféricos. La memoria guarda
los datos con los que operamos, así como el programa que estamos ejecutando. Estos datos se
almacenan en una combinación de flash y memoria de acceso aleatorio o RAM. Un sistema de
reloj proporciona sincronizaciones en todos estos componentes. Y para terminar, el hardware de
administración de energía on trip se utiliza para la regulación y el monitoreo.
Entienda que el trabajo de un ingeniero de software es
crear una solución robusta optimizada para estos
sistemas. Los sistemas embebidos son plataformas de
software (s.m.o. hardware porque luego habla de
características de hardware como memoria ,etc) únicas
porque no tienen una gran cantidad de poder de
cómputo, memoria o hardware periférico. Enfocarse en
escribir un software que pueda codificar oficialmente
alrededor de esas limitaciones será un enfoque
primordial para este curso.

3. Embedded Software Engineering

break sth. down =desglosar algo//depict=representar//timing = sincronización//

They depict how


different blocks of
code communicate
and connect to one
another. A Software
Block Diagram can
also depict a
software system in
layers.
Los drivers interactuan con
las capas de hardware. There
are software (bootloader) to
help boot or start the system.
There's an operating system
to schedule processes and
manages resources. There
are shared libraries
(middleware and libs ) that
many software components
use and finally the higher
level software reflects user
applications.
Sm.o. HAL es el bare-metal
firmware o interface de
hardware que permite al
software sobre el se vuelva
independiente de la
plataforma o agnóstica
(independiente ) de la
implementación de hardware
especifico, portables en todas
las plataformas.
La Capa de abstracción de
hardware (HAL) permite al
desarrollador de la capa de
aplicación escribir código
independiente de la
plataforma.

Remember embedded systems are highly specialized with limited resources.


Historically a software engineer was dependent on the development of hardware systems.
Hardware designers provide the specifications that software engineers would use to
interface with the hardware layer. Without hardware, no on-target testing could occur.
On-target testing is just a term that refers to installing your code on to your particular
embedded system instead of another.
Los simuladores, software que imita o
pretende imitar el comportamiento del
hardware sin el hardware real.
Emuladores, la plataforma de tablero
rígido que imita el funcionamiento de
su sistema previsto. Compiladores, es
el software que permite a los desarro
lladores pre-ejecutar código para su
arquitectura prevista. Instaladores, una
combinación de software y hardware
que permite instalar programas
ejecutables compilados en una
plataforma. And debuggers, a
El rol del ingeniero de software muchas veces no solo hardware-software solution that
incluirá el diseño del producto de software, sino allows programmers to test and
también la validación del software de la plataforma de validate their executable programs.
hardware.

Los simuladores y los emuladores1 permitirán la validación del diseño antes de la llegada del
hardware. Los compiladores, instaladores y depuradores proporcionarán un rápido desarrollo de
características para su embedded target2 y una manera fácil de solucionar nuestros errores.

NOTA 1 (https://stackoverflow.com/questions/1584617/simulator-or-emulator-what-is-the-
difference)
Los emuladores se centran en recrear el comportamiento de un sistema, sin tener en cuenta cómo
funciona el sistema internamente. Los simuladores se centran en modelar los componentes de un
sistema. Utiliza un emulador cuando se preocupa principalmente por lo que hace un sistema, y un
simulador cuando le importa cómo lo hace.

La emulación es el proceso de imitar el comportamiento observable exteriormente para coincidir


con un objetivo existente. El estado interno del mecanismo de emulación no tiene que reflejar con
precisión el estado interno del objetivo que está emulando. La simulación, por otro lado, implica
modelar el estado subyacente del objetivo. El resultado final de una buena simulación es que el
modelo de simulación emulará el objetivo que simula. Idealmente, debería poder observar la
simulación y observar las propiedades que también vería si observara el objetivo original. FIN
NOTA 1.

NOTA 2:

The "Host" is the system on which one does the development of the code that will run on the
"Target" . Embedded Target significa q usted crea su código con el compilador de destino
correspondiente y luego lo transfiere a su target (controlador). FIN NOTA 2.

You might also like