Changes

Jump to: navigation, search

Naon Embedded Linux Kit (NELK)

3,072 bytes added, 14:18, 16 November 2016
no edit summary
{{InfoBoxTop}}
{{AppliesToNaonAppliesToNaonFamily}}
{{Applies To NaonEVB-Lite}}
{{Applies To NaonEVB-Mid}}
==Introduction==
 
[[File:DELK_01.png|500px]]
Major software components of an [[Embedded Linux]] system are:
Naon Embedded Linux Kit (NELK for short) provides all the necessary stuff required to set up the developing environment to:
* build the bootloader (U-Boot)
* build and run Linux operating system on Dave's ''DAVE Embedded Systems''' DM814x/AM387x-based SOMs (Naon, Maya, Dido)
* build Linux applications that will run on the target.
The kit is composed by:
* hardware platform composed by Naon/Maya/Dido system-on-module (SOM for short) and , carrier board. Supported and adapters* supported carrier boards are:
** [[NaonEVB-Lite]]
** [[NaonEVB-Mid]]
* adapters for the NaonEVB-Mid are:
** [[ADD-ON_DVI-RX]]
** [[ADD-ON_KS]]
** [[ADD-ON_PCIe-extension]]
* U-Boot bootloader sources
* Linux kernel sources
=== Support service ===
Technical support is delivered through email exclusively. Only registered kit owners' can access the support service. The address is addresses are:* [mailto:support-naon@dave.eu support-naon@dave.eu]* [mailto:support-maya@dave.eu support-maya@dave.eu]* [mailto:support-dido@dave.eu support-dido@dave. eu] Technical support and access to download area are lifetime for processor module buyers and one year for the other customers.
=== The big picture ===
The heart of Naon SOM /Maya/Dido SOMs is Texas Instruments DaVinci Digital Media Processor TMS320DM8148 (http://www.ti.com/product/tms320dm8148). From software standpoint, Texas Instruments supports this processor - and its derivatives such as Sitara AM387x http://www.ti.com/product/am3874 - 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-davinci
* http://processors.wiki.ti.com/index.php/Category:EZSDK
{| class="wikitable"
!
!colspan="45" | NELK version
|-
|Release number
|3.0.0
|4.0.0
|4.1.1
|-
|Status
|Obsolete
|Distributed as release candidate only
|Obsolete
|Obsolete
|Released
|Planned for release
|-
|Release date
|December 2012
|April 2013
|March 2014
|-
|'''Release notes'''
|[[NELK_Release_Notes#Notes Rel._1.0.0 | v1.0.0]]|[[NELK_Release_Notes#Notes_2 Rel._2.0.0 | v2.0.0]]|[[NELK_Release_Notes#Notes_3 Rel._3.0.0 | v3.0.0]]|[[NELK_Release_Notes#Notes_4 Rel._4.0.0 | v4.0.0]]|[[NELK_Release_Notes#Rel._4.1.1 | v4.1.1]]
|-
|SOM PCB version|Naon module (PCb version): CS021211A|Naon: CS021211A|Naon: CS021211A|Naon: CS021211A<br>Maya: CS133012A<br>Dido: CS204812|Naon: CS021211A<br>Maya: CS133012A<br>Dido: CS204812
|-
|Supported carrier boards
|[[:Category:NaonEVB-Lite|NaonEVB-Lite (PCB CS051412)]]
|[[:Category:NaonEVB-Lite|NaonEVB-Lite]]<br>[[:Category:NaonEVB-Mid|NaonEVB-Mid]]
|[[:Category:NaonEVB-Lite|NaonEVB-Lite]]<br>[[:Category:NaonEVB-Mid|NaonEVB-Mid]]
|[[:Category:NaonEVB-Lite|NaonEVB-Lite]]<br>[[:Category:NaonEVB-Mid|NaonEVB-Mid]]
|2010.06-nelk-3.0.0
|2010.06-nelk-4.0.0
|2010.06-nelk-4.1.1
|-
|Linux version
|2.6.37-nelk-3.0.0
|2.6.37-nelk-4.0.0
|2.6.37-nelk-4.1.1
|-
|Drivers
|valign="top" | SPI NOR Flash (boot)<br>EEPROM<br>Keypad controller<br>Touch screen controller<br>ADC<br>EMAC0 RMII (Fast Ethernet)<br>EMAC1 RGMII (Gigabit Ethernet)<br>SD/MMC1<br>Video output port VOUT0 (24 bit)<br>UART0 (2-wire)<br>SPI0 (boot flash)<br>I2C0<br>I2C1 (DDC HDMI)<br>I2C2<br>HDMI<br>GPIO<br>SGX 3D accelerator<br>HDVICP2 codec engine<br>Nand 8-bit<br>USB Host<br>USB OTG ([[NaonEVB-Mid]] only)<br>Video Input port VIN0 ([[NaonEVB-Mid]] only)<br>Video Input port VIN1 (additional host required)<br>SATA<br>[[NELK Power Management|Suspend to RAM]]<br>[[NELK Power Management|OPP Support]]<br>[[:Category:DWM|DWM]] on SDIO ([[:Category:NaonEVB-Lite|NaonEVB-Lite]] only)
<br>
|valign="top" | SPI NOR Flash (boot)<br>EEPROM<br>Keypad controller<br>Touch screen controller<br>ADC<br>EMAC0 RMII (Fast Ethernet)<br>EMAC1 RGMII (Gigabit Ethernet)<br>SD/MMC1<br>Video output port VOUT0 (24 bit)<br>UART0 (2-wire)<br>SPI0 (boot flash)<br>I2C0<br>I2C1 (DDC HDMI)<br>I2C2<br>HDMI<br>GPIO<br>SGX 3D accelerator<br>HDVICP2 codec engine<br>Nand 8-bit<br>USB Host<br>USB OTG ([[NaonEVB-Mid]] only)<br>Video Input port VIN0 ([[NaonEVB-Mid]] only)<br>Video Input port VIN1 (additional host required)<br>SATA<br>[[NELK Power Management|Suspend to RAM]]<br>[[NELK Power Management|OPP Support]]<br>[[:Category:DWM|DWM]] on SDIO ([[:Category:NaonEVB-Lite|NaonEVB-Lite]] only)<br>Support for Maya and Dido SOMs<br>PMIC RTC (battery powered)<br>CPU info on /proc filesystem<br>eth0 and eth1 MAC address set on U-Boot<br>Updated Memory Map<br>CPSW mode (dual emac vs switch) selectable on u-boot<br>PCI Express (Dido)|valign="top" | SPI NOR Flash (boot)<br>EEPROM<br>Keypad controller<br>Touch screen controller<br>ADC<br>EMAC0 RMII (Fast Ethernet)<br>EMAC1 RGMII (Gigabit Ethernet)<br>SD/MMC1<br>Video output port VOUT0 (24 bit)<br>UART0 (2-wire)<br>SPI0 (boot flash)<br>I2C0<br>I2C1 (DDC HDMI)<br>I2C2<br>HDMI<br>GPIO<br>SGX 3D accelerator<br>HDVICP2 codec engine<br>Nand 8-bit<br>USB Host<br>USB OTG ([[NaonEVB-Mid]] only)<br>Video Input port VIN0 ([[NaonEVB-Mid]] only)<br>Video Input port VIN1 (additional host required)<br>SATA<br>[[NELK Power Management|Suspend to RAM]]<br>[[NELK Power Management|OPP Support]]<br>[[:Category:DWM|DWM]] on SDIO ([[:Category:NaonEVB-Lite|NaonEVB-Lite]] only)<br>Support for Maya and Dido SOMs<br>PMIC RTC (battery powered)<br>CPU info on /proc filesystem<br>eth0 and eth1 MAC address set on U-Boot<br>Updated Memory Map<br>CPSW mode (dual emac vs switch) selectable on u-boot<br>PCI Express (Dido)
|-
|TI EZSDK
|5.04 (April 2012)
|5.05.01.04 (July 2012)
|5.05.02.00 (Dec 2012)
|5.05.02.00 (Dec 2012)
|}
Dave '''DAVE Embeddded Systems''' adds to the latest EZSDK the customization required to support Dave's ''DAVE Embeddded Systems''' platforms (e.g. [[:Category:Naon|NaonNAON]], [[:Category:Maya|MAYA]] and [[:Category:Dido|DIDO]])
For this reason most of the documentation provided by TI itself is remains valid in for the SDK provided by us tooNELK development kit. Anyway However, some customization is required, in particular at bootloader and linux kernel levels.
NELK contains all the required software to develop Linux application on [[:Category:Naon|NaonNAON]] platform, [[:Category:Maya|MAYA]] and [[:Category:Dido|DIDO]] platforms:
* uU-boot Boot bootloader source code tree and pre-build built binaries* Linux kernel source code tree and pre-build built binaries
* pre-built OMX libraries (most OMX source code is under NDA from TI)
* gstreamer source codetree
* sample development (huge!) root file system
* sample production (small enough to fit Naon on-board storage) root file system
=== Release notes ===
Please refer to [[NELK Release Notes]] for detailed NELK release notes.
{{ImportantMessage|text=Please refer to [[NELK Release Notes]] for detailed NELK information related to the features and updates introduced with the latest release.}} ==Naon /Maya/Dido overview==Please refer to [[:Category:Naon SOM|NAON]], [[:Category:Maya|MAYA]], [[:Category:Dido|DIDO]] for an overview about Naon the DM814x/AM387x-based system-on-module architecture. 
==Quick start==
Quick start procedure depends on the carrier board you are working with. Please click on the appropriate link below:
===TI DM8148 EZSDK software organization===
Please refer to this page for an introduction of EZSDK software organization:
[[wikipriv:TI DM8148 EZSDK software organization|TI DM8148 EZSDK software organization]].
For detailed documentation on software development using the TI EZSDK, please refer to the [http://processors.wiki.ti.com/index.php/DM814x_EZ_5.04.00_Software_Developers_Guide Category:EZSDK_Software_Developers_Guide EZSDK Software Developers Guide]
=== NELK Layout ===
The MMC provided with NELK is used for
* Naon /Maya/Dido MMC boot
* NELK demo root file system storage
* NELK development DVDK virtual machine image storage
The MMC is divided into three partition:
* the first (FAT32) partition is used for [[Boot_sequence_(Naon)#MMC_Booting|MMC booting]]
* the second partition (ext3) is used for Naon root file system* the third (FAT32NTFS) partition in is used for:** NELK DVDK image (include including source code!and pre-installed toolchain and build system)** documentation and binary images (see please refer to the readme.html file inside this partition for more information)* the third partition (ext3) is used for Naon root file system
==== NELK DVDK Layout ====
Here the user can find the following subdirectories:
* arm-2009q1: is where the CodeSourcery toolchain is installed
* rfs: is where the root file system is installed. Inside this directory there are more two subdirectories
** nelk: this is the default (huge) root file system. Usually it's used only development environment (via NFS)
** nelk-min: this is the sample, minimal, root file system. It can be used at as starting point for manually create a production root file system.* sdk-x.xx.xx.xx: is where the EZSDK, plus the Dave '''DAVE Embeddded Systems''' customization, is installed (e.g sdk-5.0305.0102.1500)
** this directory is usually named ''EZSDK_INSTALL_DIR'' inside Makefile and build scripts
* Git repositories cloned from '''DAVE Embeddded Systems''' public git repositories ('''git.dave.eu''') for the following components:
** EZSDK - /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-x.xx.xx.xx
** Linux - /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-x.xx.xx.xx/board-support/linux-omap3.git
** U-Boot - /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-x.xx.xx.xx/board-support/u-boot-omap3-arago.git
** gstreamer_ti - /home/shared/devel/dave/naon-DAA/sw/linux/sdk/sdk-x.xx.xx.xx/component-sources/gstreamer_ti
 
The NELK git repositories can be synchronized with '''DAVE Embeddded Systems''' public git repositories using the <code>git pull</code>. Access to '''DAVE Embeddded Systems''' public git repositories will be granted to users who will send a RSA ssh key, as described in [[How_to_update_NELK#RSA_key_generation | this guide]].
==== NELK Update package ====
For customers who have already installed the full DVDK, an update package is availablecan be used to upgrade to the most recent NELK version. The compressed archive (nelk-x.y.x.tar.bz2) contains:
* The new SDK release (sdk-x.xx.xx.xx)
=== HowTo Build ===
Generally speaking, if you are using [[:Category:DVDK|Dave '''DAVE Embeddded Systems''' Virtual Development Kit]] building the whole kit is a matter of:
# startup and login into the virtual machine
# enter the ''EZSDK_INSTALL_DIR'' directory
# execute <code>make all && sudo make launch build and install</code>commands
The <code>make all</code> command will build builds all the components of the development kit (e.g. [[:Category:U-Boot|U-Boot binaries]], [[:Category:Linux|Linux kernel]], custom libraries and utilities) while the <code>sudo -E make install</code> install command installs them into the root file system
For a more detailed explanation of the Development Environment see , please refer to [[Development Environment HowTo (NELK)]]
==Use cases==
Please refer to [[Uses cases with Naon Embedded Linux Kit]]. See also [[NELK Power Management]] for a detailed description on how power management is implemented in NELK.

Navigation menu