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.