Converting Code Warrior project in KDS not working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Converting Code Warrior project in KDS not working

3,266 Views
davedanenberg
Contributor II

After importing from Code Warrior, the Tool Settings were blank. So I tried the recommended conversion utility: "Convert CodeWarrior project file...." from the Project Explorer right-click.


When doing this, I don't get the "CodeWarrior to KDS project migration assistant" dialog box. Nothing happens. There are still no Tool Settings. Project will not build, of course.


Tried restarting KDS. Tried re-importing CW project. No luck.


Regards,

-Dave


Labels (1)
0 Kudos
15 Replies

1,133 Views
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello Dave,

You can refer to "C:\Freescale\KDS_1.1.1\doc\pdf\kds_porting_guide.pdf "

You can also refer to Importing MCU V10.6 projects (sample, using PE and MQX) under KDS

Please feel free to contact me with any questions.

Hope it helps

Alice

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you for your support to us!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,133 Views
Vagni
Contributor IV

Hello Alice,

I have the same problem of Dave.

I have KDS v1.1.1 installed on my Windows 7 Pro PC and fully updated. I imported in KDS one of my CW 10.4 projects and the Tool Settings window is blank (no toolchain is defined for that project: right, KDS toolchain is different from that in CodeWarrior). All the rest of the project (files, folders, environment variables, etc.) seem to be ok.

Then I lunch the Convert CodeWarrior project file... command on the imported project, but the CodeWarrior to KDS Migration Assistant dialog does not appear and now I am stuck: I cannot continue the conversion procedure as reported in the documents you mentioned.

Maybe the convertion procedure is valid only on CW 10.6 projects?

Best Regards,

Alessandro

0 Kudos

1,133 Views
ZhangJennie
NXP TechSupport
NXP TechSupport

hi Ale,

I wonder how to reproduce your problem?

if you create a new project with CW10.4, can you port this new project to KDS well?

or if the problem is only in one specific project, can you upload the project here to let us reproduce your issue?

Best Regards,

Zhang Jun

0 Kudos

1,133 Views
Vagni
Contributor IV

Dear Zhang Jun,

I attached two CW 10.4 projects:

  1. CA_TB6 - This is my original CW 10.4 original project: the CodeWarrior Project File Converter does not appear when lunched on this project imported in KDS.
  2. prj2 - This is a new CW 10.4 bareboard project: the CodeWarrior Project File Converter works properly on this project imported in KDS. But, after adding MCUToolsBaseDir environment variable and librt library, I get the following error:   

12:35:55 **** Incremental Build of configuration FLASH for project prj2 ****

make all

'Building target: prj2.elf'

'Invoking: Cross ARM C Linker'

arm-none-eabi-gcc -mcpu=cortex-m0plus -mthumb -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall  -g3 -gstrict-dwarf -T "C:/Users/Alessandro Vagniluca/workspace/prj2/Project_Settings/Linker_Files/ProcessorExpert.ld" -Xlinker --gc-sections -L"C:\Freescale\CW MCU v10.4\MCU/ARM_GCC_Support/ewl/lib/armv7e-m/fpu" -L"C:\Freescale\CW MCU v10.4\MCU/ARM_GCC_Support/ewl/lib/armv7e-m" -Wl,-Map,"prj2.map" -n -o "prj2.elf"  ./Sources/Events.o ./Sources/ProcessorExpert.o  ./Project_Settings/Startup_Code/__arm_end.o ./Project_Settings/Startup_Code/__arm_start.o  ./Generated_Code/Cpu.o ./Generated_Code/PE_LDD.o ./Generated_Code/Vectors.o   -lrt

c:/freescale/kds_1.1.1/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.0/../../../../arm-none-eabi/bin/ld.exe: error: C:\Freescale\CW MCU v10.4\MCU/ARM_GCC_Support/ewl/lib/armv7e-m/fpu\librt.a(gcc_ctor_dtor.o) uses VFP register arguments, prj2.elf does not

c:/freescale/kds_1.1.1/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Freescale\CW MCU v10.4\MCU/ARM_GCC_Support/ewl/lib/armv7e-m/fpu\librt.a(gcc_ctor_dtor.o)

c:/freescale/kds_1.1.1/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.0/../../../../arm-none-eabi/bin/ld.exe: error: C:\Freescale\CW MCU v10.4\MCU/ARM_GCC_Support/ewl/lib/armv7e-m/fpu\librt.a(ROMCopy.o) uses VFP register arguments, prj2.elf does not

c:/freescale/kds_1.1.1/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Freescale\CW MCU v10.4\MCU/ARM_GCC_Support/ewl/lib/armv7e-m/fpu\librt.a(ROMCopy.o)

c:/freescale/kds_1.1.1/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.0/../../../../arm-none-eabi/bin/ld.exe: error: C:\Freescale\CW MCU v10.4\MCU/ARM_GCC_Support/ewl/lib/armv7e-m/fpu\librt.a(__arm_eabi_init.o) uses VFP register arguments, prj2.elf does not

c:/freescale/kds_1.1.1/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.0/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Freescale\CW MCU v10.4\MCU/ARM_GCC_Support/ewl/lib/armv7e-m/fpu\librt.a(__arm_eabi_init.o)

collect2.exe: error: ld returned 1 exit status

make: *** [prj2.elf] Error 1

12:35:56 Build Finished (took 826ms)

Can you help me to fix those issues?

Thank you.

Best Regards,

Alessandro

0 Kudos

1,133 Views
Vagni
Contributor IV

More info:

  • Since the first CW 10.1 and MQX 3.7 I have always used ARM Freescale toolchain in my projects, never ARM GCC toolchain.

Maybe the CodeWarrior Project File Converter works only on CW project based on GCC toolchain?

Regards,

Alessandro

0 Kudos

1,133 Views
Vagni
Contributor IV

Yes, it looks like CW projects based on ARM Freescale toolchain cannot be converted in KDS by the CodeWarrior Project File Converter.

The prj2 project I uploaded was created in CW 10.4 based on ARM GCC toolchain.

I attached the new prj3 project I created in CW 10.4 based on ARM Freescale toolchain: on the KDS imported project the CodeWarrior to KDS Migration Assistant dialog does not appear when I lunch the converter.

How can I convert in KDS my CW+MQX projects based on ARM Freescale toolchain?

Regards,

Alessandro

0 Kudos

1,133 Views
BlackNight
NXP Employee
NXP Employee

You only can convert ARM gcc projects, not Freescale legacy ARM compiler ones. The compiler options and settings are too different that they can be converted with such a wizard.

I recommend that you create a new project in KDS, then add your files to it.

Erich

0 Kudos

1,133 Views
leofavilli
Contributor I

Erich,

thanks for your aswer. I will create a new project in KDS and add files then.

But let me say that it very strange a develop tools as KDS, not saying anything when you select a command.

At least a simple message box to inform user have to be implemet. It seems a bug of KDS.

Thank again.


Bye

0 Kudos

1,133 Views
BlackNight
NXP Employee
NXP Employee

Hi Leonardo,

yes, I agree it would be better if it would show a message or something. It behaves the same (no message) if you try to convert a project which is already converted.

Erich

0 Kudos

1,133 Views
leofavilli
Contributor I

Dear all,

I've the same problem of Alessandro and Dave.

After import operation of CW 10.3 or CW 10.6 CodeWarrior to KDS Migration Assistant dialog does not appear when I lunch the converter.

How can convert in KDS CW+MQX project?

Thanks.


Leonardo

0 Kudos

1,133 Views
BlackNight
NXP Employee
NXP Employee

Is this a legacy Freescale compiler project? You only can convert a ARM gcc project.

If your project is not a gcc project, then the best is if you create a new project and then copy over your files.

Erich

0 Kudos

1,133 Views
danielecortella
Contributor V

Hi all

Without open another post, i have a problem porting the code to KDS. This function :

image->start_sector = (*(buff)<<24)|(*(buff+1)<<16)|(*(buff+2)<<8)|(*(buff+3));

return 0xffffcc00 in KDS and 0x3b9acc00 in CW (right), why KDS mask the bit during the left shift ? Thanks

0 Kudos

1,133 Views
cesarrabak
Contributor III

Daniele, What are the types of data you're working with? CW and KDS employ different versions of compilers, which ones did you use in each project?

0 Kudos

1,133 Views
danielecortella
Contributor V

Hi,

image is defined so:

typedef struct {

  unsigned int x_dim;//dimensione immagine in x

  unsigned int y_dim;//dimensione immagine in x

  unsigned int start_sector ;//settore di partenza in cui è salvata l'immagine

  unsigned int end_sector ;//se l'immagine è compressa non corrisponde a start_sector+(x_dim*y_dim)

  unsigned int image_number ;//la prima ha numero 0 e via via che vengono create si incrementa il numero

} IMAGE_DATA;

in CW i use EWL but in KDS i didn't find where to set this. Thanks

0 Kudos

1,133 Views
cesarrabak
Contributor III

Hi Daniele,

KSD has only GNU Compiler Collection (see Kinetis Design Studio Integrated Development |Freescale), so for KDS we know what compiler you'd to use.

As you have used EWL in CW, a first shot would be to try the project with GCC (albeit the GCC CW uses is from different collection and slightly earlier version).

It seems it may be a difference in the way GCC extends MSB while I never have seen (and tested in my stock of GCC versions [caveat emptor: I left the compiling options in the defaults) this result before in GCC.

You have not written which data type is buff, if it is not an 32 bit wide data type, I would try to cast the data to int before doing the left shift operations.

HTH

--

Cesar Rabak

0 Kudos