<?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>Classic/Legacy CodeWarriorのトピックCodeWarrior 5.1 debugger. &amp;quot;Disable maskable ISR's when stepping&amp;quot; I-bit permanently set on 9S12XEQ512</title>
    <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/CodeWarrior-5-1-debugger-quot-Disable-maskable-ISR-s-when/m-p/2412583#M8035</link>
    <description>&lt;P&gt;&lt;STRONG&gt;Environment:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;IDE: CodeWarrior 5.1 (HC(S)12X compiler)&lt;/LI&gt;&lt;LI&gt;Target: MC9S12XEQ512&lt;/LI&gt;&lt;LI&gt;Bus clock: 49.777 MHz&lt;/LI&gt;&lt;LI&gt;BDM interface: reproducible with &lt;STRONG&gt;USB Multilink Universal&lt;/STRONG&gt;; &lt;STRONG&gt;not observed&lt;/STRONG&gt; with &lt;STRONG&gt;Cyclone Pro&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;Host OS: observed on both &lt;STRONG&gt;Windows 10&lt;/STRONG&gt; and &lt;STRONG&gt;Windows 11&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;Memory model: reproducible in &lt;STRONG&gt;Large model&lt;/STRONG&gt;; not (or much less) reproducible in &lt;STRONG&gt;Banked model&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Setting used:&lt;/STRONG&gt;&lt;BR /&gt;"HC12MultilinkCyclonePro" → "Setup..." → "Debug otions " → "Disable maskable ISR's when stepping" — enabled.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Description:&lt;/STRONG&gt;&lt;BR /&gt;After a number of step operations (single step or step over) in the debugger, the maskable interrupts (I bit in CCR) become permanently disabled. Interrupts do not resume even after continuing execution (Run/Go) — they remain masked until the I bit is manually cleared in the CCR register view. This behavior is consistently reproducible in the Large memory model using the USB Multilink Universal BDM interface, on both Windows 10 and Windows 11 hosts. The issue has not been observed with the Cyclone Pro interface under otherwise identical project settings, nor (or much less) in the Banked memory model&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Workaround currently in use:&lt;/STRONG&gt;&lt;BR /&gt;Manually clearing the I bit in the CCR register view after it becomes stuck.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Request:&lt;/STRONG&gt;&lt;BR /&gt;Is this a known issue with the USB Multilink Universal firmware/driver in combination with CodeWarrior 5.1's stepping emulation on the S12X core? Is there a fixed Multilink Universal firmware version, or a recommended alternative workflow for debugging interrupt-driven Large-model projects on this device/interface combination?&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
    <pubDate>Thu, 10 Sep 2026 07:55:22 GMT</pubDate>
    <dc:creator>Eric_t</dc:creator>
    <dc:date>2026-09-10T07:55:22Z</dc:date>
    <item>
      <title>CodeWarrior 5.1 debugger. "Disable maskable ISR's when stepping" I-bit permanently set on 9S12XEQ512</title>
      <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/CodeWarrior-5-1-debugger-quot-Disable-maskable-ISR-s-when/m-p/2412583#M8035</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Environment:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;IDE: CodeWarrior 5.1 (HC(S)12X compiler)&lt;/LI&gt;&lt;LI&gt;Target: MC9S12XEQ512&lt;/LI&gt;&lt;LI&gt;Bus clock: 49.777 MHz&lt;/LI&gt;&lt;LI&gt;BDM interface: reproducible with &lt;STRONG&gt;USB Multilink Universal&lt;/STRONG&gt;; &lt;STRONG&gt;not observed&lt;/STRONG&gt; with &lt;STRONG&gt;Cyclone Pro&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;Host OS: observed on both &lt;STRONG&gt;Windows 10&lt;/STRONG&gt; and &lt;STRONG&gt;Windows 11&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;Memory model: reproducible in &lt;STRONG&gt;Large model&lt;/STRONG&gt;; not (or much less) reproducible in &lt;STRONG&gt;Banked model&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Setting used:&lt;/STRONG&gt;&lt;BR /&gt;"HC12MultilinkCyclonePro" → "Setup..." → "Debug otions " → "Disable maskable ISR's when stepping" — enabled.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Description:&lt;/STRONG&gt;&lt;BR /&gt;After a number of step operations (single step or step over) in the debugger, the maskable interrupts (I bit in CCR) become permanently disabled. Interrupts do not resume even after continuing execution (Run/Go) — they remain masked until the I bit is manually cleared in the CCR register view. This behavior is consistently reproducible in the Large memory model using the USB Multilink Universal BDM interface, on both Windows 10 and Windows 11 hosts. The issue has not been observed with the Cyclone Pro interface under otherwise identical project settings, nor (or much less) in the Banked memory model&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Workaround currently in use:&lt;/STRONG&gt;&lt;BR /&gt;Manually clearing the I bit in the CCR register view after it becomes stuck.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Request:&lt;/STRONG&gt;&lt;BR /&gt;Is this a known issue with the USB Multilink Universal firmware/driver in combination with CodeWarrior 5.1's stepping emulation on the S12X core? Is there a fixed Multilink Universal firmware version, or a recommended alternative workflow for debugging interrupt-driven Large-model projects on this device/interface combination?&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Thu, 10 Sep 2026 07:55:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/CodeWarrior-5-1-debugger-quot-Disable-maskable-ISR-s-when/m-p/2412583#M8035</guid>
      <dc:creator>Eric_t</dc:creator>
      <dc:date>2026-09-10T07:55:22Z</dc:date>
    </item>
    <item>
      <title>Re: CodeWarrior 5.1 debugger. "Disable maskable ISR's when stepping" I-bit permanently set</title>
      <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/CodeWarrior-5-1-debugger-quot-Disable-maskable-ISR-s-when/m-p/2413105#M8036</link>
      <description>&lt;P class="p8i6j01 paragraph"&gt;Hi,&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;The behavior you are seeing is real and the interface difference you noticed (Multilink Universal affected, Cyclone Pro not) is a useful observation. Let me give you some practical guidance based on the type of interrupts involved, because the options differ.&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;&lt;STRONG&gt;For timer-based interrupts&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;If your application uses timer overflow, output compare, or similar peripheral-generated interrupts, you do not actually need the "Disable maskable ISR's when stepping" feature to handle them during debugging. Most S12X timer and peripheral modules have a FRZ bit that freezes the module when the device enters BDM active mode, which happens automatically during any halt or single step. With FRZ set, the timer stops counting during stepping and cannot generate an interrupt between steps. This works at the hardware level, independent of the debugger interface, and is the cleaner solution for this class of interrupt.&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;&lt;STRONG&gt;For external interrupts and keyboard interrupts (KBI)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;This is where the situation is more limited. External IRQ and KBI interrupts are asynchronous external signals and there is no hardware freeze mechanism for them. The BDM interface cannot suppress them at the hardware level. The "Disable maskable ISR's when stepping" feature exists precisely to cover this gap by masking them through the CCR I bit during each step.&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;Since this feature is not restoring the I bit correctly with the USB Multilink Universal in your setup, the most reliable option for debugging code that uses these interrupt sources is to use the Cyclone Pro, which you have already confirmed behaves correctly.&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;&lt;STRONG&gt;Worth trying&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;It is also worth testing with CodeWarrior 5.2 if you have access to it. There were some debugger-side changes in that version and the I-bit restoration behavior under the Large memory model with the USB Multilink Universal may be improved, though this cannot be guaranteed.&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;Hope this helps clarify the options.&lt;/P&gt;
&lt;P class="p8i6j01 paragraph"&gt;Ladislav&lt;/P&gt;</description>
      <pubDate>Fri, 11 Sep 2026 15:25:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/CodeWarrior-5-1-debugger-quot-Disable-maskable-ISR-s-when/m-p/2413105#M8036</guid>
      <dc:creator>lama</dc:creator>
      <dc:date>2026-09-11T15:25:31Z</dc:date>
    </item>
  </channel>
</rss>

