Homework #1
ELE547 Embedded Computer Systems
Design of an FTL
for SSD
Due Date: Oct 30th, 2015
Submit all your design and program through email
Demo: Nov. 4th, 2015
We have in our lab FreescaleÕs Kinetis evaluation
boards with ARM Cortex M4 microprocessor, the TWR-K70F120M, and several modern
engineering tools for development of embedded computer systems. The hardware
and software tools available in the lab settings will enable you to design and
perform simple experiments, as well as to analyze and interpret data. Freescale Kinetis boards can be
used either in stand-alone
A solution with the LCD is needed in case of control,
measure, and diagnostics of some system or device with human-machine interface,
when the operator can actively change conditions and requirements. The D4D is
capable of generating user menu, graphics, pictures, text, and display them on
the LCD module. It allows interacting with all objects, dynamically changing,
adding, or removing them, and also read/write their status or current value.
The D4D also fully supports touch screen capabilities of the LCD displays.
¥ Supports graphical color LCD
displays of various sizes
¥ Very small RAM (volatile)
memory footprint
¥ Multiple platform support
¥ Object style of driver
¥ Very smart
support-screen-oriented structure of user code
¥ Custom screen sizes, position,
and header like a window
¥ Objects:
— Button
— Check Box / User
handled Radio Button
— Gauge
—Icon
—Label
—Menu
— Picture
— Slider
—Graph
¥ Touch screen support
¥ Multiple font support
¥ Buffer for input keys
The
TWR-RF wireless module is a Tower Controller Module compatible with the Freescale Tower System. It can function as a stand-alone,
low-cost platform for the evaluation of the MC12311 or MC1323x devices with
their development board and the appropriate Modular Reference Board (MRB)
(12311-MRB or 1323x-MRB) plugged in.
The
TWR-RF module works with the Tower Elevator Modules (TWR-ELEV) and can also be
combined with other Freescale Tower peripheral
modules to create development platforms for a wide variety of applications.
Display part:
u Read first
chapter of C:\Freescale\TWR_LCD\Documentation\TWR_LCD_DP_WalkThrough.pdf very
carefully. Finish bootloader experiment in chapter
1.3. Play with the demo and see how it works.
u Set
workspace as ÒC:\Freescale\TWR_LCD\Ó imported projects Demo_MCF51JM_SPI and
Hello_World_MCF51JM_SPI in directory ÒCW MCU 10Ó
1.
Compile
and download Demo_MCF51JM_SPI to TWR-LCD board.
2.
Read
main.c in \Sources very carefully. Draw a flowchart
of main function, put it in your lab report.
3.
Read
screen_icon.c in \Sources very carefully. Draw a
flowchart how this traffic light demo works. How many functions need to be
called for a complete demo application? List them in your lab report. How many
D4D functions were called? WhatÕs the usage of each function? List in your lab
report.
4.
Compile
and download project Hello_World_MCF51JM_SPI. Play with the demo project
5.
Read
screen_hello_world.c very carefully, modify it to
finish following tasks:
1) Add a text box in the
window, the content of the text box is your name.
2) Change the background color
to blue.
3) When touching the text box
you added, the content of the text box should change to ÒELE408_Lab6Ó
u Import
project JM128_Bootloader, flash it to the board. Try to flash a pre-compiled
image. See if it works
Some helpful links:
Freescale
cloud-connected zigbee demo:
https://community.freescale.com/docs/DOC-100958
Zigbee:
http://www.freescale.com/products/arm-processors/kinetis-cortex-m/w-series/kinetis-kw2x-tower-system-modules:TWR-KW2
x
LCD:
http://www.freescale.com/tools/embedded-software-and-tools/hardware-development-tools/tower-development-boards/perip
heral-modules/graphical-lcd-tower-system-module-with-rgb-interface:TWR-LCD-RGB
K70:
http://www.freescale.com/tools/embedded-software-and-tools/hardware-development-tools/tower-development-boards/mcu-a
nd-processor-modules/kinetis-modules/kinetis-k70-120-mhz-tower-system-module:TWR-K70F120M
Zibee ADC node:
http://www.freescale.com/pages/mc1323x-development-kits:1323x_Dev_Kits