C-RUN - Non-checked code (bounds checking)

Technical Note 93670

Arkitekturer:

ARM

Komponent:

debugger

Uppdaterad:

2015-11-06 12:32

Introduction

Sometimes you cannot enable bounds checking in the entire application, for example if some part of the application is an externally built library, or is written in assembler. This leads to error(s) from C-RUN.

Action

The "#pragma default_no_bounds" can be used for applying #pragma no_bounds to a whole set of functions, for example around a header file declaring the interface to unchecked code. It can look like:

#pragma default_no_bounds=on
#include "XXXX_RTOS.h" /* no pointer bounds are passed to functions declared for the XXXX_RTOS */
#pragma default_no_bounds=off

Alternative solution for CMSIS

It is possible to write source that is a layer between instrumented and non-instrumented code. The IAR Embedded Workbench for ARM installation holds the file

arm\src\lib\crun\cmsis_dsplib.as.c

This file needs to be included in a CMSIS-project. The file needs to be compiled with --runtime_checking bounds, that is, "Instrumentation > Track pointer bounds > Check accesses" must be selected (for at least the file cmsis_dsplib.as.c).

 All product names are trademarks or registered trademarks of their respective owners.

Det här innehållet finns tyvärr inte på svenska.

Vår webbplats finns främst på vårt koncernspråk engelska, förutom det innehåll för investerare som vi är lagstadgade att kommunicera på svenska. Vi rekommenderar att du besöker vår globala webbplats på engelska för att få en bättre upplevelse.

Vi stöder inte längre Internet Explorer. För att få bästa möjliga upplevelse av iar.com rekommenderar vi att du uppgraderar till en modern webbläsare som Chrome eller Edge.