- Использование среды разработки IAR Ebedded Workbench IDE
- Введение
- Настройка IAR
- Некоторые приемы
- Заключение
- Try software
- Choose your product
- IAR Embedded Workbench for Arm
- IAR Embedded Workbench for RISC-V
- IAR Embedded Workbench for 8051
- IAR Embedded Workbench for MSP430
- IAR Embedded Workbench for AVR
- IAR Embedded Workbench for AVR32
- IAR Embedded Workbench for Renesas RX
- IAR Embedded Workbench for Renesas RL78
- IAR Embedded Workbench for Renesas RH850
- IAR Embedded Workbench for Renesas SuperH
- IAR Embedded Workbench for Renesas R32C
- Как установить IAR Embedded Workbench в ubuntu [duplicate]
- 30 ответов
- IAR Embedded Workbench for Arm
- User-friendly IDE
- 7,000+ supported Arm devices
- Leading compiler technology
- Comprehensive debugger
- On-demand training included
- Integrated code analysis add-ons
- Product overview
- Latest releases
- Latest version: 9.30
- Version 9.20
- Arm Cortex-M55 support
- IDE Editor updates
- Additional GNU C language extensions
- Support for latest devices
- Version 9.10
- 64-bit Arm core support
- Iarbuild enhancements
- High-performance 64-bit C-SPY simulator
- New device support
- Wide support for MCU devices
- 7,977 supported devices
- Get started using this product
- Free trial of IAR Embedded Workbench for Arm
- Get price quote
- What type of license do you need?
- Trial
- Stand-alone
- Mobile
- Network
- Global
- Volume License Program
- Quick guide for product editions
- Cortex-M
- Standard
- Functional Safety
- Extended
- Want to know more about IAR Embedded Workbench for Arm?
- Learn
- Add-on products
- C-STAT
- C-Trust
- I-jet Trace for Arm Cortex-A/-R/-M
- Integrations
- Extensions for Visual Studio Code
- Integrated software and RTOS
- Project migration tools
- User guides and documentation
- General user guides
- Hardware debugging support
- Specific documentation for C-SPY debugger drivers
- Documentation for Realtime Operating System support
- CMSIS compliance
- What is CMSIS?
- CMSIS-DAP
- CMSIS-NN
- Languages and standards
- ISO/ANSI C/C++ Compliance
- IEEE 754 standard
- MISRA C
- Test validation
Использование среды разработки IAR Ebedded Workbench IDE
Введение
Используя разные микроконтроллеры, возникает необходимость выбрать удобную среду разработки. Нам есть из чего выбирать – будь то IAR или Keil µVision, или, даже Code Composer Studio.
Ниже пойдет речь об IAR Embedded Workbench IDE на примере STM32F10x. Эта среда разработки достаточно мощная. Имеются всякие вкусняшки.
Настройка IAR
В первую очередь нужно настроить IAR.
Основные настройки
Настройки проекта
Допустим, создавать новый проект мы умеем (если нет, то Project->Create New Project…). После создания проекта нам доступны две конфигурации проекта – Debug и Release. Переключаться между ними можно в окне Workspace:
Рис. 1 – Окно Workspace
Удобно использовать несколько конфигураций. В конфигурации Debug можно выбрать симулятор программатора, а в Release – конкретный программатор (к примеру, J-Link). Что позволит сначала отлаживать в симуляторе, не теряя время на прошивку микроконтроллера, а потом уже прошивать под конфигурацией Release.
Добавлять новые конфигурации можно через меню: Project->Edit Configurations.
Опции самого проекта – Project->Options… (Alt+F7). Для открытия окна опций проекта нужно выделить сам проект в окне Workspace, иначе откроются опции того файла, который был выделен.
Настройки буду приводить для конфигурации Debug (в скобках – для Release).
Открываем опции (Alt+F7)
- General Options.
Вкладка Target. Выбираем Device – например, ST STM32F100xB (у меня STM32VLDISCOVERY с STM32F100RBT6 на борту). - С/C++ Compiler.
Вкладка Optimizations. Выбираем Level – None (для Release — High).
Вкладка Preprocessor. В поле Additional include directories вводим все пути заголовочных файлов, имеющих расширение *.h. Например:
$PROJ_DIR$\..\Lib\include\
Остальные переменные, на подобии $PROJ_DIR$, можете посмотреть в хелпе по F1, введя в поиске Argument variables.
В этой же вкладке, в поле Defined symbols вписываем нужные дефайны. Это аналог обычной директивы #define. Для нашей отладочной платки нужно ввести STM32F10X_MD_VL, если мы хотим использовать библиотеки от криворуких STM’овцев.
Так же для конфигурации Debug можно завести дефайн DEBUG. Это удобно, если использовать, к примеру, конструкцию:
#ifndef DEBUG
Delay(100 часов);
#endif
Зачем же нам ждать это время при отладке, правда же? - Linker.
Вкладка Config. Здесь можно выбрать конфигурационный файл для линковщика, если это необходимо (если у вас не 8-ми битный микроконтроллер). Если необходимо перераспределить память микроконтроллера по-своему, то нужно ковырять файл *.icf. Об этом можно прочитать в Help->C/C++ Development Guide страница 81 Linking your application. Если эта тема сложная, то можно написать об этом отдельно. Спрашивайте, если что. - Debugger.
Вкладка Setup. В поле Driver выбираем Simulator (для Release – свой программатор. Для моей платы – ST-LINK. В настройках для него нужно выбрать интерфейс SWD).
Рис. 2 – Дерево проекта
И, напоследок, создайте дерево проекта на ваш вкус.
Некоторые приемы
Горячие клавиши
Поиск:
Обычный поиск – Ctrl+F
Найти дальше – F3
Поиск по файлам проекта – Ctrl+Shift+F
Шагать по найденному (или по ошибкам/ворнингам) – F4
Навигация по проекту:
Перейти к объявлению переменной (даже, если она в другом файле) – F12 — очень полезная функция!
Навигация вперед – Alt+Right
Навигация назад – Alt+Left
Разное:
Открыть header/source – Ctrl+Shift+H (или П.К.М в редакторе, и в контекстном меню выбрать Open Header/Source File)
Закомментировать выделенный блок – Ctrl+K
Разкомментировать – Ctrl+Shift+K
Выделить содержимое скобок – Ctrl+B
Автовыравнивание – Ctrl+T
Поставить/убрать Breakpoint – F9
Вставить шаблон – Ctrl+Shift+Space – тоже интересная штука.
Чтобы добавить свой шаблон, нужно открыть файл CodeTemplates.ENU.txt через меню Edit->Code Templates->Edit Templates
Теперь можно ввести примерно следующее:
#TEMPLATE ,[=default value], .
Знак «&» нужен для быстрого доступа (буква будет подчеркнута). Можно использовать знак «>» для создания подменю. Все интуитивно понятно.
Сохраним файл и вызовем Template menu (Ctrl+Shift+Space). В нем выберем Warning:
Рис. 3 – Вызов меню Template
Введем необходимый текст:
Рис. 4 – Шаблон Warning
Жмякаем по кнопке OK. В результате, появится строчка:
Рис. 5 – Результат использования шаблона
При компиляции все ворнинги и ерроры (#error ) будут выводиться в окне Build.
Заключение
В этой статье были приведены основные возможности IAR, позволяющие достаточно быстро ориентироваться в проекте. Рекомендую использовать горячие клавиши. Это значительно сокращает время работы над проектом.
Буду признателен, если читатель дополнит или поправит меня.
Try software
For you to try our software and evaluate its efficiency and ease of use, we provide evaluation versions of IAR Embedded Workbench. These evaluation licenses are completely free of charge. You can choose either a 14-days trial version or a size-limited version.
Choose the product of your choice below.
Choose your product
Explore new seamless ways to code. Download today.
IAR Embedded Workbench for Arm
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
IAR Embedded Workbench for RISC-V
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. The 14-days trial version of IAR Embedded Workbench for RISC-V is available on request only.
IAR Embedded Workbench for 8051
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
When you click download, you will be asked to register to get your license.
IAR Embedded Workbench for MSP430
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
When you click download, you will be asked to register to get your license.
IAR Embedded Workbench for AVR
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
When you click download, you will be asked to register to get your license.
IAR Embedded Workbench for AVR32
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
When you click download, you will be asked to register to get your license.
IAR Embedded Workbench for Renesas RX
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
When you click download, you will be asked to register to get your license.
IAR Embedded Workbench for Renesas RL78
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
When you click download, you will be asked to register to get your license.
IAR Embedded Workbench for Renesas RH850
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
When you click download, you will be asked to register to get your license.
IAR Embedded Workbench for Renesas SuperH
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
When you click download, you will be asked to register to get your license.
IAR Embedded Workbench for Renesas R32C
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version.
When you click download, you will be asked to register to get your license.
Как установить IAR Embedded Workbench в ubuntu [duplicate]
Можно ли установить файлы .exe и .msi (программное обеспечение Windows) в Ubuntu?
30 ответов
Помимо реализации WINE, если у вас есть копия окон, вы можете также взглянуть на VirtualBox или другую технологию виртуализации.
Вот ссылка на настройку: http : //www.ubuntugeek.com/create-and-manage-virtual-machines-using-virtualbox.html
Конс с использованием виртуальной машины (виртуальной машины) состоит в том, что они обычно зарезервированы для верхнего конца машины, поскольку они являются ОС внутри вашей ОС, которые занимают дополнительные ресурсы ОС.
pro будет заключаться в том, что их проще резервировать и восстанавливать в случае катастрофического сбоя программного обеспечения.
В Википедии есть статья о VirtualBox и виртуализации. Я могу опубликовать только одну ссылку, пока не получу более интересные моменты, поэтому я решил, что учебник станет лучшей ссылкой, поскольку в нем есть краткое описание
Вы должны знать, что Ubuntu — это совершенно другая ОС для Windows. Структуры файлов несовместимы. Поэтому файлы .exe предназначены для Windows, а не для Linux. Поэтому они не будут работать.
Сказав это, есть некоторые файлы .exe, которые хорошо работают в Linux (Ubuntu) через программу под названием wine. Последняя стабильная версия должна быть в программном центре.
Моя самая сильная рекомендация — перед установкой wine — перейти на сайт разработчиков и ознакомиться с тем, что он может и чего не может сделать, и какие программы окон, как известно, работают с ним.
Наконец, есть 1000 приложений, предназначенных для Linux, которые делают то же самое, что делают приложения Windows. Многие из них являются кросс-платформенными, такими как VLC, Firefox, чтобы назвать пару.
Кроме того, если вы хотите получать обновления от разработчиков Wine, чтобы все больше и больше программного обеспечения Windows поддерживалось, перейдите в System-> Software Sources и перейдите на другую вкладку Software. Нажмите кнопку «Добавить» и скопируйте + вставьте в нее: ppa: ubuntu-wine / ppa
Файл windows windows exe не запускается на linux, это разная порода операционной системы. Вы можете установить вино, а затем повторите попытку. Хорошо работает в большинстве случаев.
И дайте ubuntu справедливый шанс, вам не нужна Windows в большинстве случаев. Вы просто под впечатлением, что это является необходимой частью компьютерного опыта.
Как мне установить вино?
Да, как говорили другие, вы можете использовать вино для запуска программ Windows.
Как только вино установлено, вы можете запустить исполняемый файл Windows, щелкнув его правой кнопкой мыши и нажав «открыть с вином загрузчик программ Windows» ‘или используя терминал, как описано выше.
Здесь вы должны проверить, можно ли запустить программу в вине. Многие программы не будут работать отлично или потребуется дополнительная настройка для запуска. Программа, называемая winetricks (см. Http://wiki.winehq.org/winetricks), может сделать вещи немного проще.
Всегда старайтесь использовать собственное программное обеспечение или бесплатные альтернативы, если это возможно. Вы можете искать приложения в Ubuntu Software Center — программы здесь будут работать намного лучше и не нуждаются в небольшой конфигурации. Вы также можете посмотреть на этом сайте: здесь для бесплатных программных альтернатив запатентованным продуктам.
IAR Embedded Workbench for Arm
Complete development environment for Arm, generating fast, compact code and enabling you to take full control of your code.
User-friendly IDE
One Integrated Development Environment with project management tools and editor. Included is 8,400 example projects containing configuration files, code examples and project templates, giving every project a quick start.
7,000+ supported Arm devices
Support for all 32-bit Arm cores from all major vendors and selected 64-bit Arm cores, including Arm Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M55, Cortex-M85, Cortex-R4, Cortex-R5, Cortex-R7, Cortex-R8, Cortex-R52, Cortex-R52+, Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15, Cortex-A35, Cortex-A53, Cortex-A55, Cortex-A57, Cortex-A72 and Arm11, Arm9, Arm7 and SecurCore.
Leading compiler technology
The IAR C/C++ Compiler is built by our compiler experts and supports C and C++. It offers advanced global and target-specific optimizations, and supports a wide range of industry-standard debug and image formats, compatible with most popular debuggers and emulators, including ELF/DWARF where applicable. Coupled with the complete linker and assembler, it enables powerful building of embedded applications.
Comprehensive debugger
The C-SPY Debugger provides an Arm instruction simulator and extensive support for debugging probes and target systems. It includes RTOS plugins and wide support for communication stacks and middleware, as well as a C-like macro system. In addition, it offers multicore debugging with support for symmetric multicore processing (SMP) and asymmetric multicore processing (AMP).
On-demand training included
When you buy a license of IAR Embedded Workbench for Arm, you get access to free training courses through our IAR Academy on Demand offering.
Integrated code analysis add-ons
Through the integrated static analysis add-on C-STAT and the runtime analysis add-on C-RUN, the toolchain helps you to ensure code quality throughout the development and testing process.
Product overview
See IAR Embedded Workbench for Arm V9.30 and its powerful features in action in this video.
Latest releases
We are constantly updating and refining our tools with new features, new device support and extended capabilities.
Latest version: 9.30
- Arm Cortex-M85 support
- Arm Cortex-M Custom Instructions support
- Cortex-R52+ support
- Extended Armv8-A support
- Library support for the C++17 language standard
- Additional GNU C language extensions
- Editor and IDE enhancements
- Visual Studio Code support
The IAR Build and IAR C-SPY Debug extensions available on Microsoft Marketplace enable you to work in Visual Studio Code (with IAR Embedded Workbench installed) to:
— Build IAR Embedded Workbench projects
— Run the C-STAT static analysis tool
— Debug applications using the same range of hardware/debug probes as in IAR Embedded Workbench - Supported devices
Read complete release notes
Version 9.20
Arm Cortex-M55 support
Support for the new Cortex-M55 core based on the ARMv8.1-M architecture with features such as MVE (the Helium M-profile Vector Extension) and Low Overhead loops.
IDE Editor updates
- Editor themes — a new way to set up the colors and fonts in the text editor
- Syntax feedback — instant syntax suggestions while typing
- Improved parameter hints
Additional GNU C language extensions
- pure and const function attributes
- GNU style statement expressions
- GNU style case ranges
- GNU style designated initializer ranges
- Binary literals with a 0b prefix
Support for latest devices
Added support for devices from Analog Devices, HDSC, HSXP-HK, Microchip, NXP, Renesas, STMicroelectronics and Toshiba. See the complete list in the release notes.
Version 9.10
64-bit Arm core support
Supported 64-bit cores are Cortex-A35, Cortex-A53 and Cortex-A55. The toolchain supports Armv8-A/Armv8.2-A AArch64 in ILP32 and LP64 data models.
64-bit support is available through the new edition, IAR Embedded Workbench for Arm, Extended. Contact your closest sales team to discuss your options.
Iarbuild enhancements
The iarbuild command line build utility now supports:
- Generate a Ninja build file based on IAR Embedded Workbench project format
- Generate a JSON description of the IAR Embedded Workbench project
- More C-STAT reporting and configuration methods
High-performance 64-bit C-SPY simulator
A new 64-bit simulator based on high-performance simulator technology.
New device support
Added support for devices from ABOV, Nuvoton, NXP, Renesas, Silicon Labs, STMicroelectronics and Texas Instruments
Wide support for MCU devices
7,977 supported devices
IAR Embedded Workbench for Arm supports all 32-bit Arm cores from all major vendors and selected 64-bit Arm cores.
Get started using this product
We are here to help you in your next embedded development project. Get started now by downloading a free trial version or requesting a price quote for your specific needs.
Free trial of IAR Embedded Workbench for Arm
The evaluation license is completely free of charge and allows you to try the software to evaluate its efficiency and ease of use. You can choose either a 14-days trial version or a size-limited version. When you click download, you will be asked to register to get your license.
Please note the following for the 14-day time-limited version:
- Time limit for evaluation license is 14 days
- Not allowed to be used for product development or any kind of commercial use
- Source code for runtime libraries is not included
- C-RUN is size-limited to 12 Kbytes of code, excluding constant data
- Limited technical support
Please note the following for the Kickstart, size-limited version:
- A 32 Kbyte code size limitation
- Source code for runtime libraries is not included.
- C-RUN is not available.
- Limited technical support.
Get price quote
Complete this form and we will get back to you with a price quote tailored for the needs of your project and company.
We look forward to your request!
What type of license do you need?
Our tools are available in a flexible license model to suit your company needs. Together with our support and update agreements, you get the support you need in multiple time zones and multiple languages.
Trial
- 14-days limit / 32 Kbyte code-size limit
- Free of charge
- For evaluation purposes
Get trial version
Stand-alone
- Personal license
- Locked to a specific PC
- Works without network connection
Get quote
Mobile
- Personal license with flexibility
- Locked to a USB dongle
- Works without network connection
- Protects license from hardware failure
Get quote
Network
- For development teams
- Shared pool of licenses
- Managed by license server included in delivery
- Easy to add new users
Get quote
Global
- For global teams
- Easy setup for everyone
- Access licenses from multiple site
Get quote
Volume License Program
- Unlimited number of users
- Complete portability
- Simplified license administration
- Extended technical support
Read details
Quick guide for product editions
Choose between different editions of IAR Embedded Workbench for Arm.
Cortex-M
Standard
Functional Safety
Extended
Arm Cortex-M0, M0+, M1, M3, M4, M7, M23, M33, M55, STAR
1 Static code analysis available with add-on product C-STAT.
2 Runtime analysis available with add-on product C-RUN.
3 Build chain certified according to IEC 61508, ISO 26262, IEC 62304,
EN 50128/ EN 50657, IEC 60730, ISO 13849, IEC 62061, IEC 61511 and ISO 25119.
Want to know more about IAR Embedded Workbench for Arm?
We are present worldwide to help you wherever you are, and we are happy to answer any questions you might have about our products.
Your closest IAR Systems sales team is ready to guide you.
Would you like a product demo? Want product details? We are happy to help you.
Learn
Through our wide selection of articles and videos, learn tips on programming and coding as well as how to use our tools in the most efficient way.
Add-on products
IAR Embedded Workbench for Arm provides several add-on products to help you succeed in your development projects.
Code analysis add-on
C-STAT
Code analysis add-on
Security development extension
C-Trust
I-jet Trace for Arm Cortex-A/-R/-M
Integrations
Extensions for Visual Studio Code
Integrated software and RTOS
With IAR Embedded Workbench, you have access to a wide selection of.
Project migration tools
Migrate projects from another toolchain to IAR Embedded Workbench
User guides and documentation
General user guides
Hardware debugging support
IAR Embedded Workbench for Arm provides support for these hardware debugging solutions:
- I-jet and I-jet Trace
- JTAGjet and JTAGjet-Trace
- J-Link and J-Link Ultra
- J-Trace
- CMSIS-DAP
- RDI (Remote Debug Interface) based debug probes
- GDB server
- TI XDS100/110/200, TI FTDI (LMI FTDI driver), TI ICDI, TI MSP-FET
- Macraigor OCDemon mpDemon, usbDemon, usb2Demon, usb2Sprite
- P&E Micro JTAG probes Multilink, Cyclone, OSJTAG
- STMicroelectronics ST-LINK and ST-LINK V2 (supports STM32 devices)
- Atmel ICE Supports Atmel | SMART Arm-based MCUs (uses CMSIS-DAP)
- SAM-ICE (Supports Atmel | SMART Arm-based MCU & MPUs)
- mIDASLink (supports devices from Analog Devices)
- IAR ROM-monitor (used in boards from Analog Devices, NXP, and OKI)
- Angel ROM-monitor (Used in boards from NXP and Cirrus Logic)
Specific documentation for C-SPY debugger drivers
Documentation for Realtime Operating System support
CMSIS compliance
IAR Embedded Workbench is compliant with Arm Cortex Microcontroller Software Interface Standard (CMSIS).
What is CMSIS?
The Arm Cortex Microcontroller Software Interface Standard (CMSIS) provides a single, scalable interface standard across all Cortex-M series processor vendors which enables easier code re-use and sharing across software projects to reduce time-to-market for new embedded applications.
The CMSIS has been developed by Arm in close partnership with several key silicon and software vendors including Atmel, IAR Systems, Micrium, NXP, SEGGER, STMicroelectronics and Texas Instruments, and provides a common approach to interface to peripherals, real-time operating systems, and middleware components.
The standard has been designed to be fully scalable to ensure that it is suitable for all Cortex-M processor series microcontrollers from the smallest 8KB device up to devices with sophisticated communication peripherals such as Ethernet or USB-OTG. (The CMSIS memory requirement for the Core Peripheral Access Layer is less than 1KB code, less than 10 bytes RAM.)
Arm provides as part of the CMSIS the following software layers that are available for various compiler implementations:
- Core Peripheral Access Layer: contains name definitions, address definitions and helper functions to access core registers and peripherals. It defines also an device independent interface for RTOS Kernels that includes debug channel definitions.
- Middleware Access Layer: provides common methods to access peripherals for the software industry. The Middleware Access Layer is adapted by the Silicon Vendor for the device specific peripherals used by middleware components.
These software layers are expanded by Silicon partners with:
- Device Peripheral Access Layer: provides definitions for all device peripherals
- Access Functions for Peripherals (optional): provides additional helper functions for peripherals
CMSIS-DAP
CMSIS-DAP is the interface firmware for a debug probe that translates USB packets to the Arm core SWD or JTAG protocol. This allows the C-SPY Debugger, with the addition of just a USB cable, to connect to any development board implementing the CMSIS-DAP connection.
CMSIS-NN
CMSIS version 5.3 adds the CMSIS-NN software library, a collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint of neural networks on Cortex-M processor cores.
Languages and standards
The IAR C/C++ compilers offer different dialects of the C and C++ programming languages, as well as different extensions specific for embedded programming (please note that not all language standards are supported for all target implementations). The compiler can be instructed to disable extensions for strict conformance to the standards.
A wide range of industry-standard debug and image formats compatible with most popular debuggers and emulators are supported. This includes ELF/DWARF where applicable.
ISO/ANSI C/C++ Compliance
The IAR C/C++ compilers adhere to a freestanding implementation of the following C programming language standards:
- INCITS/ISO/IEC 9899:2018, known as C18 (Latest version only).
- The compiler supports all C++17 features. The C++ library supports C++14 with no C++17 additions. (Latest version only).
- ISO/IEC 14882:2015, known as C++14
- INCITS/ISO/IEC 9899:2012, known as C11
- ANSI X3.159-1989, known as C89
The ISO/ANSI C/C++ Compliance level varies between the different compilers. For complete information, please refer to the IAR C/C++ Compiler user documentation in your chosen product.
IEEE 754 standard
IAR Embedded Workbench supports the IEEE 754 standard for floating-point arithmetic.
MISRA C
MISRA C is a software development standard for the C programming language developed by MISRA, The Motor Industry Software Reliability Association. Its aims are to facilitate code safety, portability and reliability in the context of embedded systems, specifically those systems programmed in ISO C.
The first edition of the MISRA C standard, «Guidelines for the use of the C language in vehicle based software», was produced in 1998. In 2004, a second edition was produced with many substantial changes to the guidelines, including a complete renumbering of the rules. Additionally MISRA C:2012 with extended support and MISRA C++:2008 for identifying unsafe code constructs in the C++ standard have also been added to the standards.
IAR Embedded Workbench features an add-on product C-STAT so you can check compliance with rules as defined by MISRA C:2004, MISRA C++:2008 and MISRA C:2012.
Test validation
We use the following commercial test suites to test conformance of our tools to the standards:
- Plum Hall Validation test suite for ISO/IEC C conformance
- Perennial EC++ Validation Suite for C++ conformance
- Dinkum C++ Proofer to test how our libraries conform to the C and C++ standard as well as test our STL implementation against the C++ standard.
In addition to the commercial suites, we use several in-house test suites for testing new features, regression testing, corrected errors, etc.