Installing Debian (ARM) on QEMU. Full Linux for the Embedded Systems In most cases, the embedded systems are tailor-made for specific application environment. Only the necessary software components are installed due to limited budget on storage and computing capabilities. Usually a full Linux is not necessary for either consumers or developers. The embedded Linux is a complicated process for the designers and developers. On the other hand, the embedded Linux is an open source close system for the ordinary consumer. As the fast development and convergence of general purpose mobile computing, we can see a lot of new products. As a result, it will be a trend and valuable practice to install a full Linux distribution for ARM devices. So I spent some day on trying to install Debian distribution for ARM. Installing QEMU Download and install QEMU on your Linux PC. Preparing $ qemu-img create -f qcow hda.img 10G Then you can download a kernel, initrd and the Debian installer.
Installing Debian Etch and Reboot Using Embedded Debian. FTPmicro Tutorial. FTPmicro is a small embedded web server as big as a package DIP40, based on the PIC18F67J60. This chip is a 8-bit PICmicro with an integrated 10BaseT Ethernet controller. Despite the small dimensions, the board has some interesting peripherals, like a microSD card slot, a TC1047 temperature sensor, and many analog and digital I/O pins. But even more important is the software that can be performed on this device. Using the Microchip TCP/IP stack, suited for this particular hardware, it is possible to have, in a few minutes, a working HTTP and UDP server with DHCP client. FTPMicro doesn't need any external component: loading the compiled software in the PIC and powering the device at 5V is all you need. FTPmicro is Open Source and you can DIYwww.ftpmicro.com The SD memory The files are stored in the SD card using the FAT16 filesystem, so it is compatible with almost any PC.
The configuration In the same way, it is also possible to change theMAC address: //#define STACK_USE_DHCP. Hacking a Network Attached Storage (NAS) I try to find some candidate hardware platforms and Linux distributions in this article, so the fans can build their own Network Attached Storage (NAS) or expand their NAS with more features by hacking an existing NAS (Network Attached Storage). What is NAS? NAS is the abbreviation of Network-attached Storage. It was introduced by Novel to offer the network file sharing service. Network attached Storage (NAS) was designed for enterprise applications, so it supports UNIX from the very beginning. The consumers realized they need more storage capability for the digital media files from Internet.
A consumer NAS (Network-attached Storage) can share the media files with all the PCs and the digital media players. Let us check out the long list: Why Do We Need NAS (Network Attached Storage) Although we can use the more powerful PCs in many applications, we still require embedded computers as NAS for security, power consumption, and network. Security Power Consumption Network Access Paradox of NAS. RTOS for Embedded Systems.
1. Defining the Embedded System The term “embedded” applies to the computer/microcontroller (encapsulated by the controlled device) running the controlling application. Real-time systems are designed to control and monitor their environment. Most of these systems are using sensors to collect environment state and use actuators to change something. There are 2 types of real-time systems: “hard real-time” and “soft real-time”. The first type must meet deadlines with no exception. 2. RTOS Overview The heart of any real time operating system (RTOS) is the kernel. 3. 3.1 Semaphores A multitasking systems needs inter processes communication. Programming Semaphores on RTAI Linux: 3.2 Message Queues Two tasks can communicate using a queue.
Mailbox is, as well, a type of buffer managed by the operating system. Using MailBox Communication on RTAI Linux: 3.3 Task Scheduling The task scheduler establishes tasks time slot. 4. Reuse Your old personal GSM phone for SMS control and monitoring. The idea was born from the knowledge that everyone of us has in the drawer at least one old GSM phone, that, for varied reasons, we do not use!
The following application is realized using a PIC microcontroller connected to Ericsson T18 phones, testing the compatibility also with A1018 and T28. But it is not commercialized for reasons of difficult availability of the connectors, instead it can be a lot interesting for hobby use. Moreover at the end of the post you can view the links for having other combinations of Microcontroller and cell phones. The target is remote activated (boiler, control relais..etc.) or receiving SMS in alarm case (gas or burglar alarm) to give again a life to our old cellular GSM2 [ bidirectional GSM Remote Control - remote activator - receiver of SMS alarms - ] This is ALL the documentation for the realization of GSM2 design.
Brochure gsm2_istr.pdf Manual gsm2_rev3.pdf Schematic, PartList, PCB and Firmware YOU CAN DOWNLOAD HERE--->> DOWNLOAD link ---> Tiny Planet. Embedded OS - Embedded Linux and Unix platforms. Community The Linux/Microcontroller project is a port of Linux to systems without a Memory Management Unit (MMU). uClinux first ported to the Motorola MC68328: DragonBall Integrated Microprocessor. The first target system to successfully boot is the PalmPilot using a TRG SuperPilot Board with a custom boot-loader created specifically for our Linux/PalmPilot port. br> br> ARM Linux is a port of the successful Linux Kernel to ARM processor based machines, lead mainly by Russell King, with contributions from many others.
ARM Linux is under almost constant development by various people and organisations around the world. Distributions Most of the major players in Linux distribution have embedded versions. Linux/RT, by TimeSys For many years, embedded systems have been developed and deployed with the help of Red Hat's open source tools and runtime software. EmKnoppix is a distribution of Knoppix tailored for use in embedded systems. Br> br> br> br> br> br>UNIX Embedded FreeBSD. NetBSD. References. How to Set up USB Sniffing in Linux. Embedded Linux Tutorial 2/11. The embedded systems are dedicated for specified hardware platforms, and these are distributed in many different applications. A project manager should investigate in detail about Linux support status on specified hardware platforms, from processors to buses. If target hardware devices have been supported by Linux, then the developers can save a lot of effort in writing drivers from scratch.
Because Linux are fully support mainstream hardware platform, most of the devices have been supported, more devices are planned to be supported. The developers can just configure the kernels to fit the hardware specification. Processors x86 Intel. AMD, is another major x86 processor suppliers. VIA, my favorite x86 suppliers for embedded systems, who offers resources for x86 processors, S3 graphic, miniatured ITX, PicoITX, MiniITX EPIA M/B suitable for UMPC, mini desktop, NAS, HDTV, IPTV, AutoPC, PND... ARM, please check our resource book for ARM processors. PowerPC A Germany PPC Linux online magazine. Howto Add USB to Anything Using a Single Device. Skimming the latest Maxim Design Guide, interfaces section, I run into this title: Add USB to Anything.
My first thought was YAOALL (Yet Another Of A Long List), but reading it I found out Maxim's MAX3420E & MAX3421E, are USB2.0 capable and are provided with a quite tiny package (TQFP/TQFN). These are USB to SPI converters thus making fast and easy USB access from a microcontroller (they support "mass storage" on ARM7). So far so good, but.... Is it all? 3 Steps to Your First Development Board. Computer systems are essentially split in two categories. The first and most obvious category is that of personal computers. The second one is that of embedded computers.
Even if every house has al least 10 embedded computers, this last category is far less obvious. Just think that your TV, DVD, cell phone, washing machine, even your children’s toys are simple embedded systems. The main difference between these two systems is their application domain. They both have a processor, some types of memories and several forms of specific inputs and outputs. Embedded computers are dedicated to a specific task. 1. Fig.1 System Architectures Microprocessors (or CPUs – based on CISC architecture) are single chip implementation.
The microprocessor’s architecture defines the instruction set and programmer’s model for any processor that will be based on that architecture. Fig.2 AT91SAM9260 block diagram (including an ARM9 CISC core) The compiler is essential for the microcontroller systems. 2. B. C. D. Embedded Programming - Overview. Before discussing the root article, Embedded Programming, Let us have a look on Embedded Systems. Embedded Systems: Embedded Systems are commonly known as special-purpose computer systems which are designed for some specific function(s) to be performed, while interacting with some real-time computing constraints. These systems are usually embedded into another system where it performs more with the help of integration of other systems, peripheral devices, mechanical parts and micro controllers. As these systems are designed for specific tasks, their design, capability and performance can be enhanced or optimized by design engineers. These systems can be commonly found in digital watches and MP3 Players.
Embedded Systems are found in all aspects of modern life for example, in Telecommunication Systems, there are a lot of embedded systems from the telephone switches to mobile phones at end-users. Embedded Programming: Embedded Programming is a bit different from ordinary programming a PC. Getting started with FPGA DSP designs. Getting started with FPGA DSP designs is simple! Normal computer systems use microprocessors which execute software instructions to perform a wide variety of tasks. However, embedded systems typically take advantage of microcontrollers, field programmable (FPGA) or application specific (ASIC) technologies to become more efficient at executing their specific functions.
In the FPGA space there are a few companies like Altera and Xilinx that produce development packages that allow designers to bring their ideas to life. Designs can be rapidly prototyped on FPGA’s and if desired, hardcopies which have some benefits over reprogrammable chips can be created. br> br> This paper will explore a development package from Xilinx and one from Altera. Br> Processing speed or memory size can be sacrificed for cost. Although it is not specifically designed for multimedia applications it is still a great development package for multimedia projects.
EE Software Development. Please do not get confused by the title. This is not an EDA software resource for electronics engineering, but a project collection about how to program hardware in high level languages and alternative approaches. I prefer to call it as Rapid Hardware Programming with High Level Languages. The motivation of collection of these open projects, resources and tutorials is trying to help the programmers who have only programming experience in PCs, rather than the embedded systems. These programmers are software experts on the PC platform, but they do not know how to light a LED at all, because they have not sufficient background in electronics engineering.
After all, this resource is trying to demonstrate those projects which use traditional and alternative high level programming languages available in desktop OSes to manipulate the hardware devices. The collected projects usually open the source code, which can be ported to embedded systems. Low Cost MIPS SoC Kit. I introduced Loongson 2E/2F general purpose RISC CPU in my blog. Loongson is based upon MIPS III ISA, developed by ICT and manufactured by ST microelectronics. I also mentioned HiSand in Guangzhou China, who uses Loongson core to roll out the SoC, HS3210, for consumer and industrial applications.
HS3210 has comparable performance of popular ARM9, with relatively lower price. According to their website, the 1K order costs 5.5USD/pcs only. They accept small orders less than 49 pieces as well. It is the commercial information. Hi3210 Features Development Kit Loongson Zhijian is HiSand's distributor, offering a low-cost kit for Hi3210i. Besides on-chip resources, the DEV3210 also installed the following devices on board: Reference Designs Linux is the preferred software platform for MIPS. VoIP terminalInternet RadioDigital Photo FrameVisual Access Control SystemPOSEnterprise FirewallSOHO routerBitTorrent Download Box Market Position The other MIPS kit is Alchemy MIPS (AMD/RMI).
Reference. Distributed Seismic Monitoring Project with JM badge board. Do you realize that Freescale's JM Badge board can be designed into a seismometer ? The board is presented in FTF2008, distributed for free as name badge and starter kit for JM badge contest 2008. If Freescale can donate the board or sponsor the project, we can save people who are living in the seismic zone. I think Freescale can also benefit from seismometer business, since they can sell ColdFire microcontrollers, MEMS sensors, wireless modules (Zigbee). Because these products are quite cheap, the installation base could be huge. Alternatively, you can use an empty beer bottle as the simplest seismometer. In 2008 Great Sichuan Earthquake, at least 68,000 people were killed on May 12, 2008.
Theoretically, we can not predict an earthquake, we can only monitor and tell the probability of occurrence for earthquakes. Professional Seismometers Earthquake was very mysterious in ancient times. Alternatively, there are some other instruments which can be used in earthquake prediction. Cortex-M1 ARM core for FPGA. EmCortex-M1 offers highly portable microcontroller design over many FPGA devices, with reusable tools and code base. It offers compatibility and ecosystem across FPGA, ASIC/ASSP/MCU. It can help designers to create ARM SoC with proprietary peripherals with limited budget.
This approach also demands deeply expertise for the design team to understand both development processes. The ARM Cortex-M1 processor combines the power of the ARM architecture with flexibility of FPGA implementation. M1 processor is optimized for synthesis on any FPGA device from leading vendors including Actel, Altera and Xilinx. It is upwards compatible with other members of Cortex processor family, enabling future migration to ASIC. According to ARM's datasheet for Cortex-M1, its 3-stage pipeline and Von Neumann architecture are upwards compatible with Cortex-M3. The Cortex-M1 is optimized for synthesis on the following FPGA types: Design Your Own ARM SoC Cortex-M1 is a highly flexible ARM SoC platform.
Memories Debug. Selection Guide of Low Cost Tools for Cortex-M3. A Mini-ITX PowerPC Server Platform. Online Virtual Labs from Freescale. Embedded Linux Tutorial 11/11. Embedded Linux Tutorial 10/11. Embedded Linux Tutorial 9/11. Embedded Linux Tutorial 8/11. Embedded Linux Tutorial 7/11. Embedded Linux Tutorial 5/11. Embedded Linux Tutorial 6/11. Embedded Linux Tutorial 4/11. Embedded Linux Tutorial 3/11. Embedded OS [Linux & Co.] FOX-Board - The Board Running Linux. Intro to the Arduino. How-to Tuesday - Arduino 101 the LED 2/2. Hacking Wireless Routers. GCC & Distcc - Distributed Build System. USB Mass Storage Device. UC3 Introduction. Embedded OS - Java Approach. Loongson RISC Netbook and SoC. How to Implement Embedded Ethernet. Your Electronics Open Source | Share for life! ARM: Starter Kits & OEM Modules.