codewarrior HCS12 V3.1 linker bug

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

codewarrior HCS12 V3.1 linker bug

跳至解决方案
1,952 次查看
Jet
Contributor I
hello
I found, that the linker of Codewarrior for HCS12 V3.1 has a bug.
If the output file (*.sx, *.abs, *.abs.s19, *.abs.phy) becomes shorter (i.e. due to code optimisation) than the previous version, the file is not stripped and last few records of the previous file remains in the new file.
So when using Cyclone Pro with S-Record format, the programmer writes all the records (including the above mentioned "non stripped ones") to the target and thus the code will not run becuase interrup table (and other parts) get corrupt.
标签 (1)
标记 (1)
0 项奖励
1 解答
624 次查看
CrasyCat
Specialist III
Hello
 
This is pretty strange as the IDE is supposed to create a brand new S record file after a build.
 
You need to submit a service request  for that.
 
To log the issue please go to following URL:
    http://www.freescale.com/TechSupport
and click on "Submit a service request"
 
Make sure to attach following information to the SR:
  - A project reproducing the trouble
  - The Installed product information.
       To retrieve that info:
    - Start CodeWarrior
    - Select Help -> About Metrowerks CodeWarrior
    - Click on "Install Products"
    - Click on Save As and save the information to a file,
CrasyCat

在原帖中查看解决方案

0 项奖励
3 回复数
624 次查看
mke_et
Contributor IV
Hmm, I wonder how that is the case?  The ISR table is position dependant and should have embedded location info in the records.  Just having a snippit of something else in there shouldn't matter.
 
That's not to say there's not bugs or other problems.  I just fail to see how it could be the ISR table.
 
Unless you're saying some the 'S' records are corrupted and it just happens to be an ISR entry.
 
0 项奖励
624 次查看
Jet
Contributor I
You can simply reproduce this problem.
. Open the ${project}.sx file in the text editor.
. Copy a couple of lines and past it (insert) at begin of this file (to make this file longer)
. append some comment to the last S record
. insert and delete an character in your source file to make sure that will be recompiled
. Make
. open the ${project}.sx file in the text editor

you will found the vector table duplicate and you can found your comment attached to the last record

see the attached file.sx
0 项奖励
625 次查看
CrasyCat
Specialist III
Hello
 
This is pretty strange as the IDE is supposed to create a brand new S record file after a build.
 
You need to submit a service request  for that.
 
To log the issue please go to following URL:
    http://www.freescale.com/TechSupport
and click on "Submit a service request"
 
Make sure to attach following information to the SR:
  - A project reproducing the trouble
  - The Installed product information.
       To retrieve that info:
    - Start CodeWarrior
    - Select Help -> About Metrowerks CodeWarrior
    - Click on "Install Products"
    - Click on Save As and save the information to a file,
CrasyCat
0 项奖励