LM - Build An ARM-based Embedded Web Server
LM - Build An ARM-based Embedded Web Server
LM - Build An ARM-based Embedded Web Server
Agenda
The Cortex family of ARM processors provides a range of solutions optimized around
specific market applications across the full performance spectrum.
Cortex underlines ARM's strategy of aligning technology around specific market
applications and performance requirements.
The ARM Cortex family is comprised of three series, which all implement the Thumb-2
instruction set to address the increasing performance and cost demands of various
markets:
Note:
ARM Code 32-bit
Thumb Code 16-bit
Thumb-2 Code mostly 16-bit & some 32-bit (25% Faster, 26% Smaller)
What is Ethernet?
Five data rates are currently defined for operation over optical fiber and
twisted-pair cables:
TCP/IP Model
TCP/IP defines a set of rules to enable computers to communicate over a
network. specifying how data should be packaged, addressed, shipped, routed
and delivered to the right destination.
Application layer
Transport layer
Network/Internet layer
Physical layer
Application Layer: DHCP, DNS, FTP, HTTP, IMAP4, IRC, NNTP, XMPP, POP3,
RTP, SIP, SMTP, SNMP, SSH, TELNET, RPC, RTCP, RTSP, TLS (and SSL), SDP,
SOAP, GTP, STUN, NTP, etc...
Network/Internet Layer: IP (IPv4, IPv6), OSPF, IS-IS, BGP, IPsec, ARP, RARP,
RIP, ICMP, ICMPv6, IGMP, etc...
Data Link Layer: Ethernet, 802.11 (WLAN), 802.16, Wi-Fi, WiMAX, ATM, DTM,
Token ring, FDDI, Frame Relay, GPRS, EVDO, HSPA, HDLC, PPP, PPTP, L2TP,
ISDN, ARCnet, LLTD, etc...
Acronym
TCP
IP
UDP
ARP
RARP
BOOTP
DHCP
BSD
ICMP
IGMP
PPP
SLIP
DNS
FTP
TFTP
RIP
RTP/RTCP
Telnet
HTTP
SNMP
SMTP
POP3
SNTP
PTP*
NAT
SSL
IPSec
IKE
Translation
- Transmission Control Protocol
- Internet Protocol
- User Datagram Protocol
- Address Resolution Protocol
- Reverse Address Resolution Protocol
- Bootstrap Protocol
- Dynamic Host Configuration Protocol
- Berkeley Socket
- Internet Control Message Protocol
- Internet Group Management Protocol
- Point-To-Point Protocol
- Serial Line Internet Protocol
- Domain Name System
- File Transfer Protocol
- Trivial File Transfer Protocol
- Routing Information Protocol
- Real-time Transport (Control) Protocol
- Terminal Emulation
- Hypertext transfer Protocol Server
- Simple Network Management Protocol
- Simple Mail Transport Protocol
- Post Office Protocol-3
- Synchronized Network Time Protocol
- Precision Time Protocol (also called IEEE1588)
- Network Address Translation
- Secure Sockets Layer
- Internet Protocol Security
- Internet Key Exchange
Wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
wikipedia Link
High-level Purpose
(guarantee delivery)
(data oriented)
(fire-and-forget)
(finding a address)
(finding a address)
(finding a address)
(adding devices to a network)
(connecting to the internet)
(error message generation)
(manage IP multicast groups)
(direct point-to-point connection)
(direct point-to-point connection)
(translate host name to address)
(transfer files point-to-point)
(FTP, but for smaller files)
(routing internal networks)
(send audio/video over internet)
(remote access)
(publish/retrieve web pages)
(manage/monitor client status)
(send email over internet)
(retrieve email over internet)
(network clock synchronization)
(deterministic synchronization)
(network privacy)
(secure communication)
(virtual private network)
(security key/certificate sharing)
Media Access Controller (MAC) Part of the Data Link Layer. The MAC
provides addressing and channel access control mechanisms that make it
possible for several terminals or network nodes to communicate within a
multipoint network.
Physical Layer (PHY) - The most basic network layer, providing only the
means of transmitting raw bits rather than packets over a physical data link
connecting network nodes.
Magnetics (Isolation Transformer) - Part of the Physical layer used to
decouple PHY from the physical Ethernet cable.
RJ45 - That Ethernet Connector.
10mm
10mm
Main Menu
Serial Interfaces
Analog
IEEE 1588
CAN MAC
UART
I2C
SSI/SPI
I2S
ADC
Channels
ADC Speed
(Ksps)
Internal Temp
Sensor
LDO Voltage
Regulator
Analog
Comparators
Digital
Comparators
256
64
50
1000
46
100-LQFP
108-BGA
LM3S8000s
12
256
64
50
1000
46
100-LQFP
108-BGA
LM3S9000s
256
96
100
2 O/H/D 3
16
1000
65 100-LQFP
Hibernate
QEI
10/100 Ethernet
MAC+PHY
19
GPIOs (5-V)
Outputs
LM3S6000s
Flash (KB)
Fault Inputs
ADC (10-bit)
Digital
RTC
Motion
Control
PWM
Package Options
General Purpose
Timer Modules
Core
16-bit Timer
Watchdog
Timers
CCP
Memory and
Speed
SRAM (KB)
ROM SW
Library
Max Speed
(MHz)
Internal
Precision
Oscillator
32-bit Timer
MCUs in Series
Main Menu
CD containing:
Reset Switch
Debug Out LED
Navigation Buttons
Power LED
OLED Graphics Display
34 Pin I/O Breakout
Header
Stellaris LM3S6965
microSD Memory Slot
10/100BaseT
Ethernet Jack
Speaker
In-circuit Debug
Interface
USB Interface
The board can be used to debug other Stellaris hardware such as a custom
board. This feature is supported by Keil, IAR, CodeSourcery, and Code Red
tools.
JTAG
30-day full
function.
Upgradeable.
32KB addresslimited.
Upgradeable.
16KB addresslimited.
Upgradeable.
Full functional;
locked to board.
Upgradeable.
Compiler
GNU C/C++
IAR C/C++
RealView C/C++
GNU C/C++
Debugger / IDE
gdb / Eclipse
C-SPY /
Embedded
Workbench
Vision
code_probe /
Eclipse-based
tool suite
Full Upgrade
199 USD
personal edition /
3000 USD full
support
2700 USD
MDK-Basic (256
KB) = 2000
(2895 USD)
999 USD
(upgrade to run
on customer
platform)
J-Link, ~299
USD
U-Link, ~199
USD
JTAG Debugger
Main Menu
uip
Protocols supported
Website
http://www.sics.se/~adam/uip
Protocols supported
Memory requirements
lwip
Memory Requirements
Website
http://www.sics.se/~adam/lwip
http://savannah.nongnu.org/projects/lwip
Log in to Luminary
Micro website
Sign up for automatic
updates on:
Use the USB cable supplied in the kit to power the eval board.
Connect the mini-b (smaller) end of the USB cable to the connector labeled
USB TO JTAG/SWD on the EVB.
Connect the other end (Type A) to a free USB port on your host PC.
Connect the Ethernet cable supplied in the kit between the eval board and
the connector on your laptop (unless you have a router supporting DHCP
available in which case you should plug both into this instead).
When you plug in the EVB for the first time, Windows starts the Found New
Hardware Wizard and asks if Windows can connect to Windows Update to
search for software. Select No, not this time and then click Next.
You will need administrator privileges to install the device drivers
A Found New Hardware Wizard appears asking to install drivers for each of
these devices in Sequence
./Stellarisware/boards/ek-lm3sxxxx
Keil
IAR
Codered
Codesourcery
*.mpw
*.eww
*.xml
makefile
The Code Red IDE is a customized version of the open source Eclipse IDE (Europa
release)
Workspace/source
browser
Source editor
Outline view: Include
files, function
prototypes, etc.
Quick start
shortcuts
Console, datasheet
browser, error window
The Debug Perspective has standard Eclipse debug capabilities plus the Code Red
SWV plug-in
bitband
blinky
boot_demo1
boot_demo2
boot_serial
enet_io
enet_lwip
enet_ptpd
enet_uip
gpio_jtag
graphics
hello
interrupts
mpu_fault
pwmgen
qs_ek-lm3s6965_revc
sd_card
uart_echo
watchdog
Ethernet examples
enet_io
enet_lwip
o
Serves web
pages from
internal flash or
from user microSD card
o
Extended support
for SSI & CGI
added to lwIP
HTTPD
o
All web site files
are stored as a
file system image
(lmi_fsdata.h)
enet_uip
o
Serves basic
single page
o
Web pages
stored as ascii
character array
(httpd.c)
Main Menu
QuickStart/lwip
o
Serves web
pages from
internal flash
o
Serves map for
arcade game
o
All web site files
are stored as a
file system
image (fsdataqs.h) linked into
the application
image in flash.
Main Menu
IP Address Assignment
- io_fsdata.h
- lmi_fsdata.h
enet_io
enet_lwip
makefsfile -i fs -o io_fsdata.c -h r
Demonstrations
Factory automation
Small appliances
Serial ports
Software
Robotic Arm
Servo Control
Board
CAN cable
Geared
BLDC Motor
Brushless DC
Motor Controller
Web Browser Console for Automation System Demo