<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>CodeWarrior for MCUのトピックRe: MC9S12C128 - Invalid .abs.phy S1 records generated when using ROM addresses 0x8000 - 0xBFFF</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC9S12C128-Invalid-abs-phy-S1-records-generated-when-using-ROM/m-p/157862#M4194</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check the *.bbl file you are using to understand how the *.phy file is created, there is no builtin knowledge in the build tools about this.&lt;/P&gt;&lt;P&gt;Also I would suggest to use paged addresses in the prm file, not local addresses. Say 0x8000 as paged address means PPAGE==0 and offset == 0x8000, this is not valid. So use 0x3F8000 TO 0x3FBEFF instead.&lt;/P&gt;&lt;P&gt;If you want to use local addresses in the prm you have to adapt the bbl file to expect those addresses, but instead I would change the prm to use paged addresses instead.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1): Because you are using local addresses, which the bbl file is not expecting.&lt;/P&gt;&lt;P&gt;2): Use paged addresses.&lt;/P&gt;&lt;P&gt;3): Check the bbl file, nothing magic going on anywhere.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PS: Alternatively to use the phy as generated by the bbl, there are also utilities converting the different address formats for s records.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 26 Oct 2010 04:58:07 GMT</pubDate>
    <dc:creator>CompilerGuru</dc:creator>
    <dc:date>2010-10-26T04:58:07Z</dc:date>
    <item>
      <title>MC9S12C128 - Invalid .abs.phy S1 records generated when using ROM addresses 0x8000 - 0xBFFF</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC9S12C128-Invalid-abs-phy-S1-records-generated-when-using-ROM/m-p/157861#M4193</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using CodeWarrior 4.6.&lt;/P&gt;&lt;P&gt;In the&amp;nbsp;.prm file, if I only specify the ROM_4000 and ROM_C000 segments, as shown below, I&amp;nbsp;get only S2 records in the .abs.phy file (no S1 records), and the file can be loaded onto the chip with no problem:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;SEGMENTS&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; ROM_4000 = READ_ONLY 0x4000 TO 0x7FFF;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; ROM_C000 = READ_ONLY 0xC000 TO 0xDEFF;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;END&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;PLACEMENT&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; _PRESTART, STARTUP,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; ROM_VAR, STRINGS,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; VIRTUAL_TABLE_SEGMENT,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; NON_BANKED,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; DEFAULT_ROM, COPY INTO ROM_4000, ROM_C000;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; DEFAULT_RAM INTO RAM;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;END&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, if I&amp;nbsp;use addresses in the range 0x8000 to 0xBFFF, as shown below, I get S1 (and S2) records in the .abs.phy file, and the load fails:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;SEGMENTS&lt;/SPAN&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;ROM_4000 = READ_ONLY 0x4000 TO 0x7FFF;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;&lt;/SPAN&gt; &lt;SPAN style="color: #339966;"&gt;ROM_8000 = READ_ONLY 0x8000 TO 0xBEFF;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;END&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;PLACEMENT&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; _PRESTART, STARTUP,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; ROM_VAR, STRINGS,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; VIRTUAL_TABLE_SEGMENT,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; NON_BANKED,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; DEFAULT_ROM, COPY INTO ROM_4000, ROM_8000;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp; DEFAULT_RAM INTO RAM;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;END&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 2;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The problem is that memory addresses in the S1 records&amp;nbsp;are in the range&amp;nbsp;0x0000 - 0x3FFF, an example of which is shown here:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;S123000084C74A79A1000A1B90CD0000C605873513B745CD00006DE21A596DE21A5B69E277&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This causes&amp;nbsp;the CYCLONEPRO programmer being used by our manufacturing to fail when it tries to process these S1 records in the .abs.phy file.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also note that the .s19 and .abs files output from the linker &lt;SPAN style="text-decoration: underline;"&gt;are&lt;/SPAN&gt; valid in this case and can be used to load a firmware image.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Questions:&lt;/P&gt;&lt;P&gt;1. Why is it specifying addresses in the range 0x0000 - 0x3FFF in the S1 records?&lt;/P&gt;&lt;P&gt;2. What can I do to get all S2 records in the .abs.phy file (or perhaps correct the S1 records)?&lt;/P&gt;&lt;P&gt;3. Is there a good reference that discusses the memory addresses in the .abs.phy file?&amp;nbsp; I can't figure out the mapping between the addresses in the .s19 file and those in the .abs.phy file.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Oct 2010 01:47:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC9S12C128-Invalid-abs-phy-S1-records-generated-when-using-ROM/m-p/157861#M4193</guid>
      <dc:creator>sweng90</dc:creator>
      <dc:date>2010-10-26T01:47:11Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12C128 - Invalid .abs.phy S1 records generated when using ROM addresses 0x8000 - 0xBFFF</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC9S12C128-Invalid-abs-phy-S1-records-generated-when-using-ROM/m-p/157862#M4194</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check the *.bbl file you are using to understand how the *.phy file is created, there is no builtin knowledge in the build tools about this.&lt;/P&gt;&lt;P&gt;Also I would suggest to use paged addresses in the prm file, not local addresses. Say 0x8000 as paged address means PPAGE==0 and offset == 0x8000, this is not valid. So use 0x3F8000 TO 0x3FBEFF instead.&lt;/P&gt;&lt;P&gt;If you want to use local addresses in the prm you have to adapt the bbl file to expect those addresses, but instead I would change the prm to use paged addresses instead.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1): Because you are using local addresses, which the bbl file is not expecting.&lt;/P&gt;&lt;P&gt;2): Use paged addresses.&lt;/P&gt;&lt;P&gt;3): Check the bbl file, nothing magic going on anywhere.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PS: Alternatively to use the phy as generated by the bbl, there are also utilities converting the different address formats for s records.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Oct 2010 04:58:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC9S12C128-Invalid-abs-phy-S1-records-generated-when-using-ROM/m-p/157862#M4194</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2010-10-26T04:58:07Z</dc:date>
    </item>
  </channel>
</rss>

