iarsystems / iar-vsc-build

Visual Studio Code extension for developing and building IAR projects
https://marketplace.visualstudio.com/items?itemName=iarsystems.iar-build
Mozilla Public License 2.0
38 stars 5 forks source link

Failed to generate Intellisense information with EWARM 8.22.1 #47

Closed Ayumiiw closed 1 year ago

Ayumiiw commented 1 year ago

When opening a project folder which use EWARM 8.22.1 in VS Code, it failed to generate Intellisense information with the following error message. And Intellisense does not work for C standard libraries header.

image

Click "Show output window", then could see the following error.

<there was iarbuild log.  it succeeded>
..
WARN: Builder closed without reaching linking stage.
Intellisense configuration did not complete: Process exited with code: 2
Intellisense configuration did not complete for 'BasicDebugging': Process exited with code: 2
No intellisense configurations were generated
Intellisense configuration did not complete: No intellisense configurations were generated

Regards,

HampusAdolfsson commented 1 year ago

The error message means that iarbuild did not exit correctly, but it is difficult to tell why without more information. Could you post the last portion of the iarbuild log above?

Do you have this problem with all projects you open or only this one?

Ayumiiw commented 1 year ago

I tested with the tutorial projects from IAR Information Center. Intellisense error happens with

Does not happens with

The output windows message is as follows: [GettingStarted - Basic debugging project]

Preparing intellisense information for 'BasicDebugging'.

     IAR Command Line Build Utility V8.0.14.5326
     Copyright 2002-2018 IAR Systems AB.

Building configuration: BasicDebugging - Debug
Updating build tree...

0  file(s) deleted.
Updating build tree...

Fibonacci.c 
iccarm.exe "c:\userpass\IAR Embedded Workbench\arm\tutorials\GettingStarted\Fibonacci.c" "-o" "c:\userpass\IAR Embedded Workbench\arm\tutorials\GettingStarted\Debug\Obj" "--no_cse" "--no_unroll" "--no_inline" "--no_code_motion" "--no_tbaa" "--no_clustering" "--no_scheduling" "--debug" "--endian=little" "--cpu=ARM7TDMI" "-e" "--fpu=None" "--dlib_config" "C:/Program Files (x86)\IAR Systems\EWARM\8.22.1\arm\INC\c\DLib_Config_Normal.h" "--cpu_mode" "thumb" "-Ol"

Utilities.c 
iccarm.exe "c:\userpass\IAR Embedded Workbench\arm\tutorials\GettingStarted\Utilities.c" "-o" "c:\userpass\IAR Embedded Workbench\arm\tutorials\GettingStarted\Debug\Obj" "--no_cse" "--no_unroll" "--no_inline" "--no_code_motion" "--no_tbaa" "--no_clustering" "--no_scheduling" "--debug" "--endian=little" "--cpu=ARM7TDMI" "-e" "--fpu=None" "--dlib_config" "C:/Program Files (x86)\IAR Systems\EWARM\8.22.1\arm\INC\c\DLib_Config_Normal.h" "--cpu_mode" "thumb" "-Ol"

Intellisense configuration did not complete: Process exited with code: 2
Intellisense configuration did not complete for 'BasicDebugging': Process exited with code: 2
No intellisense configurations were generated
Intellisense configuration did not complete: No intellisense configurations were generated

[Adbanced Debugging workspace]

Preparing intellisense information for 'SimulatingATimerInterrupt'.
Preparing intellisense information for 'SimulatingSerialPortInput'.

     IAR Command Line Build Utility V8.0.14.5326
     Copyright 2002-2018 IAR Systems AB.

Building configuration: SimulatingATimerInterrupt - Debug
Updating build tree...
c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\Obj\TimerInterrupt.o
c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\List\cstartupCM3.lst
c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\Obj\cstartupCM3.o
c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\List\SimulateTimerInterrupt.map
c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\Exe\SimulateTimerInterrupt.out

5  file(s) deleted.
Updating build tree...

cstartupCM3.s
iasmarm.exe "c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\cstartupCM3.s" "-Oc:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\Obj" "-s+" "-M<>" "-w+" "-r" "-Lc:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\List" "-t8" "--cpu" "Cortex-M3" "--fpu" "None"

TimerInterrupt.c 
iccarm.exe "c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\TimerInterrupt.c" "-o" "c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\Obj" "--no_cse" "--no_unroll" "--no_inline" "--no_code_motion" "--no_tbaa" "--no_clustering" "--no_scheduling" "--debug" "--endian=little" "--cpu=Cortex-M3" "-e" "--fpu=None" "--dlib_config" "C:/Program Files (x86)\IAR Systems\EWARM\8.22.1\arm\INC\c\DLib_Config_Normal.h" "-Ol"

Total number of errors: 0
Total number of warnings: 0

 ERROR, Command failed: build

WARN: Builder closed without reaching linking stage.
Intellisense configuration did not complete: Process exited with code: 2
Intellisense configuration did not complete for 'SimulatingATimerInterrupt': Process exited with code: 2

     IAR Command Line Build Utility V8.0.14.5326
     Copyright 2002-2018 IAR Systems AB.

Building configuration: SimulatingSerialPortInput - Debug
Updating build tree...

0  file(s) deleted.
Updating build tree...

cstartupCM3.s
iasmarm.exe "c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\cstartupCM3.s" "-Oc:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\Obj" "-s+" "-M<>" "-w+" "-r" "--cpu" "Cortex-M3" "--fpu" "None"

Utilities.c 
iccarm.exe "c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Utilities.c" "-o" "c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\Obj" "--no_cse" "--no_unroll" "--no_inline" "--no_code_motion" "--no_tbaa" "--no_clustering" "--no_scheduling" "--debug" "--endian=little" "--cpu=Cortex-M3" "-e" "--fpu=None" "--dlib_config" "C:/Program Files (x86)\IAR Systems\EWARM\8.22.1\arm\INC\c\DLib_Config_Normal.h" "-Ol"

SerialPortInterrupt.c 
iccarm.exe "c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\SerialPortInterrupt.c" "-o" "c:\userpass\IAR Embedded Workbench\arm\tutorials\AdvancedDebugging\Debug\Obj" "--no_cse" "--no_unroll" "--no_inline" "--no_code_motion" "--no_tbaa" "--no_clustering" "--no_scheduling" "--debug" "--endian=little" "--cpu=Cortex-M3" "-e" "--fpu=None" "--dlib_config" "C:/Program Files (x86)\IAR Systems\EWARM\8.22.1\arm\INC\c\DLib_Config_Normal.h" "-Ol"

Intellisense configuration did not complete: Process exited with code: 2
Intellisense configuration did not complete for 'SimulatingSerialPortInput': Process exited with code: 2
No intellisense configurations were generated
Intellisense configuration did not complete: No intellisense configurations were generated

Seems the build stops before finish the build.

HampusAdolfsson commented 1 year ago

Thanks, I am able to reproduce the problem. Running a 'clean' on the project and reloading VS Code seems to temporarily fix it.

I have not been able to find what causes it, but the problem does not occur with EWARM 8.40. Most likely this is a bug in iarbuild that has been fixed in later versions. In that case there isn't much we can do about it from the VS Code extension, and the best I can do for you is recommend that you upgrade to a newer version of Embedded Workbench if possible.

Ayumiiw commented 1 year ago

Thank you. I confirmed that running a 'clean' works for this issue.