<?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 Re: Flex Timer Initialization  in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502591#M31504</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And you might note that these particular results show the 'same loops' aligned in FLASH on the SAME Phrase (starting address ends in 0b...1000110) boundaries, so the timing result is the SAME.&amp;nbsp; YMMV.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 06 May 2016 12:34:43 GMT</pubDate>
    <dc:creator>egoodii</dc:creator>
    <dc:date>2016-05-06T12:34:43Z</dc:date>
    <item>
      <title>Flex Timer Initialization</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502588#M31501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have K60 tower board: K60P144M150SF3RM&lt;/P&gt;&lt;P&gt;I have a dummy question and couldn't figure out. Hope some one can help me give me an answer.&lt;/P&gt;&lt;P&gt;I created a free running counter FTM1_CNT as follows:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/57307i4CBD12A03DE3BF5A/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_0.png" alt="pastedImage_0.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;No interrupt, Counting up with period about 8.738 ms&lt;/P&gt;&lt;P&gt;I run the following code: Basically, Initialize, reset counter value to 0, read, delay some time with loops, and read again. Here is the code:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;LDD_TDeviceData *pTT=FC1_Init((LDD_TUserData *)NULL );&lt;/P&gt;&lt;P&gt;printf("A=%X , Mod=%X\r\n", FTM1_SC, FTM1_MOD);&lt;/P&gt;&lt;P&gt;printf("CnSC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =%X\r\n", FTM1_C1SC);&lt;/P&gt;&lt;P&gt;printf("Status&amp;nbsp;&amp;nbsp;&amp;nbsp; =%X\r\n", FTM1_STATUS);&lt;/P&gt;&lt;P&gt;printf("MODE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =%X\r\n", FTM1_MODE);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;int iCount=0;&lt;/P&gt;&lt;P&gt;int iCount0=0;&lt;/P&gt;&lt;P&gt;for (;;)&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; FTM1_CNT = FTM_CNT_COUNT(0x00);&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; int iPreviousCount0=FTM1_CNT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;LOOPS ; i++ ) { &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; volatile int k=9*1107;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; int iCount0=FTM1_CNT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; printf("%d, p=%d, c=%d, d=%d\r\n", iCount++, iPreviousCount0, iCount0, (iCount0 - iPreviousCount0) );&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;}&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Running Results:&lt;/P&gt;&lt;P&gt;A=B , Mod=FFFF&lt;/P&gt;&lt;P&gt;CnSC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =0&lt;/P&gt;&lt;P&gt;Status&amp;nbsp;&amp;nbsp;&amp;nbsp; =0&lt;/P&gt;&lt;P&gt;MODE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =4&lt;/P&gt;&lt;P&gt;0, p=0, c=28409, d=28409&lt;/P&gt;&lt;P&gt;1, p=0, c=28329, d=28329&lt;/P&gt;&lt;P&gt;2, p=0, c=28384, d=28384&lt;/P&gt;&lt;P&gt;3, p=0, c=28329, d=28329&lt;/P&gt;&lt;P&gt;4, p=0, c=28383, d=28383&lt;/P&gt;&lt;P&gt;5, p=0, c=28326, d=28326&lt;/P&gt;&lt;P&gt;6, p=0, c=28378, d=28378&lt;/P&gt;&lt;P&gt;7, p=0, c=28329, d=28329&lt;/P&gt;&lt;P&gt;8, p=0, c=28382, d=28382&lt;/P&gt;&lt;P&gt;9, p=0, c=28329, d=28329&lt;/P&gt;&lt;P&gt;10, p=0, c=28379, d=28379&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But when I initialize the same counter with the following code (They are the almost same as FC1_Init() by PE:)&lt;/P&gt;&lt;P&gt;I copied from PE generated code into my own initialization function:&lt;/P&gt;&lt;P&gt;void FC1_Initialize() {&lt;/P&gt;&lt;P&gt; /* SIM_SCGC6: FTM1=1 */&lt;/P&gt;&lt;P&gt; SIM_SCGC6 |= SIM_SCGC6_FTM1_MASK;&lt;/P&gt;&lt;P&gt; /* FTM1_MODE: FAULTIE=0,FAULTM=0,CAPTEST=0,PWMSYNC=0,WPDIS=1,INIT=0,FTMEN=0 */&lt;/P&gt;&lt;P&gt; FTM1_MODE = (FTM_MODE_FAULTM(0x00) | FTM_MODE_WPDIS_MASK); /* Set up mode register */&lt;/P&gt;&lt;P&gt; /* FTM1_SC: TOF=0,TOIE=0,CPWMS=0,CLKS=0,PS=0 */&lt;/P&gt;&lt;P&gt; FTM1_SC = (FTM_SC_CLKS(0x00) | FTM_SC_PS(0x00)); /* Clear status and control register */&lt;/P&gt;&lt;P&gt; /* FTM1_CNTIN: INIT=0 */&lt;/P&gt;&lt;P&gt; FTM1_CNTIN = FTM_CNTIN_INIT(0x00);&amp;nbsp;&amp;nbsp; /* Clear counter initial register */&lt;/P&gt;&lt;P&gt; /* FTM1_CNT:&amp;nbsp; COUNT=0 */&lt;/P&gt;&lt;P&gt; FTM1_CNT = FTM_CNT_COUNT(0x00);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reset counter register */&lt;/P&gt;&lt;P&gt; /* FTM1_C0SC:&amp;nbsp; CHF=0,CHIE=0,MSB=0,MSA=0,ELSB=0,ELSA=0,??=0,DMA=0 */&lt;/P&gt;&lt;P&gt; FTM1_C0SC = 0x00U;&amp;nbsp;&amp;nbsp; /* Clear channel status and control register */&lt;/P&gt;&lt;P&gt; /* FTM1_C1SC: CHF=0,CHIE=0,MSB=0,MSA=0,ELSB=0,ELSA=0,??=0,DMA=0 */&lt;/P&gt;&lt;P&gt; FTM1_C1SC = 0x00U;&amp;nbsp;&amp;nbsp; /* Clear channel status and control register */&lt;/P&gt;&lt;P&gt; /* FTM1_MOD: MOD=0xFFFF */&lt;/P&gt;&lt;P&gt; FTM1_MOD = FTM_MOD_MOD(0xFFFF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set up modulo register */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt; _int_disable();&lt;/P&gt;&lt;P&gt; FTM_PDD_SelectPrescalerSource(FTM1_BASE_PTR, FTM_PDD_DISABLED);&lt;/P&gt;&lt;P&gt; FTM_PDD_SetPrescaler(FTM1_BASE_PTR,&amp;nbsp; FTM_PDD_DIVIDE_8 ); /* Set prescaler register */ &lt;/P&gt;&lt;P&gt; FTM_PDD_SelectPrescalerSource(FTM1_BASE_PTR, FTM_PDD_SYSTEM);&lt;/P&gt;&lt;P&gt; _int_enable();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;I run the same code as above, except the initialization FC1_Initialize():&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; int iCount=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; int iCount0=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FC1_Initialize();&lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("B=%X , Mod=%X\r\n", FTM1_SC, FTM1_MOD);&lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("CnSC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =%X\r\n", FTM1_C1SC);&lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("Status&amp;nbsp;&amp;nbsp;&amp;nbsp; =%X\r\n", FTM1_STATUS);&lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("MODE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =%X\r\n", FTM1_MODE);&lt;/P&gt;&lt;P&gt;&amp;nbsp; for (;;)&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; FTM1_CNT = FTM_CNT_COUNT(0x00);&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; int iPreviousCount0=FTM1_CNT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;LOOPS ; i++ ) { &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; volatile int k=9*1107;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; int iCount0=FTM1_CNT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; printf("%d, p=%d, c=%d, d=%d\r\n", iCount++, iPreviousCount0, iCount0, (iCount0 - iPreviousCount0) );&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The running results:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;B=B , Mod=FFFF&lt;/P&gt;&lt;P&gt;CnSC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =0&lt;/P&gt;&lt;P&gt;Status&amp;nbsp;&amp;nbsp;&amp;nbsp; =0&lt;/P&gt;&lt;P&gt;MODE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =4&lt;/P&gt;&lt;P&gt;0, p=0, c=40915, d=40915&lt;/P&gt;&lt;P&gt;1, p=0, c=40884, d=40884&lt;/P&gt;&lt;P&gt;2, p=0, c=40882, d=40882&lt;/P&gt;&lt;P&gt;3, p=0, c=40831, d=40831&lt;/P&gt;&lt;P&gt;4, p=0, c=40827, d=40827&lt;/P&gt;&lt;P&gt;5, p=0, c=40881, d=40881&lt;/P&gt;&lt;P&gt;6, p=0, c=40882, d=40882&lt;/P&gt;&lt;P&gt;7, p=0, c=40883, d=40883&lt;/P&gt;&lt;P&gt;8, p=0, c=40882, d=40882&lt;/P&gt;&lt;P&gt;9, p=0, c=40881, d=40881&lt;/P&gt;&lt;P&gt;10, p=0, c=40882, d=40882&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But the duration for the same loops are huge different:&lt;/P&gt;&lt;P&gt;#define LOOPS&amp;nbsp; 100000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; for (int i=0; i&amp;lt;LOOPS ; i++ ) { &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; volatile int k=9*1107;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;d=28329&amp;nbsp; vs d=40915&amp;nbsp;&amp;nbsp;&amp;nbsp; :: Why?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know what causes that difference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Both are configured as &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clock source: system clock:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (01)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The counter prescaler :&amp;nbsp; 011 (FTM_PDD_DIVIDE_8),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM1_SC = 0xB&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM1_MOD = 0xFFFF&lt;/P&gt;&lt;P&gt;But the counter is running at different rate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What else is different?&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;David Zhou&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 May 2016 17:53:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502588#M31501</guid>
      <dc:creator>davidzhou</dc:creator>
      <dc:date>2016-05-05T17:53:50Z</dc:date>
    </item>
    <item>
      <title>Re: Flex Timer Initialization</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502589#M31502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Because in a superpipelined architecture with Flash pre-fetch, burst-access, and 'cache', and any NUMBER of other alterations to 'clocks per instruction' you cannot count on any particular 'loop of counts' to take any PARTICULAR time, even between compile/link that is likely to move the boundaries.&amp;nbsp; Welcome to the world of 'performance CPUs'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And THAT assumes that the compiler created exactly the same instructions for the two loops, which is a big 'if' given the changes in context.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check your 'counter rate' by some other means, such as triggering an I/O and watching on a scope.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;TABLE height="50" style="width: 503px; height: 51px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOE_PTOR = 1&amp;lt;&amp;lt;17; &lt;/TD&gt;&lt;TD&gt;//Time the loops on E17!&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 May 2016 18:25:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502589#M31502</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2016-05-05T18:25:32Z</dc:date>
    </item>
    <item>
      <title>Re: Flex Timer Initialization</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502590#M31503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;I am testing your code in KDS3.2.0 with Processor Expert.&lt;/P&gt;&lt;P&gt;The result are about 28216.&lt;/P&gt;&lt;P&gt;Only modify the Initialize function in one project, and the Optimization Level is NONE.&lt;/P&gt;&lt;P&gt;I think you can check the code in Disassembly.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="A.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/56871iF9F027DF797C794A/image-size/large?v=v2&amp;amp;px=999" role="button" title="A.jpg" alt="A.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="B.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/56921i8D7CA4F8F8B04A07/image-size/large?v=v2&amp;amp;px=999" role="button" title="B.jpg" alt="B.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Robin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 May 2016 09:12:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502590#M31503</guid>
      <dc:creator>Robin_Shen</dc:creator>
      <dc:date>2016-05-06T09:12:36Z</dc:date>
    </item>
    <item>
      <title>Re: Flex Timer Initialization</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502591#M31504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And you might note that these particular results show the 'same loops' aligned in FLASH on the SAME Phrase (starting address ends in 0b...1000110) boundaries, so the timing result is the SAME.&amp;nbsp; YMMV.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 May 2016 12:34:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502591#M31504</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2016-05-06T12:34:43Z</dc:date>
    </item>
    <item>
      <title>Re: Flex Timer Initialization</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502592#M31505</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Earl and Robin,&lt;/P&gt;&lt;P&gt;Thank your for testing the code for me. I still believe something else causing the issue. I created another timer to measure that first timer, and I printed out all the registers. I found that the SC was different. In the PE the divider is set to 8 (011 binary for PS filed) but it changed to 00 with clock source to external instead of system clock.&lt;/P&gt;&lt;P&gt;One thing confused me is that in my previous project, SC are the same (0xB) for both initialization, but runs at different rate.&lt;/P&gt;&lt;P&gt;OK. I am closing this tick. Thank both of you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;David Zhou&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 May 2016 13:58:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flex-Timer-Initialization/m-p/502592#M31505</guid>
      <dc:creator>davidzhou</dc:creator>
      <dc:date>2016-05-06T13:58:51Z</dc:date>
    </item>
  </channel>
</rss>

