How do I get the binary code of a function using MPC5604

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

How do I get the binary code of a function using MPC5604

2,722 Views
1475849560
Contributor II

I want to convert a function to binary coded form, like this

1.bmp2.bmp

0 Kudos
13 Replies

2,707 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

I don't know which IDE you use, but I'm sure it can generate s-record file - either by default or it can be enabled. The extension of file is .mot, .s3 or something like that.

Then I have command line tool which can convert s-record to c-array. See attached. Notice that I'm providing it with no guarantees and no support, it's not official tool. Use windows command line to see what the arguments are.

You can put a function to some specific segment, so you can easily extract it from the s-record file and then you can use the tool to create c-array if needed.

Regards,

Lukas

 

0 Kudos

2,697 Views
1475849560
Contributor II

Thanks,the IDE tool I use is CodeWarrior 10.5.

As you said, there is a MOT file but how do I use s2C?

2.bmp

1.bmp

How do I convert a function into an array using this instruction?

0 Kudos

2,694 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

I do not have documentation for the tool, just follow the description of arguments. I believe you will figure it out after a couple of experiments. Example:

s2c 4 FF 100 test_c_array whatever.mot output.txt

And as I mentioned, put your function to some specific segment, so you can easily find in in the s-record ifle and then separate required part of the s-record to another file. This file then use with the tool.

Regards,

Lukas

 

 

 

 

0 Kudos

2,662 Views
1475849560
Contributor II

There is an error in the above image. Here is the updated image and the compiled result.

6.png

0 Kudos

2,667 Views
1475849560
Contributor II

Sorry, I have another problem, I can't put a function in a paragraph.I can only put one variable in a paragraph.Can you tell me how to put a function in a segment?Thank you very much!

3.png4.png

0 Kudos

2,642 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,
this is how to put a function to specific flash segment and to specific RAM segment (the code is copied to RAM by startup files):

MEMORY
{
...
hello_test: org = ..., len = ... //flash segment
code_ram: org = ..., len = ... //RAM segment
...
}

SECTIONS
{
...
.__code_ram (VLECODE) : {} > code_ram
.__hello_test (VLECODE) LOAD(ADDR(hello_test)) : {} > hello_test
...
}

And in C file:

#pragma push
#pragma section code_type ".__hello_test" code_mode=far_abs
void test(void)
{
asm("nop");
}
#pragma pop

#pragma push
#pragma section code_type ".__code_ram" code_mode=far_abs
void test_ram(void)
{
asm("nop");
}
#pragma pop

Regards,
Lukas

 

0 Kudos

2,692 Views
1475849560
Contributor II

Thank you very much for your reply!
I want to try it as you said, but what do the second and third parameters mean?
How should the MPC5604B parameters be set?

0 Kudos

2,692 Views
1475849560
Contributor II
Thank you very much for your reply! I want to try it as you said, but what do the second and third parameters mean? How should the MPC5604B parameters be set?
0 Kudos

2,685 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

If there's a gap in s-record file, the gap is filled with specified character (FF in my example above). Threshold then says what is the max size of such gap. If it is more then specified, the rest of the s-record is not used.

Regards,

Lukas

 

0 Kudos

2,578 Views
1475849560
Contributor II

Finally, I get an array by s2c

1475849560_0-1610024322736.png

 

 

test_fun didn't work properly.

 

Looking forward to your reply,Thank you very much.

 

 

 

 

 

0 Kudos

2,579 Views
1475849560
Contributor II

 

 

 

0 Kudos

2,583 Views
1475849560
Contributor II

The program did not work normally after s2c.exe conversion.

 

 

0 Kudos

2,716 Views
1475849560
Contributor II

I want to convert a function to binary coded form

0 Kudos