Chinaunix首页 | 论坛 | 博客
  • 博客访问: 87829
  • 博文数量: 44
  • 博客积分: 2525
  • 博客等级: 少校
  • 技术积分: 316
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-25 17:01
文章分类

全部博文(44)

文章存档

2010年(44)

我的朋友

分类: LINUX

2010-06-23 17:35:28

Embedded Linux FAQ, Help & Docs

   ::      ::   Embedded Linux Development
HOW TO Documents   ::      ::      ::   

 

Welcome to the LinuxLink Documentation library! The documents in this collection describe most aspects of embedded Linux development and provide information about getting the most out of LinuxLink itself.

If you can’t find what you need, please send us feedback so we can improve this page.

 

Getting Started


  • Click the Support at the top of any LinuxLink page to find out how to contact Timesys or the LinuxLink community for help, advice, and assistance.

  • How to log in to the LinuxLink service.

  • This document outlines the components of the LinuxLink framework so that you can get started building and maintaining your embedded Linux product.

  • This document will will guide you through a few easy steps that will enable you to quickly assemble a proven Linux platform for your project using the Timesys Web Factory.

  • Timesys builds its Linux starting points using the "Factory" build engine. This same engine is available to LinuxLink subscribers to create their own custom platforms. The engine is very flexible, allowing a myriad of options to accomplish this. The goal of this document is to specify a "recommended" procedure and workflow for using the Factory build engine to develop an Embedded Linux project as a team.

  • This document describes how to set up the host for the Timesys Desktop Factory build system.


  • This document will guide you through configuring a Linux host system and booting the target board over tftp and nfs.

  • This document describes how to get up and running with the Timesys Desktop Factory build system.


  • These documents provide specific instructions for booting your target board with the image created by the Timesys Factory.

  • The Timesys Factory is designed to be run from a Linux host. However, not all developers have access to a Linux machine for their work. This guide will show how to host Factory in a VirtualBox virtual machine running Ubuntu Linux.

  • How to add or rename teams, assign and unassign subscriptions, and add, remove, or change members of a LinuxLink team

Factory


  • The Factory implementation combines several community standard (best of breed) components: LinuxKernelConfig (kconfig) and GNU make. FactoryBestPractices has instructions on how to get the Factory.

  • This page documents the best practices when using the factory by detailing setup, configuration, building and using the output, as well as a cookbook style breakdown of using the functionality provided by the factory.

  • Describes the directory structure of the Factory build output.

  • Tips and techniques for customizing the Factory for tasks such as navigating the Factory directory, adding a New Architecture, adding a new Toolchain, adding a new Board, adding a new Kernel, and adding a New Package. Also you can find information such as common make variables.

  • Tips on what to do if things go wrong. Includes some common configuration and environment setup issues and how to resolve them.

  • Timesys provides an "advice" interface which will analyze a Factory configuration, identify possible problems, and often suggest a corrective action. This interface provides a place for suggestions or advice when users choose options that are not incorrect, but appear logically inconsistent. This document explains how to use the Advice Service with the Desktop Factory

  • Qt is a cross-platform UI and application toolkit. This document is designed to help you to cross-build a Qt project and integrate it into the Timesys Factory.

Embedded Linux Development


  • Describes how the Linux kernel boots and begins running; understanding this process is key to running an application on the target.
  • Linux Device Drivers, 3rd Edition
    A great reference by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman that delves into the details about creating device drivers.

  • How to enable login on a serial port other than ttyS0

  • One reason why real-time systems may not give you the response you want.

  • How to boot your target board without setting up a DHCP server.

  • How to ensure Ctrl+C works within Busybox.

  • Which text editors work well for embedded systems.

  • Moving from a proprietary operating system such as VxWorks to Linux can create a strain on the time and resources companies have at their disposal. Depending on the approach to this exercise the level of effort required can be significant and may require an in-depth Linux expertise. This application note identifies different approaches that are available to companies today, providing a good background for decision making process.

HOW TO Documents

HOW TO Hack the Kernel

  • How to Use a Custom Boot Logo
    This document describes how to display a custom logo on the frame buffer of your board as the Linux kernel is booting.

  • debugfs is a virtual filesystem used to help developers debug drivers and kernel subsystems. This document describes how to use debugfs and add support to a custom driver.

  • gpiolib is a framework for gpio pins on a board. It provides a way to control gpio pins in userspace.

HOW TO Hack the Root Filesystem (RFS)


  • An initramfs is a filesystem image that runs directly from RAM. It is packaged as an archive using the cpio tool. The Factory allows you to automate this process and output your RFS as a cpio-archvied initramfs with the selection of a few options.
  • How to Automount USB using mdev
    This document shows how to automount USB using mdev.
  • How to Automount USB using udev
    This document shows how to automount USB using udev.

  • JFFS2 is a file system that was designed to be used on solid-state memory devices (such as NAND or NOR). It performs automatic wear-leveling to increase the life of the chip and is aware of bad-blocks on NAND flash. The typical method for deploying a JFFS2 file system is to create a JFFS2 image, optionally add summary information (for faster mount time), and then burn the image directly to flash using nand_write or flashcp.

  • UBIFS is a file system that acts like LVM with the MTD subsystem. It is supposedly faster than JFFS2, is safe for devices with bad blocks, and is overall a super thing to use.

HOW TO Use Devices


  • This document discusses how to use Memory Technology Devices (MTD), the Linux Flash subsystem.

  • This document discusses how to find NAND flash parameters.

  • This document discusses how to find NOR flash parameters.

  • The Memory Technology Device (MTD) interface is a way of abstracting flash devices as if they were normal block devices. Unlike typical block devices, however, these flash devices generally lack a partition table. This document explains how to use kernel command line partitioning to specify the partitioning scheme of a given flash device.

  • The Linux wireless subsystem is more complex than the standard wired networking. Many drivers are proprietary, and authentication and encryption mechanisms are much more common. This document explains how to use wireless devices to connect to a wireless network.

  • The Linux USB gadget subsystem provides a way to leverage existing USB device ports in order to use utilities such as NFS, SSH, and FTP by using the g_ether driver. This document explains how to do so.

  • The g_file_storage driver allows a target embedded device to appear as a USB Mass Storage device to a host system. It allows you to choose either a block device or a backing file to act as the backing storage for this device.

  • The virtual console may blank the LCD display on many boards after 10 minutes until a key is hit on a keyboard. This can be disabled by either turning off the frame buffer console or by setting the virtual console KD mode.

HOW TO Test Distributions


  • This document discusses two quick tests for USB gadget drivers.

  • Most people use the RTC to keep track of the system time in hardware. Therefore, it is probably adequate to use the userspace utility hwclock provided by either util-linux or busybox. Note that the util-linux version will test more of the driver than the busybox version, so we recommend using that. It is possible for the busybox version to succeed and the util-linux to fail.

HOW TO Use Tools


  • OProfile is a system-wide profiler for Linux systems, capable of profiling all running code at low overhead. It consists of a kernel driver and a daemon for collecting sample data, and several post-profiling tools for turning data into information.

  • This is a starting guide to enabling and using mpatrol. It includes usage examples and a simple tutorial for finding memory leaks.

  • This is a guide to enabling and using GDBServer. It shows how to start GDBServer on your Host machine and usage examples for debugging on the Target.

  • LTP is the Linux Test Project. This document covers running the LTP on an embedded board running linux and interpreting the results.

  • This is a guide to using the BDI2000 to debug a kernel from the command line.

HOW TO Use Applications


  • Qt is a cross-platform UI and application toolkit. This document is designed to help you to cross-build a Qt project and integrate it into the Timesys Factory.

HOW TO Setup Boards


  • The following documents describe the methods for writing a kernel and root file system to persistent memory, such as flash or hard disk drives. This allows you to deploy a Linux system on a platform without the need for networking.

  • This document shows how to boot using an SD card.

  • This document shows how to write AT91 Bootstrap Loader and U-Boot to flash on Atmel AT91 SAM9 boards.

  • The AT91CAP9A-DK can boot from either NAND flash or Dataflash. However, you can also store U-Boot and its environment in NOR flash. Because the NOR flash is not a default search location for the boot ROM, you cannot boot only from NOR. Instead, you must load the bootstrap file from Dataflash or NAND flash, which will then load U-Boot from NOR flash. This document describes how to load the bootloaders into the proper locations for this configuration.

  • In order to use Atmel's SAM-BA tool, the board must be in a default state and the BootROM on the processor will be unable to find any valid bootloader vectors in persistent memory. This document explains how to reset different Atmel boards to their default state.

  • NFS timeouts when mounting the RFS over NFS can often be solved by simply changing the NFS block size.

HOW TO Work With Various Bootloaders


  • The AT91 Bootstrap Loader is a first-stage bootloader for Atmel AT91 chips, such as the AT91SAM9260. It is not capable of booting the kernel on its own but instead loads a secondary bootloader, such as U-Boot. The entire purpose of AT91 Bootstrap is to load another program into memory and configure some of the necessary hardware drivers to aid in this function.

  • This document shows how to build Atmel's AT91Bootrap Loader from source.

  • This document focuses on booting from Parallel flash.

  • We currently have no way to reproduce the steps needed to boot the AT91RM9200-EK from Dataflash. There is an image attached that we were able to pull from a Dataflash card that will load U-Boot from dataflash. This is a good way to recover a bricked board.

  • LogicLoader is the proprietary bootloader that Logic puts on all of its LITEKITS. The source code is not available, although it is possible to contact Logic if you need help.

  • RedBoot is a complete bootstrap environment for embedded systems. Based on the eCos Hardware Abstraction Layer, RedBoot inherits the eCos qualities of reliability, compactness, configurability, and portability.

  • This document discusses U-Boot, the Universal Boot Loader.

  • This document shows how to build the U-Boot bootloader from source.

  • YAMON™ is the ROM monitor used on MIPS Technologies' development boards. YAMON provides a set of functions callable by application.

Xilinx Documents


  • Xilinx Platform Studio projects for the ML405 Reference board

  • Xilinx Platform Studio projects for the ML507 Reference board

TimeStorm

Other Documents


Explains how to properly set the Memory Overcommit option of the Linux kernel.
阅读(995) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~