Iar embedded workbench for 8051 v8 10 3 full

Interesting tutorials

How to convert WMA to MP3 with Free WMA to MP3 Converter

… need to download the following … will be embedded into your …

How to convert AVI to FLV with Riva FLV Encoder

… also be embedded in SWF … need to download the following … want to download and install …

How to batch convert JPG to SWF with Magic Pic2Ani

… be embedded into websites … need to download the following …

How to convert REC to MP4 with VLC Media Player

… need to download the following … will be embedded into the …

How to open EPUB files on Windows 10 PC

… or you download, install, …
After you download, install, and … style sheet, embedded fonts, …

How to download a video from the Internet

… downloaded content.
Download a YouTube video … helps you download embedded videos to …

Собираем пустой проект

Для компиляции минимального проекта к уже существующему файлу main.c необходимо подключить startup-файлы с таблицей векторов прерываний и т.д.

Перед подключением файлов в проект давайте заведем переменную в среде IAR, которая будет задавать путь к нашей папке с кодом IAR_CODE. В главном меню выбираем Tools — Configure Custom Argument Variables.

В открывшемся окне создаем группу MDR_Lib и переменную MDR_CODE, которая будет задавать путь к нашей головной папке.

Если проект не был сохранен, а при первом сохранении сохраняется Workspace, то кнопки в данной форме будут неактивны. В этом случае необходимо перед заходом в данную форму нажать Save All.

Теперь подключая файлы из нашей директории IAR_CODE, пути в проекте будут указываться относительно переменной $MDR_CODE$, следовательно при переносе проекта в другое место достаточно будет переназначить новый путь в переменной MDR_CODE.

Давайте теперь подключим файлы необходимые для компиляции пустого проекта. Для подключения файлов кликаем правой клавишей мыши на созданной нами группе Startup, выбираем Add — Add Files, и подключаем следующие файлы:

Добавляем файлы:
  IAR_CODE\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\iar\
    startup_MDR32F9Qx.s
    system_MDR32F9Qx.c
    system_MDR32F9Qx.h        

Удобно выделить все файлы и добавить за один раз.

После этого проект должен собираться — меню Project — Rebuild All. Наблюдаем ошибок 0, на ворнинги не обращаем внимания. Библиотека не сильно подчищена для среды IAR.

Для проверки того, что файлы подключились через переменную $MDR_CODE$ кликнем правой клавишей мыши на заголовок в дереве проекта «HelloWorld — Debug» и выберем в выпадающем меню Open Containing Folder. Откроется окно проводника в Windows с выделенным файлом HelloWorld.ewp. Открываем его notepad-ом и листаем в самый низ, где находим как подключены наши, только что добавленные файлы:

....
<group>
    <name>Startup</name>
    <file>
        <name>$MDR_CODE$\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\iar\startup_MDR32F9Qx.s</name>
    </file>
    <file>
        <name>$MDR_CODE$\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\iar\system_MDR32F9Qx.c</name>
    </file>
    <file>
        <name>$MDR_CODE$\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\iar\system_MDR32F9Qx.h</name>
    </file>
</group>
....

Видно, что пути указаны через переменную $MDR_CODE$. Надеюсь данный подход поможет при необходимости перенести весь репозитарий с проектами, то-есть папку IAR_CODE, в новое расположение или на другой компьютер с минимальными усилиями.

IAR Embedded Workbench® для STM8

11 Сентября 2011

Прошло уже много времени с первого знакомства с микроконтроллерами STM8, на текущий момент у меня сложилось уже некоторое “понимание” компилятора Cosmic и появилось желание сравнить его с популярным продуктом IAR Embedded Workbench . Точнее меня интересует как реализовано выполнения кода из ОЗУ.

IAR Embedded Workbench это интегрированная среда для разработки и отладки программ для различных платформ, в данном случае для микроконтроллеров серии STM8A, STM8S и STM8L.

На текущий момент предлагается версия 1.30 и два варианта использования:

  • 30-day evaluation edition — 30 дневная пробная версия, без ограничения по размеру кода
  • 8kB KickStart edition – почти без ограничения по времени (на текущий момент выдают лицензию до 2036 года), но с ограничением по размеру кода (8 кБ)

И ещё два варианта: купить полноценную версию или крякнуть 😉

Переустанавливать программы я не люблю, взламывать не наши методы, поэтому я выбрал 8kB KickStart edition для пробы более чем достаточно.

Для скачивая необходимо пройти регистрацию, почтовый адрес желательно указать реальный на него потом придет ссылка для скачивания и лицензионный ключ.

Процесс регистрации, загрузки и установки описывать не буду там все тривиально, отмечу только что размер дистрибутива составляет 106 Мб.

Первый запуск

Как и в эклипсе первым делом необходимо создать рабочее пространство Workspace:

и новый проект:

я выбрал обычный Си.

Получилась вот такая заготовка:

Осталось только настроить проект под наши нужды.

Для этого открываем настройки проекта (Alt+F7) и производим следующие:

  • выбираем необходимый микроконтроллер, в моем случае это STM8S105C6
  • изменяем уровень оптимизации на максимальный
  • и выбраем ST-Link

Для примера я взял инициализацию OLED дисплея, скопировал все файлы в директорию проекта и подключил исходник для OLED дисплея:

Собралось все без проблем, что удивило 🙂

Разница в размере получилась не большая:

  • IAR – 762 байт
  • Cosmic — 701 байт

Но это для меня не главное, как я уже говорил мне интересно выполнение кода из ОЗУ.

Дело в том что если в коде используются какие либо библиотечные функции, то они по прежнему остаются во флеш. В космике я не смог пока решить эту проблему.

Для проверки объявил функцию задержки с атрибутом __ramfunc , но чуда и тут не произошло

как видим идет вызов встроенной подпрограммы load32_10_dbsp расположенной по прежнему во флеш 🙁 (адрес 0x822C)

Так что пока вопрос остался открытым, буду искать решение дальше.

Если кто знает как решить или есть какие-то мысли по этому поводу напишите пожалуйста.

Categories:

Микроконтроллеры

Please enable JavaScript to view the comments powered by Disqus.

comments powered by Disqus

Torrent File Content (21 files)

IAR Embedded Workbench for ARM 8.32.1 + IAR Pack 2019-07-02 Cracked      IAR Embedded Workbench for HCS12 version 4.10.1.zip — 111.75 MB

     IAR Embedded Workbench for R32C 1.40.2.zip — 119.45 MB

     IAR Embedded Workbench for SuperH 2.30.zip — 144.33 MB

     IAR Embedded Workbench for 78K version 4.81.zip — 173.07 MB

     IAR Embedded Workbench for CR16C 3.30.zip — 199.56 MB

     IAR Embedded Workbench for Renesas M16C-R8C v3.71.1.zip — 202.13 MB

     IAR Embedded Workbench for M16C & R8C version 3.70.1.zip — 208.6 MB

     IAR Embedded Workbench for AVR32 v4.30.zip — 269.21 MB

     IAR Embedded Workbench for V850 v5.10.1.zip — 279.94 MB

     IAR Embedded Workbench for STM8 v3.11.1.zip — 304.41 MB

     IAR Embedded Workbench for RH850 v14.0.1.zip — 331.23 MB

     IAR Embedded Workbench for 8051 v8.30.1.zip — 362.03 MB

     IAR Embedded Workbench for 8051 v10.20.1.zip — 362.46 MB

     IAR Embedded Workbench for AVR 6.80.8.zip — 439.63 MB

     IAR Embedded Workbench for Microchip AVR 7.20.zip — 470.84 MB

     IAR Embedded Workbench for RX v2.90.1.zip — 501.16 MB

     IAR Embedded Workbench for MSP430 v7.12.1.zip — 526.04 MB

     IAR Embedded Workbench for Renesas RH850 version 2.10.1.zip — 615.56 MB

     IAR Embedded Workbench for RL78 v3.10.1.zip — 616.66 MB

     IAR Embedded Workbench for Renesas RX 4.12.1.zip — 900.93 MB

     IAR Embedded Workbench for ARM 8.40.1.zip — 1.26 GB

Собираем «HelloWorld»

Скопируем в наш файл main.c код из проекта Hello World — светодиод. В этом коде используются библиотечные файлы управления портами и тактовой частотой. Давайте их так же добавим в проект.

Добавляем файлы:
  IAR_CODE\SPL\MDR32F9Qx_StdPeriph_Driver\src\
    MDR32F9Qx_port.c
    MDR32F9Qx_rst_clk.c  

Подключать *.h файлы не будем, пути у нас прописаны и они найдутся сами. Компилируем проект через кнопку в меню или F7. Проект должен успешно скомпилироваться.

Для того, чтобы прошить получившуюся программу в микроконтроллер выбираем в меню Project — Download — Download active application. В Debug Log окне выскакивают некоторые «ворнинги», но прошивка заканчивается успешно и микроконтроллер приветствует Мир!

В случае использования программаторов Segger, при загрузке в устройство подключенное впервые, драйвера Segger запрашивают какое ядро Cortex подключено.

Выбор должен быть таким:

  • 1986ВЕ9х — «Unspecified Cortex-M3».
  • 1986ВЕ1Т, 1986ВЕ3Т — «Unspecified Cortex-M1»,
  • 1986ВЕ4У — «Unspecified Cortex-M0»

Trackers List

Tracker Name Last Check Status Seeders Leechers
udp://tracker.opentrackr.org:1337/announce 1 Year+ success 5 2
udp://tracker.leechers-paradise.org:6969/announce 1 Year+ success 4 1
udp://tracker.coppersurfer.tk:6969/announce 1 Year+ success 3 1
udp://tracker.tiny-vps.com:6969/announce 1 Year+ success 2 3
udp://ipv4.tracker.harry.lu:80/announce 1 Year+ success 2 2
udp://9.rarbg.to:2740/announce 1 Year+ success 1 1
udp://9.rarbg.to:2730/announce 1 Year+ success 1 1
udp://retracker.lanta-net.ru:2710/announce 1 Year+ success 1
udp://9.rarbg.to:2720/announce 1 Year+ success 1 1
udp://9.rarbg.to:2710/announce 1 Year+ success 1 1
udp://open.stealth.si:80/announce 1 Year+ success 1 2
udp://9.rarbg.to:2770/announce 1 Year+ success 1 1
udp://tracker.zer0day.to:1337/announce 1 Year+ failed
udp://tracker.mg64.net:6969/announce 1 Year+ failed
udp://tracker.pirateparty.gr:6969/announce 1 Year+ failed
udp://tracker.cyberia.is:6969/announce 1 Year+ success
udp://tracker.port443.xyz:6969/announce 1 Year+ failed
udp://9.rarbg.me:2770/announce 1 Year+ failed
udp://9.rarbg.me:2730/announce 1 Year+ failed
udp://9.rarbg.me:2740/announce 1 Year+ failed
udp://tracker.torrent.eu.org:451/announce 1 Year+ success
udp://tracker.internetwarriors.net:1337/announce 1 Year+ failed
udp://bt.xxx-tracker.com:2710/announce 1 Year+ failed
udp://ipv6.tracker.harry.lu:80/announce 1 Year+ success
udp://tracker.justseed.it:1337/announce 1 Year+ failed
udp://eddie4.nl:6969/announce 1 Year+ failed
udp://exodus.desync.com:6969/announce 1 Year+ success

Introduction

Visual Studio Code (VS Code) is a popular cross-platform code editor. It is customizable and extensible, and can be adapted for a variety of workflows. This Technical Note shows how to use VS Code to develop IAR Embedded Workbench projects.

Prerequisites

  • This document assumes little to no previous knowledge of VS Code.
  • IAR Systems does not provide support for the VS Code editor. If you have any problems setting up or using VS Code, contact your provider.

Tools to install

  • IAR Embedded Workbench
  • Visual Studio Code
  • IAR For Visual Studio Code (a VS Code extension)

IAR For Visual Studio Code can be installed from the extensions panel in VS Code or from the web marketplace. Installing this extension will also install the C/C++ extension.

How to Register for IAR Evaluation License

To register for the IAR free evaluation license follow these instructions:

  1. Open IAR Workbench
  2. Navigate to Help→License Manager
  3. When the License Manager opens go to License→Get Evaluation License
  4. The user must register with IAR to get the evaluation licence. Follow online registration instructions. Select size limited licence as opposed to time limited licence. An email is sent with a link. Click this link to reveal the license number. A similar window to the one below should be displayed with the license number.
  5. Then go back to IAR license manager and go to License→Activate License
  6. Enter the new license number and click ok.

IAR Workbench is now ready to use with a 32KB code size limit.

Установка SPL (Standard Peripherial Library) от компании «Миландр»

Теперь необходимо скачать файлы поддержки микроконтроллеров «Миландр». Для этого на официальном сайте на странице «Программное обеспечение» нужно открыть раздел «IAR installer» и скачать MDR_for_IAR_vX.Y (на данный момент актуальная версия 1.7).

Внутри архива находится инсталлятор Setup_MDR_to_IAR_v1.x.exe, которые произведет копирование необходимых файлов в директорию установки IAR. При запуске требуется указать путь, где лежит IAR. По умолчанию используется путь C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.0.

Также внутри архива расположена папка SPL_CODE. В ней содержатся файлы библиотеки SPL и простейшие проекты мигания светодиодом для микроконтроллеров.

Теперь среда готова для создания первого проекта.

________________________________________________________

   Для каждого типа микроконтроллера есть свой заголовочный файл. Для ATMega8535 этот файл называется iom8535.h, для ATMega16 – iom16.h. По идее мы должны в начале каждой программы подключать заголовочный файл того микроконтроллера, который мы используем.  Умные люди немного облегчили нам жизнь и написали заголовочный файл ioavr.h. Препроцессор обрабатывает этот файл и в зависимости от настроек проекта включает в нашу программу нужный заголовочный файл. Итак, следущая строчка программы #include <ioavr.h>    В нашей программе мы будем использовать задержку. Задержку можно реализовать программно и аппаратно. Сейчас нас интересует программная задержка. IAR содержит библиотеку, в которой уже есть готовая функция задержки. Нам нужно подключить к нашей программе эту библиотеку. Как это сделать? Каждая библиотека имеет свой заголовочный файл в котором описано какие фукции она содержит. Этот файл мы и должны включить в программу. Делается это, как вы догадались с помощью директивы #include.#include <intrinsics.h>       Основу любой сишной программы составляют функции, и любая  программа на Си имеет хотя бы одну функцию – main().Вообще-то на примере main() не хотелось бы объяснять синтаксис функций, потому что main() хоть и является функцией, но вызывается не как обычно, а автоматически. С этой функции микроконтроллер начинает выполнение написанной нами программы. Вызовы всех других функций, наших или библиотечных, должны быть записаны в коде. Как вызывается функция, мы увидим дальше.У функции есть заголовок – int main(void) и тело – оно ограниченно фигурными скобками {}. В тело функции  мы и будем добавлять наш код.

Использование примеров для STM32F4DISCOVERY в IAR Embedded Workbench for ARM

В  статье “Программное обеспечение для STM32F4DISCOVERY  (http://firsthand.ru/node/298)” я уже писал, что примеры которые идут вместе с IAR EWARM (IAR Embedded Workbench for ARM) для микроконтроллеров STM32F4 не работают с STM32F4Discovery, потому что они ориентированы на их собственную отладочную плату IAR KickStart Kit for STM32F407ZG.

Для того чтобы работать в IAR EWARM с STM32F4Discovery нужны примеры именно для STM32F4-Discovery и именно для среды разработки или toolchain IAR EWARM (IAR Embedded Workbench for ARM).

Такие примеры есть у самой компании STMicroelectronics и их можно свободно использовать.

STSW-STM32068STM32F4DISCOVERY board firmware package, including 22 examples (covering USB Host, audio, MEMS accelerometer and microphone) (AN3983)

Попасть на неё легче через поиск. Можно и по другому, но мне нравиться через поиск. Так быстрее. Просто набираешь “STSW-STM32068” и первая ссылка ведет куда надо.

Ищем внизу на странице раздел “Get Software” и жмем на кнопочку “Download” напротив STSW-STM32068. После этого загружается zip-архив stsw-stm32068.zip.

В данном архиве, после распаковки, видим папку STM32F4-Discovery_FW_V1.1.0. Эта папка и содержит примеры для STM32f4discovery.

Эту папку можно теперь перенести в папку с проектами IAR EWARM, оставить там где она есть или перенести в, специально созданную для экспериментов, свою папку.

Практически во всех примерах от официальных изготовителей микроконтроллеров и изготовителей отладочных плат файлы проектов для IAR EWARM (IAR Embedded Workbench for ARM) размещаются в папках с названием EWARM.

Например, есть папка “Demonstration” с файлами проекта демонстрации некоторых основных возможностей отладочной платы, а в ней есть папка  EWARM, в которой находятся файлы проекта для IAR EWARM.

Пример работы с портами ввода/вывода GPIO я нашел в папке “E:PROJSTM32F4STM32F4-Discovery_FW_V1.1.0ProjectPeripheral_ExamplesIO_Toggle” и файлы проекта для  IAR EWARM соответственно в папке “E:PROJSTM32F4STM32F4-Discovery_FW_V1.1.0ProjectPeripheral_ExamplesIO_ToggleEWARM“

Слева отображается состав проекта, а внизу две строчки сообщают что проект создан для STM32F407VG.

В папке User находиться файл main.c в котором содержиться основной код программы и откуда всегда стоит начинать изучать примеры. Но сейчас мы этот шаг изучения пропустим, потому что основная цель – это проверить работоспособность примеров для STM32F4discovery в среде разработки IAR Embedded Workbench for ARM.

Для этого просто откомпилируем пример работы с портом ввода/вывода GPIO. Для этого в меню выбираем “Project”, затем “Rebuild All”. Так проверим наличие ошибок, все ли файлы присутствуют и, если всё хорошо, откомпилируем пример.

После компиляции проекта выходит сообщение о том, что ошибок нет и замечаний нет.

После загрузки, выполнение программы останавливается на строке подсвеченной зеленым цветом.

Теперь можно проверить работу программы в пошаговом режиме, или запустить непрерывное выполнение. Для непрерывного выполнения нажимаем на кнопочку “Go”. Ранее погасшие светодиоды начинают мигать по часовой стрелке. То есть, пример откомпилировался, загрузился и нормально себя чувствует в памяти микроконтроллера, выполняя заданную работу.

Теперь можно остановить отладку. При этом программа в микроконтроллере никуда не изчезает, а спокойно продолжает работать.

Discussion

Configuring the extension

To get started in VS Code, go to File>Open Folder and select the folder containing your IAR Embedded Workbench project. This extension uses the IAR Command Line Build Utility ( to perform its tasks, and the information about which source files to build, compilation flags to use, etc., is defined by the project file ().

The extension detects project configurations and IAR Embedded Workbench installations. You can choose the installation, compiler, project and configuration from the status bar at the bottom of the VS Code window.

Specifying IAR Embedded Workbench install location(s)

If the extension does not find your IAR Embedded Workbench installation(s), you will need to manually point to them. To do this:

  1. Go to File>Preferences>Settings.
  2. Search for .
  3. Change Iar Install Directories to include your IAR Embedded Workbench install location(s).

Using the extension

Once the extension has been configured, it will provide language features such as autocompletion, diagnostics and code navigation.

You can build the project from VS Code using the provided tasks. To do this, go to Terminal>Run Task>iar>Iar Build. You may configure this as the default build task by going to Terminal>Configure Default Build Task. You can then press Ctrl+Shift+B to build the project.

The extension also includes tasks for running C-STAT. To do this, go to Terminal>Run Task>iar-cstat>Run C-STAT Analysis. This will output any C-STAT warnings in the Problems panel.

Open VS Code from the IAR Embedded Workbench IDE

To use VS Code together with the IAR Embedded Workbench IDE, you may add a menu option inside the IDE to open the current file in VS Code. To do this, go to Tools>Configure Tools… and add a new entry called Open in VS Code. 

By default, VS Code is installed under:

Based on this, set the Command field to your VS Code executable like this (using a Windows standard environment variable): 

The Argument field should be . 

Example:

Press OK. You can now open the current file and line in VS Code at any time by selecting the menu item Tools>Open in VS Code.

Open IAR Embedded Workbench IDE from the VS Code

It is possible to open the IAR Embedded Workbench IDE from VS Code. This is done by running the iar: Iar Open task. This will open the current project in the IDE.

Limitations

  • The VS Code extension does not support modifying project settings or adding project files. This means that files created in VS Code will not be built by the IAR compiler, and should instead be added in the IAR Embedded Workbench IDE to be stored in the project file ().
  • The extension currently does not include support for IAR C-SPY debugging.
  • The extension is not owned by IAR Systems. Issues can be reported on GitHub.

Discussion

Tools to install

  • IAR Embedded Workbench for 8051, Arm, AVR, MSP430, RH850, RISC-V, RL78, RX or V850 (Windows) or IAR Build Tools for Arm or RH850 (Linux).
  • CMake v3.15.7 or later.
  • Microsoft NMake (CMake is able to generate different makefile and workspace formats and in this example we are using NMake)

For convenience, make sure that the path to the CMake and NMake executables are added to the Windows environment variable. It allows you to run these executables without having to give the full paths.

Preparing the toolchain file (toolchain-ewarm.cmake)

In cross-compiling scenarios, a ‘toolchain file’ () must be specified with information about the compiler, assembler, linker, and their respective option settings. The following file can be used for IAR Embedded Workbench for Arm version 8.x:

### BEGIN CMAKE_TOOLCHAIN_FILE# «Generic» is used when cross compilingset(CMAKE_SYSTEM_NAME Generic)# Set the EW installation root directory #(Avoid spaces in the path or you need to escape them)set(EW_ROOT_DIR «c:/ew/arm-8323/arm»)# Compiler flags needed to compile for this CPUset(CPU_FLAGS «—cpu ARM9E»)# Set up the CMake variables for compiler and assembler# (The reason for both C and CXX variables is that CMake # treats C and C++ tools individually)set(CMAKE_C_COMPILER «${EW_ROOT_DIR}/bin/iccarm.exe» «${CPU_FLAGS} —dlib_config normal»)set(CMAKE_CXX_COMPILER «${EW_ROOT_DIR}/bin/iccarm.exe» «${CPU_FLAGS} —dlib_config normal»)set(CMAKE_ASM_COMPILER «${EW_ROOT_DIR}/bin/iasmarm.exe» «${CPU_FLAGS}»)# Set up the CMake variables for the linkerset(LINKER_SCRIPT «${EW_ROOT_DIR}/config/linker/ST/str91xFx44.icf»)set(CMAKE_C_LINK_FLAGS «—semihosting —config ${LINKER_SCRIPT}»)set(CMAKE_CXX_LINK_FLAGS «—semihosting —config ${LINKER_SCRIPT}»)### END CMAKE_TOOLCHAIN_FILE

The examples

The following two examples will use IAR Embedded Workbench for Arm, CMake, and NMake to build an executable file. The file structure is described, together with the contents of the CMakeLists.txt files.

Example 1 – Mixing C and assembler

This example shows how to build an application consisting of both assembler and C source files. It also shows how to set a preprocessor symbol in the CMake environment, to be used in the source files.

Function

An integer value returned from an assembler function is printed to the console, in the C main() function.

Example 2 – Creating and using libraries

In this example, a library is created followed by a demo project that uses this library.

Function

A library is built that includes a function that returns an integer (input value plus one). In the next step, an application is built that uses this library to print the value to the console, in the C main() function.

Build the examples

Build each one of the examples above like this:

2.    Run NMake

Browse to the build folder and use this command line to create the executable file my_program.elf:

Debugging

The example downloads above include batch files for building the applications, as well as executing them in C-SPY batch mode via the command line utility cspybat.exe.

You can also use the IAR Embedded Workbench IDE to load C-SPY with an application that was built outside the IDE, for example applications built with CMake. Such a “Debug only” project can be reused whenever you rebuild your executable file and the only project options required to be specified are those that are debugger-related. See this Technical Note for further instructions.

IAR Embedded Workbench

The IDE has new artwork, enhancements to window management and docking, customizable toolbars, revised Information Center, and new tutorials.

Unicode support

The Unicode standard for consistent encoding, representation, and handling of text is now supported. This means that you can use Unicode characters (alphabetic, numeric, symbols, emoji, etc) in the source code.

Stack usage analysis

With stack usage analysis enabled, a stack usage section will be added to the linker map file with listings of the maximum stack depth for each call graph root. The analysis process can be customized to take into account such constructs as calls via function pointers and recursion. The output can optionally be generated in XML format for post-processing activities.

Stack protection

The IAR C/C++ compiler for RH850 now supports stack protection.

A canary value will be placed between the stack variables and the return address so that the system can detect corruption of a function return address before the function returns to that address.

The compiler will use heuristic to determine whether a function needs stack protection or not. If any defined local variable has the array type or a structure type that contains a member of array type, the function will need stack protection.

Renesas Smart Configurator included

Renesas Smart Configurator is a standalone tool for automatically generating control programs (device driver programs) for peripheral modules in accordance with settings. It fully supports code generation for IAR Embedded Workbench for RH850 and the generated modules are incorporated via the IAR Project Connection mechanism.

Enhanced Registers and Symbols windows in C-SPY

The C-SPY Symbols and Registers windows have been re-designed with new features.

The Symbols window now has a filtering function and a new column displaying to which program module a certain symbol belongs.

Some of the new features in the Registers window are drag-and-drop support from source code windows, detailed register tool-tip information, and improved handling of user-defined registers groups.

How to edit and run example code in IAR

To edit and run example code in IAR Workbench follow these steps:

  1. Download the AD5940 SDK from the the GitHub repository:
  1. Navigate to the examples folder
  2. Double click on ADICUP3029.eww file. This opens all the example projects in the IAR Workspace
  3. On first time opening the project, the IAR CMSIS pack manager will open with a screen like this
  4. Click on Packs and expand the Device Specific option.
  5. Install the AnalogDevices.ADuCM302x_DFP as highlighted below
  6. Once installed exit the Pack Manager window and display the main IAR Workbench program.
  7. All the example projects are shown in the Workspace view
  8. To select a project to run, right click on it and select “Set as Active”
  9. Expand the project to see the structure. It is divided into 4 sub sections:
    • AD5940Lib — This conatins the AD5940.c source file which has all the AD5940 library functions. This file is common to all examples. The ADICUP3029Port.c file is located here also and contains port functions for the ADuCM3029 microcontroller.
    • Application — This sub section contains the application code and main.c file.
    • CMSIS-Pack — This pack contains the necessary files for the ADuCM3029 to function including the startup.c and system.c files
    • Output — This contains the c.out file. This file should not be changed.
  10. Double click on AD5940_ADCPolling.c to open the file in the editor.
  11. Modify code as required.
  12. To compile and build the project go to Project→Rebuild All. IT may take a couple fo seconds to fully compile all the source code.
  13. To download the code to the evaluation boards first ensure the boards are connected to the PC or laptop. Then click on the green “Play” button on the top toolbar. Note, if the “play” button is greyed out cloise IAR Workbench and re-open it.
  14. To set breakpoints click to the left of the line of code. A red dot will appear as in above screenshot.
  15. The code will be loaded onto the ADuCM3029 microcontroller. To begin executing press the blue “Go” button.