1 / 55

IAR PowerPac TM

IAR PowerPac TM. Complete suite of tools from IAR. IAR Development Kits. visualSTATE. IAR J-Link & IAR J-Trace. IAR Embedded Workbench. Design. Verify, Validate, Implement. Compile. Debug. Deploy. Target application. Idea.

gavan
Download Presentation

IAR PowerPac TM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IAR PowerPacTM

  2. Complete suite of tools from IAR IAR Development Kits visualSTATE IAR J-Link & IAR J-Trace IAR Embedded Workbench Design Verify, Validate, Implement Compile Debug Deploy Target application Idea RTOS & Middleware IAR PowerPac

  3. Model Target System State Chart / UML State Machine Modeling Tool ARM SoC On-Chip Peripherals Code User-Written Codes Auto- Generated Code On-ChipFlash On-ChipRAM Middleware GUI TCP/IP Stack USB Stack File System ETM ARM Core Embedded ICE RTOS Kernel Trace Port JTAG Port BSP IDE Compiler / Assembler Emulator Linker Project Manager Trace Probe JTAG Probe Debugger

  4. Market drivers • 32-bit microcontrollers now becoming affordable • Software and hardware complexity has grown • Growing need for real-time multitasking system • Increased understanding for costs related to open source • Increased expectations of pre-integrated software platforms • Time-to-market • Need for external communication

  5. IAR PowerPacTM • Fully featured real-time operating system • High performance file system • USB device communication stack • TCP/IP protocol stack • Innovative business model similar to that of IAR Embedded Workbench • Tight integration with IAR Embedded Workbench • Easy to get started • Board support packages Additional components IAR PowerPac TCP/IP IAR PowerPac USB IAR PowerPac Source IAR PowerPac Base (RTOS + File System)

  6. Operating system- key features • Small memory footprint (2-3 KByte for typical ARM implementation) • Pre-emptive multi-tasking • Round-robin scheduling • Up to 255 priorities • Unlimited number of tasks, semaphores, mailboxes and software timers • Full interrupt support • Zero interrupt latency time • Nested interrupts permitted • Very fast context switch times

  7. Application API layer File system layer File system Logical block layer Device driver Hardware layer File system • Very small footprint, e.g. 16 KByte ROM / 1,6 KByte RAM • MS-DOS/MS-Windows compatible FAT12, FAT16 and FAT32 support • Multiple device driver support • Multiple media support • OS support • Device drivers available: RAM disk, MMC, SD, CompactFlash , IDE, SMC, NOR/NAND flashes • Highly modular structure keeping minimum memory consumption

  8. CDC Bulk MSD HID USB Core Driver IAR PowerPac USB • Sold as an add-on to PowerPac Base/Source using the same business model • Key communication classes • Board support packages • Small footprint • High speed • Supports USB 1.1 & 2.0 devices • The highest possible transfer rate on USB 2.0 full speed (12 Mbit/second) devices is approximately 1 Mbyte per second.

  9. IAR PowerPac TCP/IP • Protocols: TCP, IP, Telnet, UDP, ARP, DHCP (client), ICMP, TFTP • Highly optimized for minimum memory consumption & high speed • 2.5 Mbyte/s (ARM7 at 48 MHZ) • 18 Kbyte ROM • Standard socket interface • Connections limited only by available memory • Zero compile time configuration -> code can be compiled into a library • Tightly integrated with PowerPac RTOS DHCP Telnet DNS TFTP BSD sockets UDP TCP IP ARP ICMP Drivers

  10. IAR PowerPac的特点 • 中断零延迟 • 中断处理程序可进行任务切换 • 允许中断的嵌套 • 非常迅速的上下文切换 • ARM7(50MHz)下达到 8.92us • - 每个任务可有单独的优先级 • 优化的功耗管理 • 与IAR EWARM无缝集成 • 提供初学者入门开发模板 • 提供芯片初始化代码 评估版免费下载:www.iar.com/pparm

  11. Agenda • IAR PowerPac RTOS • IAR PowerPac File System • IAR PowerPac USB • IAR PowerPac TCP/IP

  12. What is a Real Time Kernel ? • Software that manages the time of a microprocessor or microcontroller: • Ensures that the most important code runs first

  13. What is a Real Time Kernel ? Allows Multitasking: • Allows to do more than one thing at the same time. • Breaks down the application into multiple tasks each handling one aspect of the application. • It’s like having multiple CPUs.

  14. What is a Real Time Kernel ? Provides valuable services to the application • Time delays • Semaphore management • Inter-task communication and synchronization • Memory management

  15. Why using an RTOS ? • More responsive to real time events, provides predictable response times in time critical applications • Task oriented design, cleaner and better organized • Using an RTOS abstracts the hardware-dependence, porting the application to a different target is easier • Provides useful service to the application

  16. Memory usage in EWARM

  17. Agenda • IAR PowerPac RTOS • IAR PowerPac File System • IAR PowerPac USB • IAR PowerPac TCP/IP

  18. PowerPac File System main features • MS DOS/MS compatible FAT12, FAT16 and FAT32 support. • Long file name support (optional). • Multiple device driver support / OS support • Simple, easy to use API • Multimedia support • Caching functionality • Check disk functionality • Format functionality

  19. PowerPac File System main features • RAM disk support • SMC card support • MMC/SD support using SPI or Card mode • CompactFlash card and IDE device support • NOR flash support • NAND flash support

  20. PowerPac File System main features • Wear leveling • makes sure that the number of erase cycles remains approximately equal for each sector • Fail-safe operations • The driver makes only atomic actions and takes the responsibility that the data managed by the file system is always valid. • In case of a power loss or a power reset during a write operation, it is always assured that only valid data is stored in the flash. • If the power loss interrupts the write operation, the old data will be kept and the block will not be corrupted.

  21. App. Program using Storage API or FS API. Responsibility of app. programmer Application File System API: API Layer <stdio.h> like functions like PowerPac File System Storage API File System API FS_FOpen(), FS_FRead(), FS_FWrite(). File System Layer (FAT) Translation of file operations to sector operations. Synchronisation of device Storage Layer operations for different file operations. Low level routines to access Device Driver CF / IDE / MMC / NAND / NOR / SD /... sectors of a device and check status. Low level routines to accessyour hardware. Responsibility of app. programmer Hardware Layer

  22. Agenda • IAR PowerPac RTOS • IAR PowerPac File System • IAR PowerPac USB • IAR PowerPac TCP/IP

  23. IAR PowerPac USB Bulk • All types of applications • Single, high speed • PC is USB host • Allows full bandwidth • Custom PC host included MSD (Mass Storage Device) • Digital camera, USB stick, MP3 player etc. • No custom USB host driver needed CDC (Communication Device Class) • Modem, telephone system fax machine etc… • No custom USB host driver needed HID (Human Interface Device) • Keyboard, mouse, gamepad • No custom USB host driver needed

  24. Agenda • IAR PowerPac RTOS • IAR PowerPac File System • IAR PowerPac USB • IAR PowerPac TCP/IP

  25. IAR PowerPac TCP/IP • What is a TCP/IP stack?

  26. TCP/IP Application layer Application Layer • Consists of user defined and well known protocols • Dynamic Host Configuration Protocol (DHCP) • Domain Name System (DNS) • Telnet • TFTP • …… • Client-Server Model • Server offers a service • Client requests a service

  27. TCP/IP Transport Layer • Transport layer responsible for application address • A Port is the address of the application • 0 to 1023 are well-known reserved ports • 1024 to 49151 are registered server ports • 49152 to 65535 are dynamic client ports

  28. TCP/IP Transport Layer • Transmission Control Protocol (TCP) • Connection oriented protocol • Full duplex, reliable • Data may be reorganized (Nagle) • Connections can be lost • User Datagram Protocol (UDP) • Connectionless protocol • No guarantee of delivery • Packets are sent unaltered

  29. TCP/IP Network Layer • Network layer responsible for host address • Achieved via internet protocol (IP) • IP address is a 4 byte unique ID for a node • Often represented in dotted-decimal notation • 192.168.1.30 which is equivalent to 0xC0A8011E • 255.255.255.255 broadcast address • 127.0.0.1 loopback address • Network mask is used to determine location of a host (ex. 255.255.255.0)

  30. TCP/IP Network Layer Internet Control Message Protocol (ICMP) • Responsible for error messages on the network • Example: destination unreachable • Most popular use of ICMP is ping • Echo request and reply

  31. TCP/IP Data Link Layer • Ethernet (hardware) Interface • Responsible for hardware address • Known as Media Access Control (MAC) address for Ethernet • This is a 6 byte unique address • Cannot be used to determine the location of the device • Address Resolution Protocol (ARP) • Sends broadcast packets to ask for the hardware address

  32. TCP/IP Data Link Layer • Respond to Asynchronous Events (Incoming Packets) • Must manage outgoing packets • Implemented as a separate task • Queues incoming and outgoing data

  33. IAR PowerPac TCP/IP API • Similar to the BSD API • Berkley Systems Distribution (BSD) • This is a common socket interface • Porting an already existant application is easy

  34. IAR PowerPac TCP/IP API

  35. IAR PowerPac business model • Principle: • Base product in object code format • Licensing model: • Seat license - per developer and CPU • Full source code upgrade • Snap-on SW modules at additional cost – USB and TCP/IP • Group license (up to 20 developers) • Site license (unlimited on the same site) • No royalty fees • Result: • Low-risk licensing model • A license can be used in unlimited number of projects and products • Affordable site license for unlimited number of developers

  36. Copy protection in PowerPac • Affects PowerPac Base products and only for ARM • PPARM-BASE, PPARM-USB-BASE, PPARM-TCPIP-BASE • Requires registration in the same way as for EW • The same license manager • The PowerPac libraries will be built with a special compiler option tagging with LMS information • ILINK will make the license control of by looking for a module with the LMS tag

  37. IAR PowerPac products • For ARM • PPARM-BASE: ~ USD 5000 per seat • PPARM-SRC ~ USD 12000 per seat • PPARM-USB-BASE ~ USD 2000 per seat • PPARM-USB-SRC ~ USD 5000 per seat • PPARM-TCPIP-BASE • PPARM-TCPIP-SRC

  38. IAR PowerPac - evaluation version • Available in all EW product variants with the following limitations: • IAR PowerPac RTOS can create a maximum of three tasks • IAR PowerPac File System can only handle one open file at any given time • IAR PowerPac USB has a time limit of 15 minutes on the connection. • IAR PowerPac TCP/IP has a time limit of 15 minutes on the connection. • Time limited version will be available with EWARM 5.11

  39. Priority controlled Mulititasking Proven code Costs Hard real time Shorter time to market Visualization Universal Documentation Why use a commercial RTOS ? Commercial RTOS?

  40. Why use a commercial RTOS ? • Proven code: • Used by hundreds of users in a multiplicity of ways • Continuously used and tested • Developer can focus on application program instead of wasting time on finding bugs • Code is more organized • Hard real-time: • Zero latency • Short interrupt latency • Fast context switch

  41. Why use a commercial RTOS ? • Visualization: • Kernel aware debugging (plug-in) • Documentation: • In case of crew change: Well documented code/manual • Technical support • Makes porting to different hardware easier

  42. Why use a commercial RTOS ? • Shorter time to market: • Reliability lets developer focus on application • Training on RTOS takes less time than inventing it from scratch • Writing the documentation is very time consuming • Costs: • Less expensive than costs for developer when inventing from scratch • Less expensive when changing to a different processor • Developers costs are higher than buying a commercial RTOS

  43. Objections to not choosing a commercial RTOS “My application does not benefit from multitasking!” • Timing more accurate • Program structure easier • Easy to add more components in future • Mid-Size App: Smaller code • Power savings

  44. Objections to not choosing a commercial RTOS “We have our own, proprietary RTOS and it works fine ! ” • Is your RTOS well documented? • Portable to different CPU? • Crew change • Longer learning curve • Performance • Functionality? • Debugger integration? • Easier use of middleware

  45. Objections to not choosing a commercial RTOS “We can not afford it !” • Cost less than compiler - no royalties • Shorter development time saves money • Shorter time too market • Better product

  46. Objections to not choosing a commercial RTOS “I do not want to depend on anybody !” • Source code available • Less dependency on individual members of development team

  47. Objections to not choosing a commercial RTOS “I do not want to change the existing code!” • The existing code can be easily integrated into a single task and split into separate tasks later • New code can benefit from the RTOS

  48. Objections to not choosing a commercial RTOS “I do not have enough memory!” • IAR PowerPac RTOS has a very small footprint – about 2 Kbyte for a ARM7

  49. Objections to not choosing a commercial RTOS “Using an RTOS makes things too complicated” • Simple start project and BSPs • Code can be modularized, making things easier to maintain and debug • Easier debugging C-SPY is kernel aware • Guaranteed timing for high priority task takes burden off developer

More Related