C-RUN-비체크 코드(bounds checking)

기술노트 93670

아키텍처:

ARM

컴포넌트:

debugger

업데이트:

2018-02-28 오전 1:46

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.

죄송하지만, 당사 사이트에서는 Internet Explorer를 지원하지 않습니다.보다 편안한 사이트를 위해 Chrome, Edge, Firefox 등과 같은 최신 브라우저를 사용해 주시길 부탁드립니다.