Is there a guide that would help me move from prototyping to production?

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

Is there a guide that would help me move from prototyping to production?

Jump to solution
687 Views
davepfaltzgraff
Senior Contributor I

So far I have been doing all my prototyping using a FRDM-K22F board. Now, I am ready to start moving the design to my own PCB. Since the code in the OpenSDA appears to be controlled by PEMicro and also there is no need to populate my board with the electronics for the OpenSDA interface, are there any guidelines that might answer the following questions:

 

1. What is an appropriate way to build a design (hardware) that is meant for production? Yes, I would need to do some debugging on it, but I need to get to a place where I can hand the compiled code to someone else and have them load it.

 

2. What are the appropriate steps within KDS to move from Debug mode to Release mode and support a programmer?

 

3. What is the best, or most convenient, way to support programming in a production environment? (Continue to use KDS, or ... ?)

 

4. Is there any real advantage of continuing to use the OpenSDA versus moving to JTAG?

 

Thanks

Labels (1)
0 Kudos
1 Solution
477 Views
davepfaltzgraff
Senior Contributor I

Hi Santiago,

Thanks for the timely response, but I have a few additional questions and some of them may be from not asking the right questions in the first place.

1. When you say "put the 5 pins to debug the board", are these the RST*,DIO, DCLK, power, and ground for the OpenSDA? I understand that the UART_TX and UART_RX are optional. So, your answer ignores the option of using JTAG? (See my question 4.)

To use JTAG, I would need TMS, TCLK, TDI, TDO, RST, power and ground, which comes to seven connections. Although not connected on the MK22FN512VLH12 in the case of the FRDM-K22F board, is this option generally not used?

3. In the case where I want to send a object file, i.e.: ELF, file to the production facility, what procedure would I follow using KDS to program the part? I don't want to distribute the source files for two key reasons. One is the obvious of "giving away" the source code. But, the other to prevent any inadvertent changes to the code.

Thanks,

Dave

View solution in original post

0 Kudos
4 Replies
477 Views
santiago_gonzal
NXP Employee
NXP Employee

Hello,

1- In your design you only need to put the 5 pins to debug the board into a connector (Standard 10 or 20 pin connector from ARM or custom one designed by you) and connect them to an external debugger (PEMicro MultiLink, Segger J-Link, etc...). Your production place needs to be able to use that connector to program the MCU. Another option is to use test points to program the MCU.

2- There are no steps required. The only difference between debug and release are the compiler optimizations, and it's highly recommended not to change those when going from debug to production phase. Read this great post from Erich:

Debug vs. Release? | MCU on Eclipse

3- You can keep using KDS + a PC or go to a standalone debugger (PEMicro Cyclone is a great option). The choice will depend of your volumes and timings.

4- There is no advantage of using OpenSDA, apart from field upgrading, but even that can be solved with a bootloader inside the main MCU, saving the costs of OpenSDA.

0 Kudos
478 Views
davepfaltzgraff
Senior Contributor I

Hi Santiago,

Thanks for the timely response, but I have a few additional questions and some of them may be from not asking the right questions in the first place.

1. When you say "put the 5 pins to debug the board", are these the RST*,DIO, DCLK, power, and ground for the OpenSDA? I understand that the UART_TX and UART_RX are optional. So, your answer ignores the option of using JTAG? (See my question 4.)

To use JTAG, I would need TMS, TCLK, TDI, TDO, RST, power and ground, which comes to seven connections. Although not connected on the MK22FN512VLH12 in the case of the FRDM-K22F board, is this option generally not used?

3. In the case where I want to send a object file, i.e.: ELF, file to the production facility, what procedure would I follow using KDS to program the part? I don't want to distribute the source files for two key reasons. One is the obvious of "giving away" the source code. But, the other to prevent any inadvertent changes to the code.

Thanks,

Dave

0 Kudos
477 Views
santiago_gonzal
NXP Employee
NXP Employee

Hello,

When I say "put the 5 pins to debug the board" I mean exactly those 5 pins. You can flash and debug the K22FN512 device only with those pins. See:Serial Wire Debug - ARM . In fact, that's exactly what the OpenSDA is doing, and you can do the same using those 5 pins and an external debugger.

3- How do you flash a binary to kinetis with multilink universal fx?

Regards,

Santiago

477 Views
davepfaltzgraff
Senior Contributor I

Hi Santiago,

Thanks for the pointers. I think that answers all my questions for mow.

Later...

0 Kudos