CRC checksum

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

CRC checksum

跳至解决方案
3,536 次查看
Hank
Contributor I
Hello,
 
I want to use this "prm File-Controlled Checksum Computation" for a QY4 with the freeware CodeWarrior version 5.1 as here described (part of the prm file):
 
CHECKSUM
  CHECKSUM_ENTRY
  METHOD_CRC_CCITT
  OF READ_ONLY 0xEE20 TO 0xEEFF
  INTO READ_ONLY 0xEE08 SIZE 2
  UNDEFINED 0xFF
 END
END
 
But it does not manipulate the s19 file.
 
Is it a problem of the freeware version?
Or are there some additional project settings necessary?
 
Thanks for answer.
Hank
标签 (1)
标记 (1)
0 项奖励
回复
1 解答
1,421 次查看
CompilerGuru
NXP Employee
NXP Employee
I'm not sure I can follow.
The linker usually writes S19 as one of its output formats, it does not read them (well not in the usual setup at least).

Does your actually aplication already contain some values at 0xEE08?
No, that's not supported. The linker only allows to have one initialized value at one address. You have to eclude that area from the segments in the prm.
If there is something already linked there, then that's just a conflict and not a legal setup.

Daniel

在原帖中查看解决方案

0 项奖励
回复
3 回复数
1,421 次查看
CompilerGuru
NXP Employee
NXP Employee
No, that is supposed to work with any version regardless of the license.
I created a new QY4 project with the wizard, adapted the generated prm to start at 0xEE20, pasted your snippet into the prm, built it, and decoded the generated project.abs.s19.
Here are the two bytes of the checksum out of the listing file.
Code:
S105EE081BD217Type:     S1 (A record containing the 2-bytes address at which the code/data is to reside)Length:   0x5Address:  0xEE08Data:     0xEE08   1B D2 CheckSum: 0x17

so it basically worked fine for me, I wonder why it did not for you.

 
0 项奖励
回复
1,421 次查看
Hank
Contributor I
Thanks for help.
 
My problem was that the area in which i tried to write the CRC already exists within the s19 file. And this is not possible. That means with this function I cannot patch a existing s19 file.
0 项奖励
回复
1,422 次查看
CompilerGuru
NXP Employee
NXP Employee
I'm not sure I can follow.
The linker usually writes S19 as one of its output formats, it does not read them (well not in the usual setup at least).

Does your actually aplication already contain some values at 0xEE08?
No, that's not supported. The linker only allows to have one initialized value at one address. You have to eclude that area from the segments in the prm.
If there is something already linked there, then that's just a conflict and not a legal setup.

Daniel

0 项奖励
回复