Hi,
I am having trouble trying to migrate SD32 from S32 Design Studio for Power Architecture® 2017.R1 to SD32 Design Studio for Power Architecture v2.1. (Power Architecture)
My issue is that a project I had that used to compile, no longer wants to compile.
I eventually went back to S32 Design Studio for Power Architecture® 2017.R1 and I noticed the path to the VLE toolchain directory was different
When I reinstalled SD32 Design Studio for Power Architecture v2.1,
I noticed the VLE_TOOLCHAIN_DIR is ${eclipse_home}../Cross_Tools/powerpc-eabivle-4_9 which is not correct.
It should be ${eclipse_home}../S32DS/build_tools/powerpc-eabivle-4_9 (if I am not mistaken. Please verify this)
I added the path in C/C++ Build Environment, then it seem to compile correctly, until it got to the very end and complained about finding -lc. After reading another post(c++ - usr/bin/ld: cannot find -l - Stack Overflow )
I tried adding 'a' library path to C/C++ Build/Settings/Standard S32DS C Linker/libraries, but that causes more errors.
I say 'a' library path, because there are many to choose from. I tried them all.
libc.a libary path: C:\NXP\S32DS_Power_v2.1\S32DS\build_tools\e200_ewl2\lib
I downloaded what seems to be a cummulative patch for S32 [S32 Design Studio for Power Architecture v2.1 Update 7(REV UP7)], but there is no update.exe file, just .xml and .jar files. I'm not sure how to apply the patch/update.
Thanks for reading.
10:19:44 **** Incremental Build of configuration Debug for project prj_mpc5746c ****
make -j4 all
Building target: prj_mpc5746c.elf
Invoking: Standard S32DS C Linker
powerpc-eabivle-gcc -o "prj_mpc5746c.elf" "@prj_mpc5746c.args"
./src/LIB.o: In function `LIB_print_memory':
C:\workspace\prj_mpc5746c\Debug/../src/LIB.c:112: undefined reference to `__ctype_ptr__'
C:\workspace\prj_mpc5746c\Debug/../src/LIB.c:112: undefined reference to `__ctype_ptr__'
C:/NXP/S32DS_Power_v2.1/S32DS/build_tools/e200_ewl2/lib\libc.a(vsnprintf.o): In function `vsnprintf':
e200_ewl2/EWL_C/src/stdio/vsnprintf.c:43: undefined reference to `__pformatter'
./Project_Settings/Startup_Code/startup.o: In function `_start':
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:117: undefined reference to `__SRAM_SIZE'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:118: undefined reference to `__SRAM_SIZE'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:123: undefined reference to `__SRAM_BASE_ADDR'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:124: undefined reference to `__SRAM_BASE_ADDR'
./Project_Settings/Startup_Code/startup.o: In function `DATACOPY':
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:136: undefined reference to `__DATA_SIZE'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:137: undefined reference to `__DATA_SIZE'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:143: undefined reference to `__DATA_ROM_ADDR'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:144: undefined reference to `__DATA_ROM_ADDR'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:147: undefined reference to `__DATA_SRAM_ADDR'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:148: undefined reference to `__DATA_SRAM_ADDR'
./Project_Settings/Startup_Code/startup.o: In function `SDATACOPY':
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:160: undefined reference to `__SDATA_SIZE'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:161: undefined reference to `__SDATA_SIZE'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:167: undefined reference to `__SDATA_ROM_ADDR'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:168: undefined reference to `__SDATA_ROM_ADDR'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:171: undefined reference to `__SDATA_SRAM_ADDR'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:172: undefined reference to `__SDATA_SRAM_ADDR'
./Project_Settings/Startup_Code/startup.o: In function `bss_Init':
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:266: undefined reference to `__BSS_SIZE'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:267: undefined reference to `__BSS_SIZE'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:273: undefined reference to `__BSS_START'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:274: undefined reference to `__BSS_START'
./Project_Settings/Startup_Code/startup.o: In function `bss_Init_end':
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:286: undefined reference to `__SP_INIT'
C:\workspace\prj_mpc5746c\Debug/../Project_Settings/Startup_Code/startup.S:287: undefined reference to `__SP_INIT'
collect2.exe: error: ld returned 1 exit status
make: *** [prj_mpc5746c.elf] Error 1
10:19:51 Build Finished (took 6s.977ms)
hello,
regarding the procedure of installing update - this is Eclipse type of update, not regular installer.
there is HowTo topic which describe how to install it- https://community.nxp.com/docs/DOC-342274
and if your pc is connected to Internet - you should see those updates directly from update site, you as well need to go to the S32DS Extensions and Updates dialog and you should see them there (just skip steps with defining link to the archive)
hope this helps,
Irina
With the various S32DS installations, the software sites are filled in for you, but some of the important ones are not turned on by default. You might want to check into that.
A
Thank you.
Hello,
Andrei gave very correct advice - it is recommended to start from fresh workspace when you install new version and import your project there, in that case the environments/Eclipse variables will be adjusted correctly without manual steps.
I had other, but very similar problems when I went from 17 to 2.1 and when I gave up and reverted from 2.1 back to 17.
The trick is that you have to create a new eclipse workspace and pull your projects back in. That worked really well.
As for the updates being xml and jar, to use these <help><install new software...><add><local...> and point it at the updater directory.
It works, it's not documented, but it works.
Andrei from The Great White North (currently -30C)
Thank you very much. 36F
Hello,
what problems did you have that caused you to revert? maybe we could help with this
Best regards
Irina
Oh I doubt it. I was using 2.1 and I was working with someone else who was using 2017, and when he would pull the project from git, he would run into a new option in the GDB P&E Debugger, Advanced Options panel dealing with initialization scripts, and he couldn't push code into our device.
It was easier for me to regress to 2017 than it was for him to update to 2.1 as I was just writing the code, but he was testing it attached to a 750HP truck, and blowing an engine would be "A Bad Thing®"
(although the C compiler did not get updated between versions :-( , so there probably wouldn't have been any appreciable downside, but the timing of the update was hugely inconvenient)
But not being able to continue using my workspace was unexpected. I've been using Eclipse for a few years now, and I've written a whole pile of articles on embedded.fm/blog helping others get started in embedded systems, and in all of those years I've never run into an issue where the workspace wasn't converted so that I could just continue using it.
A
I noticed the VLE_TOOLCHAIN_DIR is ${eclipse_home}../Cross_Tools/powerpc-eabivle-4_9 which is not correct.
It should be ${eclipse_home}../S32DS/build_tools/powerpc-eabivle-4_9
They changed the directory in 2.1, but failed to change it in the system variables.