Undefined external "?V1" referred in abcd

Technical Note 98110

Architectures:

8051

Component:

linker

Updated:

5/31/2018 9:14 AM

Introduction

You moved a project from IAR Embedded Workbench for 8051 version 8.20 or older, and in 8.30 you suddenly get:

Error[e46]: Undefined external "?V1" referred in abcd

Explanation

In your project you brought an older version of cstartup (the code called before the main() function) up to IAR Embedded Workbench for 8051 version 8.30.
The error happens since the new cstartup file in version 8.30 has been changed to optimize the usage of the virtual register area. The new cstartup file is expected to be used by IAR Embedded Workbench for 8051 version 8.30.

Solution

You need to either use a new cstartup file based on version 8.30 or add the workaround assembler file to your project.

Exact version details

This change was implemented in version 8.30.1 (with identity EW24412), and was documented in the Release Notes for version 8.30.2.

Hint 

Technical Note 95811 deals with a similar problem.

We do no longer support Internet Explorer. To get the best experience of iar.com, we recommend upgrading to a modern browser such as Chrome or Edge.