Embedded Systems Design - July 2008 - (Page 25) cover feature We have found that the application analysis tools on a regular basis. Here, ble for exploring the mapping solution there is little or no overhead in cleaning cleaning and mapping tools eventually space and for efficiently mapping the contribute toward a decreased time to the code. CleanC sequential algorithm onto the market, with a lower risk (both in time In case the source code already exparallel platform-programming model. and performance) when mapping and ists, designers may object at the cost of The multiprocessor parallelization assist integrating software (MPA) tool automatically transforms C source code Designers should preferably program at the applications components and hardware/ into parallel source code sequential level and perform software services on based on designer directives. top of an MPSoC The tool supports both datathe parallelization afterwards. This means platform. ■ level parallelism and that the source code must be cleaned. pipeline parallelism, two baMieke Van Bavel is scisic parallel programming entific editor at IMEC, the Interuniversity cleaning the source code first. However, patterns. The tool also recognizes and Microelectronics Center (EC) in Leuven, given CleanC code in combination with optimizes certain forms of divide-andBelgium. She may be reached at IMEC’s MPSoC mapping tools, it beconquer parallelism: here a sequential mieke.vanbavel@imec.be. comes much easier to explore even very task can be split in parallel tasks, but At IMEC in Belgium, Michael Tilman different correct-by-construction paralthe results of these tasks must be leads the software engineering team lelizations in a short time. An experiprocessed by an associative function within the Nomadic Embedded Systems enced designer can explore the trade(like addition or multiplication). division. He is responsible for the develoffs of, say, 10 different nontrivial The memory hierarchy (MH) tool opment of tools that assist designers in parallelizations of an MPEG4 encoder in cleaning and mapping sequential code optimizes usage of the memory hierara day. The advantages offered by this fast onto heterogeneous multiprocessor platchy by sequential C programs. It can forms. He may be reached at exploration and optimization process autonomously introduce data copies, michel.tilman@imec.be. then outweigh the cost of cleaning. map them onto scratchpad memories, and insert the necessary direct-memory-access transfer instructions based on a combination of static analysis and Software profiling information. Development Both the MPA and MH tools derive their strengths from the ability to Tools analyze relevant data and control-flow dependencies in the complete input The Leader in Microcontroller Development Solutions program. The CleanC tool suite, the MPSoC ULINK®2 Adapter C/C++ Development Kit including mapping tools together with prebest-in-class compilers, genuine Keil for target debugging ® dictable platform services constitute μVision , and royalty-free RTX RTOS. and Flash programming. IMEC’s global approach to MPSoC apwww.keil.com/arm plication mapping. Figure 3 shows the RunA/D I/O Ports MPSoC programming model. Control ARM COSTS AND BENEFITS OF CODE CLEANING The rationale behind IMEC’s MPSoC mapping flow is that designers should preferably program at the sequential level and perform the parallelization afterwards. This means that the source code must be cleaned. The question arises then, what is the cost of code cleaning? In one scenario, the designer develops the source code from scratch. In this case it suffices to follow the cleaning guidelines and to run the CleanC Timers Interrupts Debug Channel Flash ROM Cx51 www.keil.com/c51 PWM UART 2 CPU RAM RTC DMA C166 www.keil.com/c166 Out-of-the box support for more than 1,400 Microcontroller devices. I C/SPI Ethernet SD USB CAN Keil RTOS and Middleware components are specifically optimized for embedded systems and include TCP/IP, Flash File system, USB and CAN support. Call 1-800-348-8051 for a free demo CD. www.keil.com 25 www.embedded.com | embedded systems design | JULY 2008 http://www.keil.com http://www.keil.com/arm http://www.keil.com/c51 http://www.keil.com/c166 http://www.keil.com http://www.embedded.com
Table of Contents Feed for the Digital Edition of Embedded Systems Design - July 2008 Embedded Systems Design - July 2008 Contents #Include Parity Bit Programming Pointers Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design Building a Power Supply for Discontinuous Transmission Wireless Networks An Exception Primer Advertising Index Break Points Marketplace Embedded Systems Design - July 2008 Embedded Systems Design - July 2008 - Embedded Systems Design - July 2008 (Page Cover1) Embedded Systems Design - July 2008 - Embedded Systems Design - July 2008 (Page Cover2) Embedded Systems Design - July 2008 - Embedded Systems Design - July 2008 (Page 1) Embedded Systems Design - July 2008 - Embedded Systems Design - July 2008 (Page 2) Embedded Systems Design - July 2008 - Contents (Page 3) Embedded Systems Design - July 2008 - Contents (Page 4) Embedded Systems Design - July 2008 - Contents (Page 5) Embedded Systems Design - July 2008 - Contents (Page 6) Embedded Systems Design - July 2008 - #Include (Page 7) Embedded Systems Design - July 2008 - #Include (Page 8) Embedded Systems Design - July 2008 - Parity Bit (Page 9) Embedded Systems Design - July 2008 - Programming Pointers (Page 10) Embedded Systems Design - July 2008 - Programming Pointers (Page 11) Embedded Systems Design - July 2008 - Programming Pointers (Page 12) Embedded Systems Design - July 2008 - Programming Pointers (Page 13) Embedded Systems Design - July 2008 - Programming Pointers (Page 14) Embedded Systems Design - July 2008 - Programming Pointers (Page 15) Embedded Systems Design - July 2008 - Programming Pointers (Page 16) Embedded Systems Design - July 2008 - Programming Pointers (Page 17) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 18) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 19) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 20) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 21) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 22) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 23) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 24) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 25) Embedded Systems Design - July 2008 - Interactive C-code Cleaning Tool Supports Multiprocessor SoC Design (Page 26) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 27) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 28) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 29) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 30) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 31) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 32) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 33) Embedded Systems Design - July 2008 - Building a Power Supply for Discontinuous Transmission Wireless Networks (Page 34) Embedded Systems Design - July 2008 - An Exception Primer (Page 35) Embedded Systems Design - July 2008 - An Exception Primer (Page 36) Embedded Systems Design - July 2008 - An Exception Primer (Page 37) Embedded Systems Design - July 2008 - An Exception Primer (Page 38) Embedded Systems Design - July 2008 - An Exception Primer (Page 39) Embedded Systems Design - July 2008 - An Exception Primer (Page 40) Embedded Systems Design - July 2008 - An Exception Primer (Page 41) Embedded Systems Design - July 2008 - An Exception Primer (Page 42) Embedded Systems Design - July 2008 - An Exception Primer (Page 43) Embedded Systems Design - July 2008 - Advertising Index (Page 44) Embedded Systems Design - July 2008 - Break Points (Page 45) Embedded Systems Design - July 2008 - Break Points (Page 46) Embedded Systems Design - July 2008 - Marketplace (Page 47) Embedded Systems Design - July 2008 - Marketplace (Page 48) Embedded Systems Design - July 2008 - Marketplace (Page Cover3) Embedded Systems Design - July 2008 - Marketplace (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.