<?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 Comments on TWR-K60D100, K60 and KSDK-1.3.0 documentation in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Comments-on-TWR-K60D100-K60-and-KSDK-1-3-0-documentation/m-p/495059#M30726</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello NXP,&lt;/P&gt;&lt;P&gt;I have some comments on K60, TWR-K60D100 and KSDK- !1.3.0 documentation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;KSDK_1.3.0\examples\twrk60d100m\driver_examples&lt;/EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; provide some code for SPI master and slave.&lt;/P&gt;&lt;P&gt;This does not work for SPI1 because:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;&lt;STRONG&gt;1. Definition of SPI1 pins in pin_mux.c&amp;nbsp; is false&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;file ..\Freescale\KSDK_1.3.0\examples\twrk60d100m\pin_mux.c :&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="FR" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: FR;"&gt;void configure_spi_pins(uint32_t instance) &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp; switch(instance) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case SPI1_IDX:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SPI1 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;/* Affects PORTB_PCR10 register */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTB,10u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Affects PORTB_PCR17 register */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTB,17u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Affects PORTB_PCR11 register */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTB,11u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Affects PORTB_PCR16 register */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTB,16u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It should be rather (TWRK60D100 has SPI1 on PTE1,2,3,4 !)&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTE,1u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTE,2u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTE,4u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTE,3u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;&lt;STRONG&gt;2. There is an error on sheet 4 of schematics of TWRK60D100M&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;pin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; signal name in schematics&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #e23d39; text-decoration: underline;"&gt;is in reality&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;D2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTE1&amp;nbsp; SDHC0_D0/SPI1_SIN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #e23d39;"&gt;SPI1_SOUT&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;E4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTE3&amp;nbsp; SDHC0_D0/SPI1_SOUT&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #e23d39;"&gt;SPI1_SIN&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;This pinning is also defined in §10.3.1 of K60P144M100SF2V2RM Rev.2.&lt;/P&gt;&lt;P&gt;So the signals on the B-connector of the elevator are:&lt;/P&gt;&lt;P&gt;B7 - SPI1_CLK&lt;/P&gt;&lt;P&gt;B9 - SPI1_CS0&lt;/P&gt;&lt;P&gt;B10 - SPI1_SIN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; and not&amp;nbsp;&amp;nbsp; SPI1_SOUT&lt;/P&gt;&lt;P&gt;B11 - SPI1_SOUT&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; and not&amp;nbsp;&amp;nbsp; SPI1_SIN&lt;/P&gt;&lt;P&gt;Furthermore schematics of the Elevator uses signal names, which are not compatible with the K60 pinning and it results&amp;nbsp; in confusion:&amp;nbsp;&amp;nbsp;&amp;nbsp; SPIx_MISO and SPIx_MOSI&lt;/P&gt;&lt;P&gt;I suppose these abbreviations can be translated to Master_Input_Slave_Output and Slave_Output_Master_Input but in K60 a pin is either OUT or IN - same state for slave and master.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;&lt;STRONG&gt;3. Quality of Reference Manual K60P144M100SF2V2RM Rev.2 Jun 2012&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Some examples of concerning SPI (there are probably more problems related to other modules):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;a) SPI versus DSPI&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Throughout the first 1412 pages of manual (except for page 191 - table 5-2,&amp;nbsp; Module DSPI) only &lt;SPAN style="color: #e23d39;"&gt;SPI&lt;/SPAN&gt; is referenced.&lt;/P&gt;&lt;P&gt;On page 1412, in description for MDIS-bit, one read "When &lt;SPAN style="color: #e23d39;"&gt;DSPI&lt;/SPAN&gt; is used in Slave Mode..." - one can ask &lt;EM&gt;What is DSPI ?&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;From this point on, the manual speaks one time about SPI, another time about DSPI.&lt;/P&gt;&lt;P&gt;One can think: probably it's the same... but may be not ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;b) SPIx_MCR layout&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;§50.3.1, page 1410 shows&amp;nbsp; the SPIx_MCR layout where:&lt;/P&gt;&lt;P&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; &lt;SPAN style="color: #e23d39;"&gt;bit 25 is ROOE&lt;/SPAN&gt; and bits 24, 23, 22 are reserved&lt;/P&gt;&lt;P&gt;In the old manual (K60P144M100SF2RM Rev.6 Nov. 2011), there was:&lt;/P&gt;&lt;P&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; bit 25 was PCSSE , &lt;SPAN style="color: #e23d39;"&gt;ROOE was on bit 24 &lt;/SPAN&gt;and bits 23, 22 were reserved&lt;/P&gt;&lt;P&gt;Kinetis Desing Studio 3.1.0 shows in EmbSys Registers the "old" layout (MK60D10 chip selected) and ROOE seems to be really on bit 24 !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;c) Frame size in slave receive mode&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;§50.3.4 Clock and Transfer Attributes Register (In Slave Mode) defines bits 31-27 as FMSZ - Frame size.&lt;/P&gt;&lt;P&gt;5 bits result in 0x1f=31 - so 32-bit frame should be possible (ie. data in 32-bit SPIx_POPR)&lt;/P&gt;&lt;P&gt;It is not !!&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #e23d39;"&gt;The highest bit of FMSZ has no function at all !&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;One can receive 32-bits but one has to read SPIx_POPR 2 times (2x 16-bit) what is completely undocumented in the manual.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;d) §50.4.6 - Slave Mode Operation Constraints&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;One read there:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Received data is transferred to the receive buffer at last SCK edge of each frame, &lt;SPAN style="color: red;"&gt;defined &lt;/SPAN&gt;&lt;SPAN style="color: red;"&gt;by frame&lt;BR /&gt;size&lt;/SPAN&gt; programmed to the &lt;SPAN style="color: red;"&gt;CTAR0/1&lt;/SPAN&gt; register. Then the data from the buffer is transferred to the RXFIFO or &lt;SPAN style="color: red;"&gt;DDR &lt;/SPAN&gt;register.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Remarks:&lt;/P&gt;&lt;P&gt;&amp;nbsp; - frame size works only for frames up to 16-bits&lt;/P&gt;&lt;P&gt;&amp;nbsp; - for slave only CTAR0 can be used as §50.3.4 says&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; When the module is configured as an SPI bus slave, the CTAR0 register is used.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; - "DDR" does not appear in the whole manual ! - what is it ???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;e) §A.50 - DSPI chapter changes&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Most of names listed in the second table (page 1799) do not appear in the K60P144M100SF2V2RM Rev.2 Jun 2012.&lt;/P&gt;&lt;P&gt;One read there for instance:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;programmable serial frame size &lt;SPAN style="color: #e23d39;"&gt;upto 64 bits&lt;/SPAN&gt;...&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: red;"&gt;This table is simply from another manual !!!&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All this is somehow similar to quality of Kinetis SDK v.1.3 API Reference Manual Rev.0&lt;/P&gt;&lt;P&gt;see&amp;nbsp; &lt;STRONG&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/thread/385338"&gt;https://community.freescale.com/thread/385338&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Bravo NXP !&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 22 Mar 2016 12:43:34 GMT</pubDate>
    <dc:creator>piotrfyda</dc:creator>
    <dc:date>2016-03-22T12:43:34Z</dc:date>
    <item>
      <title>Comments on TWR-K60D100, K60 and KSDK-1.3.0 documentation</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Comments-on-TWR-K60D100-K60-and-KSDK-1-3-0-documentation/m-p/495059#M30726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello NXP,&lt;/P&gt;&lt;P&gt;I have some comments on K60, TWR-K60D100 and KSDK- !1.3.0 documentation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;KSDK_1.3.0\examples\twrk60d100m\driver_examples&lt;/EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; provide some code for SPI master and slave.&lt;/P&gt;&lt;P&gt;This does not work for SPI1 because:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;&lt;STRONG&gt;1. Definition of SPI1 pins in pin_mux.c&amp;nbsp; is false&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;file ..\Freescale\KSDK_1.3.0\examples\twrk60d100m\pin_mux.c :&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="FR" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: FR;"&gt;void configure_spi_pins(uint32_t instance) &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp; switch(instance) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case SPI1_IDX:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SPI1 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;/* Affects PORTB_PCR10 register */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTB,10u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Affects PORTB_PCR17 register */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTB,17u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Affects PORTB_PCR11 register */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTB,11u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Affects PORTB_PCR16 register */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="DE-AT" style="font-family: 'Courier New'; font-size: 8pt; mso-ansi-language: DE-AT;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTB,16u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It should be rather (TWRK60D100 has SPI1 on PTE1,2,3,4 !)&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTE,1u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTE,2u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTE,4u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTE,3u,kPortMuxAlt2);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;&lt;STRONG&gt;2. There is an error on sheet 4 of schematics of TWRK60D100M&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;pin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; signal name in schematics&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #e23d39; text-decoration: underline;"&gt;is in reality&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;D2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTE1&amp;nbsp; SDHC0_D0/SPI1_SIN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #e23d39;"&gt;SPI1_SOUT&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;E4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTE3&amp;nbsp; SDHC0_D0/SPI1_SOUT&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #e23d39;"&gt;SPI1_SIN&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;This pinning is also defined in §10.3.1 of K60P144M100SF2V2RM Rev.2.&lt;/P&gt;&lt;P&gt;So the signals on the B-connector of the elevator are:&lt;/P&gt;&lt;P&gt;B7 - SPI1_CLK&lt;/P&gt;&lt;P&gt;B9 - SPI1_CS0&lt;/P&gt;&lt;P&gt;B10 - SPI1_SIN&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; and not&amp;nbsp;&amp;nbsp; SPI1_SOUT&lt;/P&gt;&lt;P&gt;B11 - SPI1_SOUT&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; and not&amp;nbsp;&amp;nbsp; SPI1_SIN&lt;/P&gt;&lt;P&gt;Furthermore schematics of the Elevator uses signal names, which are not compatible with the K60 pinning and it results&amp;nbsp; in confusion:&amp;nbsp;&amp;nbsp;&amp;nbsp; SPIx_MISO and SPIx_MOSI&lt;/P&gt;&lt;P&gt;I suppose these abbreviations can be translated to Master_Input_Slave_Output and Slave_Output_Master_Input but in K60 a pin is either OUT or IN - same state for slave and master.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;&lt;STRONG&gt;3. Quality of Reference Manual K60P144M100SF2V2RM Rev.2 Jun 2012&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Some examples of concerning SPI (there are probably more problems related to other modules):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;a) SPI versus DSPI&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Throughout the first 1412 pages of manual (except for page 191 - table 5-2,&amp;nbsp; Module DSPI) only &lt;SPAN style="color: #e23d39;"&gt;SPI&lt;/SPAN&gt; is referenced.&lt;/P&gt;&lt;P&gt;On page 1412, in description for MDIS-bit, one read "When &lt;SPAN style="color: #e23d39;"&gt;DSPI&lt;/SPAN&gt; is used in Slave Mode..." - one can ask &lt;EM&gt;What is DSPI ?&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;From this point on, the manual speaks one time about SPI, another time about DSPI.&lt;/P&gt;&lt;P&gt;One can think: probably it's the same... but may be not ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;b) SPIx_MCR layout&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;§50.3.1, page 1410 shows&amp;nbsp; the SPIx_MCR layout where:&lt;/P&gt;&lt;P&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; &lt;SPAN style="color: #e23d39;"&gt;bit 25 is ROOE&lt;/SPAN&gt; and bits 24, 23, 22 are reserved&lt;/P&gt;&lt;P&gt;In the old manual (K60P144M100SF2RM Rev.6 Nov. 2011), there was:&lt;/P&gt;&lt;P&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; bit 25 was PCSSE , &lt;SPAN style="color: #e23d39;"&gt;ROOE was on bit 24 &lt;/SPAN&gt;and bits 23, 22 were reserved&lt;/P&gt;&lt;P&gt;Kinetis Desing Studio 3.1.0 shows in EmbSys Registers the "old" layout (MK60D10 chip selected) and ROOE seems to be really on bit 24 !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;c) Frame size in slave receive mode&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;§50.3.4 Clock and Transfer Attributes Register (In Slave Mode) defines bits 31-27 as FMSZ - Frame size.&lt;/P&gt;&lt;P&gt;5 bits result in 0x1f=31 - so 32-bit frame should be possible (ie. data in 32-bit SPIx_POPR)&lt;/P&gt;&lt;P&gt;It is not !!&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #e23d39;"&gt;The highest bit of FMSZ has no function at all !&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;One can receive 32-bits but one has to read SPIx_POPR 2 times (2x 16-bit) what is completely undocumented in the manual.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;d) §50.4.6 - Slave Mode Operation Constraints&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;One read there:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Received data is transferred to the receive buffer at last SCK edge of each frame, &lt;SPAN style="color: red;"&gt;defined &lt;/SPAN&gt;&lt;SPAN style="color: red;"&gt;by frame&lt;BR /&gt;size&lt;/SPAN&gt; programmed to the &lt;SPAN style="color: red;"&gt;CTAR0/1&lt;/SPAN&gt; register. Then the data from the buffer is transferred to the RXFIFO or &lt;SPAN style="color: red;"&gt;DDR &lt;/SPAN&gt;register.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Remarks:&lt;/P&gt;&lt;P&gt;&amp;nbsp; - frame size works only for frames up to 16-bits&lt;/P&gt;&lt;P&gt;&amp;nbsp; - for slave only CTAR0 can be used as §50.3.4 says&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; When the module is configured as an SPI bus slave, the CTAR0 register is used.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; - "DDR" does not appear in the whole manual ! - what is it ???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;e) §A.50 - DSPI chapter changes&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Most of names listed in the second table (page 1799) do not appear in the K60P144M100SF2V2RM Rev.2 Jun 2012.&lt;/P&gt;&lt;P&gt;One read there for instance:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;programmable serial frame size &lt;SPAN style="color: #e23d39;"&gt;upto 64 bits&lt;/SPAN&gt;...&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: red;"&gt;This table is simply from another manual !!!&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All this is somehow similar to quality of Kinetis SDK v.1.3 API Reference Manual Rev.0&lt;/P&gt;&lt;P&gt;see&amp;nbsp; &lt;STRONG&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/thread/385338"&gt;https://community.freescale.com/thread/385338&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Bravo NXP !&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Mar 2016 12:43:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Comments-on-TWR-K60D100-K60-and-KSDK-1-3-0-documentation/m-p/495059#M30726</guid>
      <dc:creator>piotrfyda</dc:creator>
      <dc:date>2016-03-22T12:43:34Z</dc:date>
    </item>
  </channel>
</rss>

