Abstract: Answers to commonly asked questions about the TINI® platform. Includes information for getting started, software setup and reference designs.
What is the TINI runtime environment?
As IP networks have become more pervasive, it is now a necessary to network enable embedded systems. However, network protocols tend to be complicated to code and require a lengthy test cycle. The TINI runtime environment provides the entire software infrastructure needed to write network-aware applications for Maxim IP-ready microcontrollers. The runtime environment provides a full TCP IPv4/v6 protocol stack verified for compliance to Internet standards. The network stack is driven by a multitasking operating system (TINI-OS). Using the runtime environment and its built-in APIs, developers can quickly write embedded applications that are network aware.
What microcontrollers can host the TINI runtime environment?
The TINI runtime environment is designed to execute on microcontrollers produced by Maxim. The first microcontroller specifically developed for the runtime environment is the DS80C400 Network Microcontroller. The DS80C390, the predecessor to the DS80C400 Network Microcontroller, also can host the TINI runtime environment.
What are the features of the DS80C400?
Four-clock-cycle 8051 core
16 Mb contiguous addressing
10/100 Base-T Ethernet MAC
Operation up to 75MHz
Low-power modes
Three serial ports
24 general-purpose I/O pins
1-Wire® Master
64k ROM
Full TCP/IP v4/v6 network stack
Memory manager
Multitasking operating system
Automatic network boot
Which of the TCP/IP suite of protocols are supported?
Currently supported network protocols include:
PPP
IP v4/v6
TCP
UDP
IGMP
ICMP
DAD
SMTP
DHCP
FTP
HTTP
TELNET
What network interfaces are supported?
Both local and wide area networks can be accessed using the TINI stack. Direct support for Ethernet allows designs that connect to a LAN. PPP enables IP over serial, which supports networking over wireless connections or through phone lines using analog modems.
What is IPv6 and why is it supported in the network stack?
While most of the world is currently using IPv4, many new products will be required to support the next generation of IP protocols—IPv6. The TINI runtime environment is the first 8-bit embedded software with IPv6 support. Currently, IPv6 is most important in Asian markets, especially Japan. This is due to the lack of globally unique IP addresses allotted by IANA¹ within Asian countries. Cisco, Sun, Microsoft and other companies are all currently supporting and/or promoting IPv6. Over the next few years to overcome a shortage of IPv4 network addresses, support of IPv6 will become a necessity.
What I/O protocols are supported?
I/O interfaces provided with the runtime environment include²:
Serial (RS232/485)
SPI™
Parallel
I²C
1-Wire
CAN
Can additional I/O protocols be supported?
If a different I/O protocol is required, supporting APIs can be written in Java®, C or 8051 assembly language. Assembly language routines are accessible from Java and allow for hard real-time response to external events or high-speed I/O.
Do I have to pay royalties on the use of your TCP/IP stack?
Unlike other networking solutions, Maxim charges no royalties for the use of its ROM-based TCP/IP stack.
Do I have to pay royalties on software derived from your TINI operating system or any sample/example code provided by Maxim?
No. You can use or adapt our sample/example code as needed for your design. However, when using the TINI Java Runtime Environment, a DS2502P-E48 is required to obtain the network MAC address. In addition, using the DS2502P-E48 is proof of acceptance of the TINI Runtime License. If you prefer to obtain your Ethernet MAC address from a different source, please contact software support.
Do I have to pay royalties on products that I design based on your hardware reference designs?
No.
Can the microcontroller boot from the network?
Yes. A major feature contributing to always on-reliability is support for automatic network boot.
What are the advantages of automatic network boot?
Automatic network boot allows increased reliability of an embedded design. An application can be downloaded from the network to local memory and then executed by the microcontroller. This removes the need to have nonvolatile local storage. Another significant benefit to network boot is the ability to update an application remotely.
If the network is down, will the microcontroller still execute?
Yes. In the event of network failure, the microcontroller can execute the most recently downloaded application.
What software language does the TINI runtime environment support?
Applications are written using Java and/or assembly language. C language applications can be written using the Keil or IAR development tools. More information can be found at http://files.dalsemi.com/tini/ds80c400/c_libraries/
What is the current version of the runtime environment?
Table 1.
I/O Interfaces
1.0x
1.1x
RS232 Serial
Up to 4
Up to 4
1-wire
2
2
I²C
1
1
RS485
1
SPI
1
CAN
2
1
Networking
Full TCP/IP Stack
PPP
IPv4
IPv6
DAD
ND
UDP
IGMP
ICMP
SMTP
DHCP
FTP
TELNET
HTTP
Java Features
Processes
8
8
Threads
16
16
Serialization
Dynamic Class Loading
Reflection
Primitive Types
All
All
Negative Methods
Assembly
Assembly
IEEE 754 Floating Point
API Packages
Java API Version
JDK³1.1.8
JDK 1.1.8/1.3/1/44
java.lang
java.io
java.util
Java.net
java.comm
How do I begin development?
Please see App Note 612 for details on getting started with the TINIm400 verification module.
Are the schematics for the TINI evaluation kit available?
The TINI discussion list is the best forum for technical questions. Go to http://discuss.dalsemi.com to sign up.
¹IANA - Internet Assigned Numbers Authority
²A Bit-bang SPI library is available for the DS80C400
³The JDK (Java Developers Kit) is provided free of charge by Sun Microsystems. The APIs defined in the JDK define the capabilities of the Java platform. The bulk of the runtime environment's Java API follows the standards of JDK1.1.8. 4Serialization, dynamic class loading and reflection follow the definitions provided in JDK1.2. IPv6 support was first introduced in JDK1.4.
1-Wire is a registered trademark of Maxim Integrated Products, Inc.
Java is a trademark of Sun Microsystems, Inc.
SPI is a trademark of Motorola, Inc.
Automatic Updates
Would you like to be automatically notified when new application notes are published in your areas of interest? Sign up for EE-Mail™.