Processor Expert
Processor Expert
Processor Expert
Processor Expert
Manual de Usuario
Processor Expert
Processor Expert es un plug-in del Code Warrior y est diseado para el rpido desarrollo de
aplicaciones para un amplio rango de DSCs. Su funcin principal es controlar la CPU, los recursos
de hardware y permitir el diseo del prototipo de manera virtual.
Sus principales caractersticas son:
Las aplicaciones son creadas partiendo de componentes llamados Embedded Beans.
Los Embedded Beans encapsulan la funcionalidad de elementos bsicos como CPUs,
perifricos on-chip de la CPU, PGA, dispositivos virtuales, etc.
Processor Expert sugiere, conecta y genera los drivers para el hardware de un sistema
embebido, perifricos o los algoritmos usados. Esto permite al usuario concentrarse en la
parte creativa del proyecto.
El usuario comienza diseando directamente definiendo el comportamiento de la
aplicacin en lugar de desperdiciar das tratando de hacer funcionar el chip.
Los beans de inicializacin generan el cdigo necesario para setear los dispositivos onchip y soportar todas sus caractersticas.
Processor Expert permite examinar fcilmente los detalles de la arquitectura y la relacin
entre el setup de los beans y la inicializacin de los registros de control de la CPU.
El usuario puede crear sus propios beans usando el Bean Wizard.
El Code Warrior posee un men con un tem llamado Processor Expert (PE desde ahora). El PE
genera el cdigo desde los beans y el Code Warrior gestiona los archivos del proyecto, la
compilacin y el proceso de debugging.
Bean.
Un bean es un objeto con una funcin definida. Puede ser accedido por propiedades, mtodos y
eventos. Las propiedades definen lo parmetros del bean (inicializacin, seteos, caractersticas,
conexin con la CPU).
Usando los mtodos se puede setear el estado del bean y leer los resultados del mismo.
Los eventos son llamados por el driver del bean cuando ocurre algo relacionado con el evento,
por ejemplo, interrupciones por hardware.
El driver del bean contiene la implementacin de los mtodos y las llamadas cuando se dan los
eventos del mismo.
Un software bean es un bean que no tiene acceso directo al hardware. El acceso al hardware
(inicializacin y control) puede ser hecho usando herencia de otro bean que si la tenga.
Un pure software bean es idntico al anterior pero sin posibilidad de heredar de ningn
hardware bean.
El driver contiene los cdigos fuentes de todos los mtodos y eventos del bean. Cada bean
(excepto el driver de CPU) tiene un driver asociado consigo.
El usuario puede crear un bean. Despus de su creacin, se tiene que escribir el cdigo de todos
los nuevos (no heredados) mtodos que haya creado para ese bean. El cdigo se escribe en un
macro lenguaje especial.
Ejemplo.
Para crear un proyecto en PE debemos ejecutar el Code Warrior. Luego, seleccionando File>New se abre la ventana en donde nos solicita indicar que tipo de proyecto deseamos crear.
Figura 1
EABI1 Stationery 2: Permite crear un proyecto para las placas de Freescale con el estndar
EABI para tener compatibilidad con OS principalmente.
EVM Example Stationery: Permite crear una aplicacin simple, a modo de ejemplo, para
las placas de evaluacin de Freescale. Estos ejemplos forman parte del paquete del Code
Warrior. Es ideal como punto de partida para realizar pruebas y hacer los primeros
contactos con el IDE y las placas EVM.
New Proyect Wizard: Es un asistente para la creacin de proyectos nuevos que facilita la
configuracin del dispositivo y carga las libreras estndar.
Emply Proyect: Es un proyecto totalmente vaco sin definiciones especficas para una
placa particular.
Makefile Importer Wizard: se utiliza para abrir un proyecto basado en makefile a un
proyecto manejado por el IDE.
Processor Expert Examples Stationery: Crea proyectos con ejemplos listos para las placas
de Freescale dentro del entorno del Processor Expert.
Processor Expert Stationary: Sirve para crear proyectos con PE basado en un template
(stationary) para una placa particular.
En nuestro caso utilizaremos el PE para generar un proyecto simple que nos facilite el primer
contacto con el IDE.
El estandard EABI (embedded-application binary interface) especifica convenciones estandares para formatos de
archivos, tipos de datos, uso de registros, organizacin de stacks y los parmetros de funciones pasados a un
programa de software embebido. Los compiladores que soportan EABI crean cdigo objeto que es compatible con el
cdigo generado por otro compilador. Esto permite, a los desarrolladores linquear con libreras generadas con
otros compiladores.
2
Stationery es un template que incluye un proyecto completo prearmado con archivos fuentes, libreras y el
apropiado seteo para el compilador y el linqueador.
En la figura 1 se puede observar el tem a seleccionar para nuestro caso, Processor Expert
Stationery. Luego ingresaremos el nombre del proyecto, por ejemplo PE TDIII y, de ser necesario,
se le dar una nueva ubicacin al mismo presionando Set. El path que indiquemos all quedar
configurado como el path base del proyecto. Por el momento no utilizaremos las solapas File y
Object ya que sirven para incluir archivos fuentes u objeto a nuestro proyecto generados en otro
proyecto. Al presionar Aceptar se abre la siguiente ventana:
Figura 2
Figura 3
Bean Selector: aqu aparecen todos los bean disponibles ordenados por grupos
funcionales.
Target CPU: aqu aparece el esquema de la CPU seleccionada. Desde esta ventana se
puede acceder a informacin de los pines del DSC con su respectiva funcionalidad y nro
de pin, por ejemplo. Adems, muestra un paneo general de los pines que tienen asociado
un bean y como est configurado el mismo. Se puede ver que existen pines ya conectados.
El PE lo muestra de esta forma porque son pines que no estn disponibles para el usuario
ya que son de alimentacin de la CPU, referencia para el ADC y de capacitares de filtraje
para el apropiado funcionamiento de la CPU.
Proyect Panel: es el panel que est sobre la izquierda de la pantalla. All aparece todo lo
referente a la configuracin del proyecto y sus archivos asociados. Por el momento, PE
agreg solo las libreras estndar. Cuando compilemos el proyecto se incluirn todos los
archivos que hayamos incluido y configurado.
En nuestro caso intentaremos comenzar con un proyecto simple el cual nos permitir
conocer, bsicamente, el IDE y transferir un programa a la placa de demostracin. Luego lo
ejecutaremos en modo debugger para analizarlo paso a paso.
Este programa simplemente invertir el estado de uno de los leds (port GPIOB1-pin 11) al
presionar el pulsador IRQ (input IREQA-pin 16).
Partiendo de la figura 3, dentro de la ventana Bean Selector solapa Categories agregamos el
bean Button al proyecto haciendo doble clic sobre el rbol CPU External Devices->EVM>Button. Este bean, a diferencia del Switch, permite asociarlo al pin IRQA del DSC. Para lograr
esto hacer doble clic en el nombre del bean agregado en la ventana Proyect Panel solapa
Processor Expert para que se abra el Bean Inspector en la seccin central de la pantalla. En
esta ventana se tienen todas las configuraciones posibles para el bean seleccionado junto con
los eventos y mtodos asociados (ver solapas) permitiendo habilitarlos o no.
En el rengln Used pin clickear sobre el signo mayor (>) para que se abra el bean heredado
que nos facilita la comunicacin con el botn. Abrir el combo Pin y seleccionar, de entre todas
las opciones, la que indica IRQA. Esto nos permite vincular la IRQA con el bean Button. De
esta manera ya tenemos configurado el botn para que, al presionarlo, genere el evento de
interrupcin y el programa salte a la funcin de atencin del evento, BTN1_OnButton en este
caso.
Para el agregado del LED, dentro de la ventana Bean Selector solapa Categories agregamos el
bean Led al proyecto haciendo doble clic sobre el rbol CPU External Devices->EVM->Led.
Una vez agregado, al igual que para el botn, seleccionamos el signo mayor dentro de Output
Pin en el bean inspector. Esto nos redirige al bean heredado dentro del cual podemos alterar
el pin que vincularemos al LED. En nuestro caso deberemos reemplazarlo por GPIOB1_RXD0.
Para evitar la generacin de cdigo innecesario deshabilitaremos todos los mdulos, en el
Proyect Panel, excepto Toggle que ser el que utilizaremos para alterar el estado del led. Para
lograr esto simplemente se hace doble clic sobre el mtodo a deshabilitar. Todos aquellos que
tengan indica que estn deshabilitados y los que tengan indica que estn habilitados.
Ya estamos en condiciones de realizar la primer compilacin del proyecto para verificar que
no existan errores y para analizar los archivos que genera el PE. Para ello presionamos F7. Si
no existieron errores la ventana Proyect Panel deber quedar como sigue:
Figura 4
Dentro de User Modules se generaron dos archivos que son los que analizaremos y en los
cuales agregaremos nuestras modificaciones.