1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special...
-
Upload
sharon-goodman -
Category
Documents
-
view
217 -
download
0
Transcript of 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special...
![Page 1: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/1.jpg)
1
EECS 373Design of Microprocessor-Based Systems
Ryan Heise, Matthew Linder,David Reddmann
Special Topics: Software Toolchains
![Page 2: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/2.jpg)
• A set of software products where the output of one product is used as the input for another
• Software Development Toolchain– Text Editor– Compiler/linker/assembler– Debugger
Definition
![Page 3: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/3.jpg)
• Cost• OS (i.e. Windows/Linux/OSX)• Supported Programming Languages• Supported Hardware Architectures (x86, ARM, etc.)
• Libraries• Real Time Operating Systems(RTOS)• Usability• Unique Features• Product Support
Software Development Toolchains: Differentiation
![Page 4: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/4.jpg)
Third Party Toolchains
• IAR• Keil MDK• mikroC• Green Hills
4
![Page 5: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/5.jpg)
IAR
• Highly optimizing C and C++ compiler for ARM and other platforms
• Supports the full range of ARM (7-11), and CortexM(0-4), CortexR(4-7), and CortexA(5-9, 15)
• Support for over 3100 example projects for many developer boards
• Supports ARM and Thumb ISAs and ARM EABI• Complex debugging including power debugging
• Support for many different RTOS including freescale, and openRTOS
• Includes run-time libraries as well as library source code
5
![Page 6: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/6.jpg)
IAR Debugger
• Supports software simulation of code• Supports in-circuit debugging probes• Debugger is RTOS aware so debugging can be run even in real-time run environment
• Support for in hardware debugging using JTAG and many other in-situ debuggers
• Power debugging to visualize power consumption in correlation with source code
6
![Page 7: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/7.jpg)
Keil MDK
• Specifically designed for microcontroller applications
• MDK-Lite, MDK-Basic, MDK-Standard, and MDK-Professional
• Supports Cortex-M, Cortex-R4, ARM7, and ARM9
• Keil RTX: small footprint RTOS• Complete Code Coverage
– Color coded debugging tool
• Professional supports:– TCP/IP Networking Suite– USB host/device interface– Flash file system library
7
Code Coverage
![Page 8: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/8.jpg)
mikroC
• IDE and toolchain by MikroElectronica• Intended for Microcontroller-based applications
• Supports only STMicroelectronics Cortex M3 and M4
• Supports hardware debugging, software simulating and function byte size measuring
• Has various tools like 7 segment display editor and text-to-LCD character editor
• Includes drivers and libraries for many peripherals including CAN, TFT, Ethernet, FAT16, USB, memory management
8
![Page 9: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/9.jpg)
Green Hills Products
• RTOS: INTEGRITY– FFS, FAT, NFS, and journaling file systems– IPv4/IPv6 host and routing networking stacks
• Optimizing compilers for:– C, C++, EC++, MISRA C, Ada– Configurable to per-project, per-file, per-function, or per-source-line
• IDE: MULTI– C, C++, Ada– Designed to work with Green Hills compilers and debuggers
– Enforces strict clean code standards with MISRA 2004 and GHS Standard Mode
9
![Page 10: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/10.jpg)
Green Hills Products
• Debugger: TimeMachine– One element of debugging suite allows visual debugging of program control flow.
– Performance analysis tools to see where program is spending its time
– Can view OS events to track undesirable behavior in system
10
TimeMachine debugging element
![Page 11: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/11.jpg)
Pros and Cons
• IAR:+ Support for all ARM processors- Expensive
• MDK: + Extra support for microcontroller
applications- Only Professional edition offers all the
perks
• mikroC:+ Visual comments- Only supports STMicroelectronics, Cortex M3
and Cortex M4
• Green Hills:+ Visual debugging and performance analysis- Buy multiple products
11
![Page 12: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/12.jpg)
Costs
12
![Page 13: 1 EECS 373 Design of Microprocessor-Based Systems Ryan Heise, Matthew Linder, David Reddmann Special Topics: Software Toolchains.](https://reader036.fdocuments.net/reader036/viewer/2022062716/56649dbc5503460f94aaee85/html5/thumbnails/13.jpg)
Questions?
Comments?
Discussion?
13