MQX 4.0.1.2, changed processor package 100 -->80 pin

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MQX 4.0.1.2, changed processor package 100 -->80 pin

516 Views
Cdn_aye
Senior Contributor I

Hi

We were using the MK20DX256ZVLL10 (100 pin), now we have to use the MK20DX256VLK10 (80 pin) Kinetis with MQX 4.0.1.2.

Our new board loads until it enters the bsp_init section then fails. In looking through the kinetis.h header file I note there is an apparent difference between PSP_CPU_MK20DX256Z and PSP_CPU_MK20DX256 for headers. I had (wrongly) assumed that same core, fewer pins nothing else changed. Actually we are building against PSP_CPU_MK40DX256Z because at the time we started there was no MK20DX bsp and FSL recommended the MK40256DX bsp as the only solution. So I am guessing we should switch to MK20DX256 now. The difference between the MK40DX AND MK20DX was the LCD controller was missing on the MK20DX and so it didn't matter since we weren't enabling the LCD.

Do we have to upgrade to 4.1.? to get the correct bsp & psp support packages? If not will just changing to PSP_CPU_MK20DX256 correct the problem. The reason I am asking is there doesn't seem to be a build based on pin count and core type so I am not sure that I am pursuing the correct path here.

Any suggestions would be welcome. Thank you.

Robert

Tags (5)
0 Kudos
2 Replies

310 Views
soledad
NXP Employee
NXP Employee

Hello Robert,

Unfortunately MQX 4.1 doesn't have support for MK20DX256VLK10 (80 pin), so if you upgrade to 4.1 then you need to have the same configurations.

In order to build a new BSP and PSP it is necessary:

  1. Select a BSP and PSP that already exist. It is very important that you consider the factures and the core frequency; these should be very similar to the custom board. For example, if you want to create a BSP and PSP for a K20dx256z (100MHz) it is necessary to select the BSP and PSP for the twrk40x256 because the features and core frequency between both processors (k40 and k20) and the boards are very close.
  2. Clone the select BSP and PSP, for do that, you need to refer to the Chapter 5 in the MQX User's Guide "Developing a New BSP" or consult the AN4287 application note, this application provide a guide to clone a BSP, you need to follow the SAME STEPS in order to clone the PSP. Another option is using the BSP Cloning Wizard tool to clone the libraries. (I suggest this option because it is very easy)

    3. Another important thingh is select an existing BSP for the same pin version.

        For example TWR-K60N512 144 pin version. MK60DZ10.h header file

        c:\Freescale\Freescale_MQX_4_0\mqx\source\psp\cortex_m\cpu\MK60DZ10.h

        covers also MK60DN256ZVLL10 device, in terms of memory map.

    4.Mapping of functions to pins is specified in the BSP source file init_gpio.c:

    c:\Freescale\Freescale_MQX_4_0\mqx\source\bsp\${CLONE_BSP_NAME}\init_gpio.c

  5.Less flash memory size is to be modified in the linker command file. The location of the linker file is at
    c:\Freescale\Freescale_MQX_4_0\mqx\source\bsp\<platform>\cw\*.lcf.

I suggest to check the below thread, in this thread Martin explains how to change the CPU.

Creating MQX 4.0 BSP for K10

  I hope this helps


Have a great day,
Sol

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

310 Views
Cdn_aye
Senior Contributor I

Hi Soledad

Thank you for your reply.

I had read the document you suggested and had tried to get that to work in the past... without success. Therefore we used the k40dx256 bsp instead of one built for the k20dx256. When we did the board design to change from the 100 pin to 80 pin, we were told that because the FSL Kinetis cores were the same there would be no change to MQX, as long as we mapped the pins out the same. I understand now that this is not the case.

From what I can see looking through the MQX build process there is a problem with the missing CPU ID and  also mqx includes that are required for our build. I can see the correct cpu ID in our MQX distribution, but when I enable this in the USER_CONFIG.H file there are missing modules.

Because of this bsp issue we have had to change back to the 100 pin part and do a totally new board design. The cost is > $10k not counting the time delay and risks; we will have to shelve the current design until a k20dx256 bsp can be created with known working FSL software. I realize that we could try to clone the bsp manually as per the various bits and pieces of documentation and scattered modules mentioned across the forums, but trying to bring up a new board design and also a kludged together BSP exponentially increases the difficulties. This is because we do not have a working reference point in either hardware or software, and setting aside the cost there is no known well defined end point for the engineering bring up testing. It is a roll of the dice that the bsp will work and also that the hardware design is error free.


It has been pointed in the forums out that MQX 4.2 will correct the bsp cloning problems. Is this true and when approximately can we expect that to occur?

Thank you for your help.

Regards

Robert

0 Kudos