c for embedded systems

Tài liệu C Programming for Embedded Systems docx

Tài liệu C Programming for Embedded Systems docx

Ngày tải lên : 22/12/2013, 02:17
... the prescalar and starting the clock are tasks of the software developer. Knowing the processor clock frequency, and choosing correct prescalar values, you can achieve accurate timer clock periods. The ... instructions to the COPCR register. Interestingly, the COP watchdog is dependent upon the system clock; a clock monitor circuit resets the MCU if the clock stops, and thereby renders the COP watchdog ... to C necessary for targeting an embedded environment, and the common components of a successful development project. C is the language of choice for programming larger microcontrollers (MCU),...
  • 191
  • 549
  • 1
C Programming for Embedded Systems ppt

C Programming for Embedded Systems ppt

Ngày tải lên : 22/03/2014, 09:20
... ensures that application source code can be recompiled for different microcontroller targets. Page 11 (c) Wait for keystroke (1) If key is pressed, wait for debounce period and check again. (d) ... 3.2 shows the COP8 vector table, as required for the COP8SAA7 device. The rank is as enforced by the VIS instruction. Table 3.2 COP8 vectored interrupts Rank Source Description Vector Address ... recorded in main (or data) memory: the Microchip PIC and Scenix SX architectures use a stack space outside of user RAM. It is important to check the depth of return information stored by function...
  • 191
  • 390
  • 1
Free Software tools for embedded systems

Free Software tools for embedded systems

Ngày tải lên : 20/10/2013, 00:15
... Support services Useful if you don't have your  own support resources Long term support commitment,  even for versions considered as  obsolete by the community, but  not by your users! 44 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Commercial toolsets Caution: commercial doesn't mean proprietary! Vendors play fair with the GPL and do make their source code  available to their users, and most of the time, to the community. As long as they distribute the sources to their users, the GPL  doesn't require vendors to share their sources with any third party. No issue with all the GPL sources developed by or with the  community. Graphical toolkits developed by the vendors look proprietary. Their  licenses are not advertised on their websites! You have to be a  customer to know or get a free preview kit to know. 35 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Free Software tools for embedded systems GNU / Linux workstation Various tools 34 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Emulators ­ Summary System emulators Useful to experiment with a full system, including the kernel qemu: x86, x86_64, arm, sparc, ppc, mips SkyEye: several arm architectures User emulators Useful to run or debug user space binaries for other CPUs qemu: x86, arm, sparc, ppc, mips 20 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Platform specific toolchains (2) Coldfire Code Sourcery (supports ELF, GNU/Linux and uClinux): http://www.codesourcery.com/gnu_toolchains/coldfire PowerPC Code Sourcery (supports GNU/Linux and EABI) http://www.codesourcery.com/gnu_toolchains/power.html 49 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Sysgo ­ Koan Software http://sysgo.com ELinOS development toolset, in particular based on Eclipse and the Linux Trace Toolkit. Includes FreeToolBox, a freely  downloadable compiling and rootfs  creating toolchain. Supports i386, arm and ppc. Hard real­time support with their own  microkernel (PikeOS), an approach similar to RTAI. http://koansoftware.com Makers of KaeilOS (http://koansoftware.com/kaeilos/), a GPL  embedded Linux distribution for industrial  applications. KaeilOS supports i386 and popular arm  platforms. Other platforms supported upon  request. Includes several graphical toolkits and  supports hard real­time (RTAI, Xenomai,  preemption patches). Unfortunately, KaeilOS is GPL but not  available for public download. 16 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Standalone toolchain build Building a cross­compiling toolchain by yourself is a difficult and painful task!  Can take days or weeks! Lots of details to learn. Several components to build (building gcc twice: once for gcc + once for compilers that need the C library). Lots of decisions to make (such as C library version and configuration for your platform) Need kernel headers and C library sources Need to be familiar with current gcc issues and patches on your platform Useful to be familiar with building and configuring tools http://www.aleph1.co.uk/armlinux/docs/toolchain/toolchHOWTO.pdf can show you how fun it can be! 21 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Toolchain building utilities Buildroot: http://buildroot.uclibc.org/ Dedicated Makefile to build uClibc based toolchains and even entire root filesystems. Downloads sources and applies patches. Crosstool:  http://www.kegel.com/crosstool/ Dedicated script to build glibc based toolchains Doesn’t support uClibc yet. Downloads sources and applies patches. 26 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Toolchains ­ useful resources eLinux.org toolchain page: http://elinux.org/Tool_Chains 29 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Free Software tools for embedded systems GNU / Linux workstation Emulators 8 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 glibc http://www.gnu.org/software/libc/ License: LGPL C library from the GNU project Designed for performance, standards compliance and  portability Found on all GNU / Linux host systems Quite big for small embedded systems:  about 1.7 MB on  Familiar Linux iPAQs (libc: 1.2 MB, libm: 500 KB) 36 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 chroot Available in all GNU/Linux distributions Usage: chroot <dir> [command] Runs a command or an interactive shell with a special root directory. Standard usage: Internet servers Services executed in chroot jails: even when compromised, the service cannot gain access to the rest of the system. Usage for embedded system development: Develop and test a new root filesystem on the development host. Very easy to use when the host and target have the same CPU instruction set. Used by LFS (Linux From Scratch). Also used by Scratchbox: Qemu makes the usage of target binaries transparent. / bin lib etc http / lib etc bin chroot jail ... ) and can  boot several operating systems (Linux, uClinux, and others) Softgun: http://softgun.sourceforge.net Virtual ARM system with many virtual on­board peripherals.  Boots Linux. SWARM ­ Software ARM ­ arm7 emulator http://www.cl.cam.ac.uk/~mwd24/phd/swarm.html Can run uClinux 13 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 klibc http://www.kernel.org/pub/linux/libs/klibc/ “Kernel C library” Tiny and minimalistic C library designed for use in an initramfs at  boot time (alternative to initrds). Fine for the creation of simple shell scripts. Ships with small executables for use in shells, built with klibc, and a klcc compiler to compile your own applications. Not elaborate enough to support BusyBox applications. Useful details in  http://en.wikipedia.org/wiki/Klibc 19 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Platform specific toolchains (1) ARM Code Sourcery (supports GNU/Linux, EABI and uClinux): http://www.codesourcery.com/gnu_toolchains/arm/ Also available for Windows workstations. MIPS http://www.linux­mips.org/wiki/Toolchains (useful links) 6 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Training contents (3) Annexes Automatic system generation with BitBake / OpenEmbedded 33 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Other emulators ColdFire emulator http://www.slicer.ca/coldfire/ Can boot uClinux 37 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Minicom (1) Definition: serial communication program Available in all GNU / Linux distributions Capabilities (all through a serial link): Serial console to a remote Unix system File transfer Modem control and dial­up Serial port configuration 50 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Denx Software Engineering http://denx.de Created by Wolfgang Denk, the author of the U­Boot bootloader. Create and support the Embedded Linux Development Kit (ELDK), a complete and well documented development environment. This kit is not only Free Software, it can be downloaded freely by anyone. A great community member and contributor! 15 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Free Software tools for embedded systems GNU / Linux workstation Cross­compiling toolchains 9 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 uClibc http://www.uclibc.org/ from CodePoet Consulting License: LGPL Lightweight C library for small embedded systems,  with most features  though. The whole Debian Woody was ported to it ... ) and can  boot several operating systems (Linux, uClinux, and others) Softgun: http://softgun.sourceforge.net Virtual ARM system with many virtual on­board peripherals.  Boots Linux. SWARM ­ Software ARM ­ arm7 emulator http://www.cl.cam.ac.uk/~mwd24/phd/swarm.html Can run uClinux 13 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 klibc http://www.kernel.org/pub/linux/libs/klibc/ “Kernel C library” Tiny and minimalistic C library designed for use in an initramfs at  boot time (alternative to initrds). Fine for the creation of simple shell scripts. Ships with small executables for use in shells, built with klibc, and a klcc compiler to compile your own applications. Not elaborate enough to support BusyBox applications. Useful details in  http://en.wikipedia.org/wiki/Klibc 19 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Platform specific toolchains (1) ARM Code Sourcery (supports GNU/Linux, EABI and uClinux): http://www.codesourcery.com/gnu_toolchains/arm/ Also available for Windows workstations. MIPS http://www.linux­mips.org/wiki/Toolchains (useful links) 6 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Training contents (3) Annexes Automatic system generation with BitBake / OpenEmbedded 33 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Other emulators ColdFire emulator http://www.slicer.ca/coldfire/ Can boot uClinux 37 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Minicom (1) Definition: serial communication program Available in all GNU / Linux distributions Capabilities (all through a serial link): Serial console to a remote Unix system File transfer Modem control and dial­up Serial port configuration 50 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Denx Software Engineering http://denx.de Created by Wolfgang Denk, the author of the U­Boot bootloader. Create and support the Embedded Linux Development Kit (ELDK), a complete and well documented development environment. This kit is not only Free Software, it can be downloaded freely by anyone. A great community member and contributor! 15 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 Free Software tools for embedded systems GNU / Linux workstation Cross­compiling toolchains 9 Free Software tools for embedded systems © Copyright 2004­2008, Free Electrons Creative Commons Attribution­ShareAlike 2.5 license http://free­electrons.com Jan 24, 2008 uClibc http://www.uclibc.org/ from CodePoet Consulting License: LGPL Lightweight C library for small embedded systems,  with most features  though. The whole Debian Woody was ported to it...
  • 132
  • 425
  • 0
Tài liệu Báo cáo "Dynamically reconfiguration architecture for embedded systems using Kaffe " doc

Tài liệu Báo cáo "Dynamically reconfiguration architecture for embedded systems using Kaffe " doc

Ngày tải lên : 13/02/2014, 03:20
... instruction and data caches as well as the interface controller. Instructions for execution flow through the interface and into the instruction cache for execution. The interface controller maintains ... 32-bit architecture. The exception is the connection between the Stack cache and the arithmetic units that is 96 bits. This allows for long operands to pass from the cache to the arithmetic units ... of eEmbedded Kaffe systems The target architecture for such systems consists of a microprocessor running a Kaffe virtual machine, and a hardware processor consisting of a core from the ARM family....
  • 7
  • 411
  • 0
Model-Based Design for Embedded Systems- P1 pdf

Model-Based Design for Embedded Systems- P1 pdf

Ngày tải lên : 02/07/2014, 15:20
... Design for Embedded Systems 1.1.1 Distributed Embedded Platforms Embedded systems are special-purpose computer systems that are inte- grated into products such as cars, telecommunication devices, consumer electronics, ... California Laura Barrachina-Saralegui Institut de Microelectrònica de Barcelona Centre Nacional de Microelectrònica Barcelona, Spain Olivier Benny STMicroelectronics, Inc. Ottawa, Ontario, Canada AlbertBenveniste Institut ... the direct application of the proposed approach for optical link synthesis and technology performance characteri- zation by analyzing optical link performance for two sets of photonic com- ponent...
  • 30
  • 491
  • 0
Model-Based Design for Embedded Systems- P2 doc

Model-Based Design for Embedded Systems- P2 doc

Ngày tải lên : 02/07/2014, 15:20
... an abstract and a concrete GPC. Abstract components transform input VCCs into output VCCs, that is, they are characterized by a transfer function that relates input VCCs to out- put VCCs. We say ... Systems UT/LT Untimed/timed structural communication CDMA Timing approximate communication CAN UT Untimed/timed p-2-p communication AT Cycle-accurate communication CAN Refinement flow FIGURE 2.1 The communication refinement ... SystemC code. This code can be compiled for any host machine to be used for a target platform- independent simulation. Communication calls in the automatically created SystemC models are encapsulated...
  • 30
  • 434
  • 0
Model-Based Design for Embedded Systems- P3 pptx

Model-Based Design for Embedded Systems- P3 pptx

Ngày tải lên : 02/07/2014, 15:20
... number of cycles caused by mispredicted branch and cache behaviors. At the end of each basic block, the generation of previously calculated cycles (static cycles plus correction cycles) can occur (Figure ... the processor. Annotation of C code for a basic block Architectural model C code corresponding to the cache analysis blocks of the basic block Cache model Branch pre- diction model C code corresponding ... a basic block Function call of consume function if necessary (e.g. before I/O access) consume(getTaskTime()); delay(cycleCalculationICache(tag, iStart, iEnd)); delay(cycleCalculationForConditionalBranch()); delay(statically...
  • 30
  • 559
  • 0
Model-Based Design for Embedded Systems- P4 ppt

Model-Based Design for Embedded Systems- P4 ppt

Ngày tải lên : 02/07/2014, 15:20
... DDR for two considered system properties subject to maximization. Shared memory HW IP1 IP2 SigOut ECU1 eval1ctrl1 eval2ctrl2 calc ctrl3 exec2 exec1 mon2 mon3 mon1 Multicore ECU ECU4 CAN Bus C5 C4 C3 C2 C1 ECU2 ECU3 Sens3 Sens2 Sens1 Act2 Act1 ESP Parking ... in which both scenarios can impress load artifacts on the system. Each scenario is characterized by a specific behavior and is associated with a specific set of tasks. A scenario change (SC) from ... consequence of the echo effect, for the worst-case response time calcu- lation across the SC of the low-priority unchanged communication task C5 , it is not sufficient to consider only its activations...
  • 30
  • 416
  • 0
Model-Based Design for Embedded Systems- P6 pps

Model-Based Design for Embedded Systems- P6 pps

Ngày tải lên : 02/07/2014, 15:20
... that each τ j is characterized by “best-case” and “worst-case” execution times, bcet j ∈ N and wcet j ∈ N, respectively. At the start of each new period, there is a nondeterministic choice concerning ... a collectionofcommunicating sequential tasks. Each task is characterized by four timing properties, described later. The dependencies between tasks are captured by an acyclic directed graph (called ... larger capacity than strictly necessary cannot be justified. Feedback control is a common application type in embedded systems, and many wireless embedded systems are networked control systems, ...
  • 30
  • 389
  • 0
Model-Based Design for Embedded Systems- P7 pot

Model-Based Design for Embedded Systems- P7 pot

Ngày tải lên : 02/07/2014, 15:20
... Finally, customer-specific developments and controlled access to the domain- specific parallel subsystems will usually occur via this general-purpose processor and OS pair. • Domain-specific subsystems composed ... improve- ment, wireless communications, and 3D graphics). • Tightly coupled hardware PEs for domain-specific data processing functions. • Domain-specific I/O blocks, which are becoming increasingly flexible. 7.2 ... Pallottino. A component-based approach to localization and collision avoidance for mobile multi-agent systems. In Proceedings of the European Control Conference (ECC), Kos, Greece, 2007. 3. T.R....
  • 30
  • 373
  • 0
Model-Based Design for Embedded Systems- P8 pps

Model-Based Design for Embedded Systems- P8 pps

Ngày tải lên : 02/07/2014, 15:20
... processor p C comm is the communication cost required for the communication of task t with the preceding tasks C succ represents a look-ahead cost concerning the successor tasks, the min- imal cost ... and receiver (rx). The blocks tx_crc_0 (70) rx_crc_0 (70) rx_crc_1 (70) rx_vtd_1 (205) rx_vtd_0 (205) tx_crc_1 (70) aa a aa b bc bb b b ccd dcc aa b a tx_vtc_0 (75) tx_vtc_1 (75) tx_rm (40) tx_fi (80) rx_fi (80) tx_rfs (30) rx_rfa (30) rx_rm (40) tx_si (80) rx_rake (175) tx_si (80) tx_sm (170) M A C R a d i o i n t e r f a c e FIGURE ... inputs: Application specification Client/server Streaming Abstract platform specification Performance analysis Component assembly Visualization Application constraints, profiling Application core C functions Streaming Static tools Streaming Dynamic tools Intermediate...
  • 30
  • 548
  • 0
Model-Based Design for Embedded Systems- P9 ppt

Model-Based Design for Embedded Systems- P9 ppt

Ngày tải lên : 02/07/2014, 15:20
... by Skillicorn Abstraction Level Typical Languages Explicit Concepts Implicit concurrency PPP, crystal None Parallel level Concurrent Prolog Concurrency Thread level SDL Concurrency, decomposition Agent ... Emerald, CORBA Concurrency, decomposition, mapping Process network Kahn process network Concurrency, decomposition, mapping, communication Message passing MPI, OCCAM Concurrency, decomposition, mapping, ... links Virtual architecture Data exchange, e.g., send–receive(data) Implicit tasks control, e.g., threads in SystemC Specific I/O protocols related to architecture Transaction accurate architecture Data access...
  • 30
  • 347
  • 0
Model-Based Design for Embedded Systems- P10 pot

Model-Based Design for Embedded Systems- P10 pot

Ngày tải lên : 02/07/2014, 15:20
... space Application space Platform instance Mapped Function space Platform instance Mapped Platform (architectural space) Platform (architectural space) Function space Platform mapping Platform design-space export Function ... architecture, virtual architecture, transaction accu- rate architecture, and virtual prototype levels are described, respectively. 9.6.1 Application and Architecture Specification The H.264 encoder ... upon a complex MPSoC architecture to execute efficiently the H.264 video encoder application and to explore differ- ent communication schemes. Nicolescu/Model-Based Design for Embedded Systems...
  • 30
  • 420
  • 0

Xem thêm