DAVE DIVELK Quick Start Manual

ARM Cortex-A8 CPU Module Family
Lite Line
Diva Embedded Linux Kit (DIVELK)
Quick Start Guide
DAVE Embedded Systems
www.dave.eu
info@dave.eu
<Page intentionally left blank>
July, 2015 2/52
Table of Contents
1 Preface...................................................................................................................................5
1.1 About this manual...........................................................................................................5
1.2 Copyrights/Trademarks...................................................................................................5
1.3 Standards........................................................................................................................5
1.4 Disclaimers.....................................................................................................................5
1.5 Warranty..........................................................................................................................6
1.6 Technical Support...........................................................................................................6
1.7 Related documents.........................................................................................................7
1.8 Conventions, Abbreviations, Acronyms..........................................................................8
2 Introduction..........................................................................................................................10
2.1 DIVA SOM.....................................................................................................................10
2.2 Embedded Linux...........................................................................................................11
2.3 DIVELK.........................................................................................................................12
2.3.1 Kit Contents...........................................................................................................14
2.3.2 DIVELK Release Notes.........................................................................................15
2.3.2.1Version 2.1.0.....................................................................................................15
2.3.2.2Version 2.0.0.....................................................................................................15
2.3.2.3Version 1.0.0.....................................................................................................16
2.3.2.4Releases history................................................................................................16
3 DIVELK Quick Start..............................................................................................................17
3.1 Unboxing.......................................................................................................................17
3.2 Hardware setup.............................................................................................................18
3.3 First boot.......................................................................................................................18
3.4 DVDK installation..........................................................................................................20
3.4.1 DVDK features.......................................................................................................20
3.4.2 MicroSD contents..................................................................................................21
3.4.3 Importing the virtual machine................................................................................21
3.4.4 Launching the virtual machine...............................................................................23
4 Developing Environment......................................................................................................26
4.1 Introduction...................................................................................................................26
4.2 Software components...................................................................................................27
4.2.1 Toolchain................................................................................................................27
4.2.2 Bootloader.............................................................................................................27
4.2.3 Kernel....................................................................................................................28
4.2.3.1Linux Device Tree.............................................................................................28
4.2.4 Target root file system...........................................................................................29
4.2.5 Yocto......................................................................................................................29
4.3 Working with DIVELK...................................................................................................30
4.3.1 The build system...................................................................................................30
4.3.2 Overview of the installed components..................................................................30
4.3.3 Setting up the server environment........................................................................32
July, 2015 3/52
4.3.3.1TFTP Server......................................................................................................32
4.3.3.2NFS Server........................................................................................................33
4.3.3.3Pre-built toolchain.............................................................................................33
4.3.3.4Pre-built root file system....................................................................................34
4.4 Building the software components with Yocto..............................................................35
4.4.1 Prerequisites..........................................................................................................35
4.4.2 Initializing the build environment...........................................................................36
4.4.3 Build the Yocto image............................................................................................36
4.5 Building the software components outside Yocto.........................................................37
4.5.1 Build/configure U-Boot..........................................................................................37
4.5.2 Build/configure Linux kernel..................................................................................38
4.5.3 Build a custom application.....................................................................................39
5 DIVELK use cases...............................................................................................................40
5.1 DIVA Frequency Scaling...............................................................................................40
5.2 Forcing the kernel to use a limited amount of RAM.....................................................41
6 Frequently Asked Questions................................................................................................42
6.1 Q: Where can I found DIVA SOM information?............................................................42
6.2 Q: I've received the DIVELK package. How am I supposed to start working with it?. .42
6.3 Q: How can I update the DIVELK version?..................................................................43
6.4 Q: How can I work with the XYZ peripheral/interface?.................................................43
6.5 How can I configure the DIVA system to boot from network?......................................43
6.6 Q: Where can I found information regarding the PRUs?..............................................44
6.7 Q: Can you suggest some guidelines for the carrier board design?............................45
6.8 Q: The system doesn't boot anymore. On the serial console I see just “CCCC”
characters... Is there a recovery procedure?........................................................................45
7 Appendices...........................................................................................................................46
7.1 A: boot messages.........................................................................................................46
July, 2015 4/52
1 Preface
1.1 About this manual
This manual describes the DIVA Embedded Linux Kit (DIVELK) and serves as a quick guide for start working with the development kit.
1.2 Copyrights/Trademarks
Ethernet® is a registered trademark of XEROX Corporation.
All other products and trademarks mentioned in this manual are property of their respective owners.
All rights reserved. Specifications may change any time without notification.
1.3 Standards
DAVE Embedded Systems is certified to ISO 9001 standards.
1.4 Disclaimers
DAVE Embedded Systems does not assume any responsibility for availability, supply and support related to all products mentioned in this manual that are not strictly part of the DIVA CPU module, the DIVAEVB-Lite carrier board and the DACU carrier board.
DIVA CPU Modules are not designed for use in life support appliances, devices, or systems where malfunctioning of these products can reasonably be expected to result in personal injury. DAVE Embedded Systems customers who are using or selling these products for use in such applications do so at their own risk and agree to fully indemnify DAVE Embedded Systems for any damage resulting from such improper use or sale.
July, 2015 5/52
1.5 Warranty
DIVA SOM, DIVAEVB-Lite and DACU are guaranteed against defects in material and workmanship for the warranty period from the shipment date. During the warranty period, DAVE Embedded Systems will at its discretion decide to repair or replace defective products. Within the warranty period, the repair of products is free of charge provided that warranty conditions are observed.
The warranty does not apply to defects resulting from improper or inadequate maintenance or handling by the customer, unauthorized modification or misuse, operation outside of the product’s specifications or improper installation or maintenance.
DAVE Embedded Systems will not be responsible for any defects or damages to other products not supplied by DAVE Embedded Systems that are caused by a faulty DIVA module, DIVAEVB-Lite or DACU.
1.6 Technical Support
We are committed to making our products easy to use and will help customers use our CPU modules in their systems.
Technical support is delivered through email for registered kits owners. Support requests can be sent to support-diva@dave.eu. Software upgrades are available for download in the restricted download area of DAVE Embedded Systems web site:
http://www.dave.eu/reserved-area. An account is required to
access this area.
Please refer to our Web site at
http://www.dave.eu/dave-cpu-module-am335x-diva.html for the
latest product documents, utilities, drivers, Product Change Notices, Board Support Packages, Application Notes, mechanical drawings and additional tools and software.
July, 2015 6/52
1.7 Related documents
Document Location
DAVE Embedded Systems
Developers Wiki
AM335x Technical Reference Manual
DIVA main page on DAVE
Embedded Systems
Developers Wiki
DIVA Hardware Manual
DIVA Software Manual
AM335x Portal (on TI Embedded Processors Wiki )
http://wiki.dave.eu/index.php/Main_Page
http://www.ti.com/lit/ug/spruh73k/spruh7 3k.pdf
http://wiki.dave.eu/index.php/Category:D iva
http://www.dave.eu/sites/default/files/file s/diva-hm.pdf
http://wiki.dave.eu/index.php/Software_ Manual_(Diva)
http://processors.wiki.ti.com/index.php/Si tara_AM335x_Portal
DIVAEVB-Lite page on DAVE
Embedded Systems
Developers Wiki
DACU User's Guide
Building Embedded Linux Systems By Karim Yaghmour.
http://wiki.dave.eu/index.php/DivaEVB-Li te
Provided with kit documentation
This book covers all matters involved in developing software for embedded systems. It is not a reference guide, but it provides a complete and exhaustive overview that helps the developer save a lot of time in searching for such information on the Internet
July, 2015 7/52
Document Location
Training and Docs sections of Free Electrons website.
Tab. 1: Related documents
Brief but still exhaustive overview of the Linux and Embedded Linux world.
1.8 Conventions, Abbreviations, Acronyms
Abbreviation Definition
BTN Button
DIVELK DIVA Embedded Linux Kit
EMAC Ethernet Media Access Controller
GPI General purpose input
GPIO General purpose input and output
GPO General purpose output
PCB Printed circuit board
PMIC Power Management Integrated Circuit
PRU Programmable Real-Time Unit
PSU Power supply unit
RTC Real time clock
SOC System-on-chip
SO-DIMM Small Outline Dual In-line Memory
Module
SOM System-on-module
WDT Watchdog
Tab. 2: Abbreviations and acronyms used in this manual
July, 2015 8/52
Revision History
Version Date Notes
1.0.0 June 2013 First official release
1.0.1 June 2013 Added pictures Minor fixes
1.0.2 January 2014 Minor fixes
1.0.3 October 2014 Updated for DIVELK 2.0.0 release
1.0.4 November 2014 Minor fixes
1.0.5 June 2015 Updated for DIVELK 2.1.0 release
1.0.6 July 2015 Minor fixes
July, 2015 9/52
2 Introduction
2.1 DIVA SOM
DIVA is a family of system-on-modules (SOM) that belongs to DAVE Embedded Systems Lite Line product class. DIVA is based on Texas Instruments "Sitara" AM335x Cortex-A8 application processor and is built with SO-DIMM 204 pin form factor.
Fig. 1: DIVA CPU module
DIVA offers lots of graphics, processing, peripherals and industrial interface options, allowing customers to implement cost-effective design. The Programmable Real-Time Unit and Industrial Communication Subsystem (PRU-ICSS) adds further flexibility and enables additional peripheral interfaces and real-time protocols such as EtherCAT, PROFINET, EtherNet/IP, PROFIBUS, Ethernet Powerlink.
Typical applications for DIVA are:
Industrial sensors and I/O units
Industrial drives with integrated
communications and multi-axis motor control
Programmable logic/automation
controllers (PLC/PAC) with integrated industrial communications such as PROFIBUS, CAN and Ethernet
Home and Building Automation
For further information, please refer to DIVA Hardware Manual.
July, 2015 10/52
Fig. 2: DIVA plugged on
DIVAEVB-Lite
2.2 Embedded Linux
When we talk in general about Embedded Linux1, we refer to an embedded system running Linux operating system. As the reader probably knows, Linux was first developed on the PC platform, based on the famous x86 architecture. Typical embedded systems using an operating system (O.S. for short), are equipped with much lighter software. Recent hardware advances made these systems so powerful that now they can run a complex O.S. such as Linux. This choice has several benefits:
The developer can count on a reliable and efficient software,
developed and maintained by a large community all over the world
The software is open-source, so developers have access to the
whole source code
Since Linux runs on many different platforms (x86, PowerPC,
ARM, SuperH, MIPS etc.), applications are portable by definition
There are a lot of open-source applications running on top of
Linux that can easily be integrated in the embedded system
Last but not least, there are no license fees.
The typical Embedded Linux system is composed of:
the bootloader – this software is run by the processor after
exiting the reset state. It performs basic hardware initialization, retrieves the Linux kernel image (for example from a remote server via the TFTP protocol) and launches it by passing the proper arguments (command line and tags)
the Linux kernel
the root file system – this file system is mounted (which means
"made available", "attached") by the kernel during the boot process on the root directory (“/”).
The typical developing environment for an Embedded Linux system is composed of a host machine and a target machine. The host is used by the developer to compile the code that will
1 An exhaustive description of this topic is beyond the scope of this document. We recommend reading
specific documents, eg Building Embedded Linux Systems By Karim Yaghmour.
July, 2015 11/52
run on the target. In our case the target is obviously the DIVA module, while the host is assumed to be a PC running the Linux operating system. The Linux kernel running on the target can mount the root file system from different physical media. For example, during the software development, we strongly recommend using a directory exported via NFS by the host for this purpose (see the example configuration called net_nfs); however, for system deployed to the field, the root file system is usually stored into a flash device.
2.3 DIVELK
DIVA Embedded Linux Kit (DIVELK for short) provides all the necessary components required to set up the developing environment for:
building the bootloader (U-Boot)
building and running Linux operating system on DIVA-based
systems
building Linux applications that will run on the target
The heart of DIVA SOM is Texas Instruments "Sitara" AM335x microprocessors. From a software point of view, Texas Instruments supports this processor family through so-called Linux EZ Software Development Kit (EZSDK for short). EZSDK releases are published on a regular basis. For more details please refer to:
http://www.ti.com/tool/linuxezsdk-sitara
http://processors.wiki.ti.com/index.php/Category:EZSDK
DIVA Embedded Linux Kit, in turn, is directly derived from EZSDK. Hence DIVELK documentation often refers to EZSDK resources.
DAVE Embedded Systems adds to the latest EZSDK from Texas Instruments the customization required to support the DIVA platform. For this reason most of the documentation provided by TI remains valid for the DIVELK development kit. However, some customization is required, in particular at bootloader and linux kernel levels.
DIVELK 2.0.0 introduces support for the Yocto build system,
July, 2015 12/52
an open source collaboration project that provides templates, tools and methods to help creating custom Linux-based systems for embedded products. It is derived from OpenEmbedded, but it provides a less steep learning curve, a graphical interface for Bitbake and very good documentation. DAVE Embedded Systems provides the so-called recipes/meta-repositories required to build all the DIVELK software components (bootloader, kernel and root file system) with the Yocto build system. For further details, please refer to
https://wiki.yoctoproject.org/wiki/FAQ.
July, 2015 13/52
2.3.1 Kit Contents
The following table lists the DIVELK components
Component Description
DIVA SOM CPU: TI AM3359 SDRAM: 512 MB DDR3 NOR: bootable SPI flash 32 MB NAND: 1GB
DIVAEVB-Lite Carrier board
DACU Carrier board
Ampire AM-800480STMQW 7” 800x480 LCD display LVDS interface
AC/DC Single Output Wall Mount adapter Output: +12V – 2.0 A
DB9 Male Serial port adapter
MicroSDHC card with SD adapter and USB adapter
July, 2015 14/52
2.3.2 DIVELK Release Notes
2.3.2.1 Version 2.1.0
Notes
Maintenance release
Updated kernel and u-boot versions
Bug fixes
Known limitations:
Issue # Component Subsystem Description
0001 Linux USB USB0, when configured as
OTG, requires loading of the gadget module for detecting devices (and entering host mode)
0002 Yocto ADT The Yocto ADT plugin for
Eclipse doesn't work
0003 Linux Audio Codec on the DACU board
2.3.2.2 Version 2.0.0
Notes
First major update
Added Yocto support
Updated kernel and u-boot versions
Known limitations:
Issue # Component Subsystem Description
0001 Linux USB USB0, when configured as
doesn't work out-of-the-box. A software patch is required, please contact support-diva@dave.eu for information on how to enable the audio codec.
OTG, requires loading of the gadget module for detecting devices (and entering host mode)
July, 2015 15/52
Issue # Component Subsystem Description
0002 Yocto ADT The Yocto ADT plugin for
Eclipse doesn't work
2.3.2.3 Version 1.0.0
First official release
2.3.2.4 Releases history
DIVELK Version
Release number
Status Released Released Released
Release date
Release notes
SOM PCB version
Supported carrier boards
U-Boot version
Linux version
Drivers
TI EZSDK 05.06.00.00 07.00.00.00 07.00.00.00
Build Sytem
Graphic libraries
1.0.0 2.0.0 2.1.0
June 2013 October 2014 June 2015
Version 1.0.0 Version 2.0.0 Version 2.1.0
CS133012A CS133012A CS133012A
DIVAEVB-Lite DACU
2012.10-divelk-1.0.0 2013.10-divelk-2.0.0 2013.10-divelk-2.0.0
3.2.0-divelk-1.0.0 3.12.10-divelk-2.0.0 3.12.10-divelk-2.0.0
SPI NOR Flash (boot) NAND 8 bit (boot) UART0 (2-wire) USB Host SD/MMC1 GPIO LCD Touch screen controller EMAC0 RMII (Fast Ethernet) PMIC RTC (battery powered) Audio (ALSA)
- Yocto Dylan (1.4) Yocto Dylan (1.4)
Qt 4.8.4 Qt 4.8.4
DIVAEVB-Lite DACU
SPI NOR Flash (boot) NAND 8 bit (boot) UART0 (2-wire) USB Host SD/MMC1 GPIO LCD Touch screen controller EMAC0 RMII (Fast Ethernet) PMIC RTC (battery powered) Audio (ALSA) USB OTG CAN ADC
Qt 5.3.2
DIVAEVB-Lite DACU
SPI NOR Flash (boot) NAND 8 bit (boot) UART0 (2-wire) USB Host SD/MMC1 GPIO LCD Touch screen controller EMAC0 RMII (Fast Ethernet) PMIC RTC (battery powered) Audio (ALSA) USB OTG CAN ADC Splash screen in u-boot ConfigID
Qt 4.8.4 Qt 5.3.2
July, 2015 16/52
Loading...
+ 37 hidden pages