<?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>topic Problem merging USB CDC and RTC demo in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Problem-merging-USB-CDC-and-RTC-demo/m-p/446599#M2983</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I can't get Real Time Clock and USB CDC to work together.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I am using KDS 3.0, KSDK 1.2 on a FRDM_K22.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I am able to run the USB CDC demo: C:\Freescale\KSDK_1.2.0\examples\frdmk22f\demo_apps\usb\device\cdc\virtual_com\freertos\kds&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;and the RTC demo: C:\Freescale\KSDK_1.2.0\examples\frdmk22f\demo_apps\rtc_func\kds&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;separately but I have trouble combining them in a new project.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;RTC works but CDC doesn't. I don't get a &lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;USB_DEV_EVENT_CONFIG_CHANGED event.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I zipped the project. There is a conditional compile ADDRTC. if undefined CDC works.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I think the problem is in &lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;BOARD_ClockInit() which is called for the RTC setup. &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt; &lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I appreciate the help&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;Joe&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-339263"&gt;usb_cdc_rtc.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 18 Aug 2015 18:01:59 GMT</pubDate>
    <dc:creator>joebirch</dc:creator>
    <dc:date>2015-08-18T18:01:59Z</dc:date>
    <item>
      <title>Problem merging USB CDC and RTC demo</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Problem-merging-USB-CDC-and-RTC-demo/m-p/446599#M2983</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I can't get Real Time Clock and USB CDC to work together.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I am using KDS 3.0, KSDK 1.2 on a FRDM_K22.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I am able to run the USB CDC demo: C:\Freescale\KSDK_1.2.0\examples\frdmk22f\demo_apps\usb\device\cdc\virtual_com\freertos\kds&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;and the RTC demo: C:\Freescale\KSDK_1.2.0\examples\frdmk22f\demo_apps\rtc_func\kds&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;separately but I have trouble combining them in a new project.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;RTC works but CDC doesn't. I don't get a &lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;USB_DEV_EVENT_CONFIG_CHANGED event.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I zipped the project. There is a conditional compile ADDRTC. if undefined CDC works.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I think the problem is in &lt;/SPAN&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;BOARD_ClockInit() which is called for the RTC setup. &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt; &lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;I appreciate the help&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;Joe&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: Consolas;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-339263"&gt;usb_cdc_rtc.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Aug 2015 18:01:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Problem-merging-USB-CDC-and-RTC-demo/m-p/446599#M2983</guid>
      <dc:creator>joebirch</dc:creator>
      <dc:date>2015-08-18T18:01:59Z</dc:date>
    </item>
    <item>
      <title>Re: Problem merging USB CDC and RTC demo</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Problem-merging-USB-CDC-and-RTC-demo/m-p/446600#M2984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Joe,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In fact, it is related to Clock settings on your configuration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In K22, you can use either PLL, FLL or IRC48MHz clock to feed USB module. As you may know, USB needs a 48MHz input frequency in order to work correctly.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="USB clock.jpg"&gt;&lt;IMG alt="USB clock.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/52586iE74C6EDBBB4B6752/image-size/large?v=v2&amp;amp;px=999" title="USB clock.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;In your case, when you don't add RTC support, clock configuration is set to produce a 48MHz output from PLL, this frequency feeds USB module (that sets divisor to 0) and CDC functionality works as expected. However, when you add RTC support and change clock configuration, PLL output is now 120MHz and it is passed as is to USB module (with USB divisors set to 0) so that is why USB does not work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can implement different solutions, one is, obviously, set PLL output to 48MHz (using clock configuration used when no RTC is added). Another is, to set USB clock reference to IRC48MHz instead PLL. I implemented the second one:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Generated_Code/SDK/usb/usb_core/device/sources/bsp/usb_dev_bsp.c, i added the reference to IRC48MHz:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14400054473428303" data-renderedposition="840_8_1232_256" jivemacro_uid="_14400054473428303" modifiedtitle="true"&gt;&lt;P&gt;if (controller_id == USB_CONTROLLER_KHCI_0) { &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Disable USB clock gating */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_DisableUsbfsClock(controller_id);&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clock setting */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input clock source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Auto select */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input clock frequency:&amp;nbsp;&amp;nbsp; 48 MHz */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input clock multiplier:&amp;nbsp; 1 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Input clock divider:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Module clock frequency:&amp;nbsp; 48 MHz */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_SetUsbfsSrc(controller_id, kClockUsbfsSrcPllFllSel);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #3334ca;"&gt;&lt;EM&gt;&lt;STRONG&gt;CLOCK_SYS_SetPllfllSel(kClockPllFllSelIrc48M); //ADD this line to feed USB module from IRC48MHz&lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* USB clock divider */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_SetUsbfsDiv(controller_id, 0U, 0U);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable USB clock gating */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_SYS_EnableUsbfsClock(controller_id);&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Weak pull downs */&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Obviously, this solution will be changed if you enable PE and generate code again. (I hardcoded your project this way due PE was disabled).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The best solution (using PE) will be to set USB clock settings in fsl_clock_manager component for the clock configuration 1 (the one that sets PLL to 120MHz)&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="Clock configuration.jpg"&gt;&lt;IMG alt="Clock configuration.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/52627iC4D51DA2E1C5C8FC/image-size/large?v=v2&amp;amp;px=999" title="Clock configuration.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Again, I used the second solution and test it. Now CDC device is enumerating and working correctly when ADDRTC is defined.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this can help you,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:22:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Problem-merging-USB-CDC-and-RTC-demo/m-p/446600#M2984</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2020-11-02T13:22:11Z</dc:date>
    </item>
    <item>
      <title>Re: Problem merging USB CDC and RTC demo</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Problem-merging-USB-CDC-and-RTC-demo/m-p/446601#M2985</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the detailed response. The fix works/!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Aug 2015 18:14:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Problem-merging-USB-CDC-and-RTC-demo/m-p/446601#M2985</guid>
      <dc:creator>joebirch</dc:creator>
      <dc:date>2015-08-19T18:14:13Z</dc:date>
    </item>
  </channel>
</rss>

