First-time poster here, so if this is asked in the wrong location, please redirect me.
I'm currently working on (attempting) to design a custom microcontroller (or, rather, a form of embedded system) for a project, and need some assistance with how to actually incorporate a USB/JTAG/SWD-type interface (preferably USB) to, when it gets to that point, be able to flash/upload programs onto the microcontroller. I'm considering using an K60- or K20-series ARM Cortex M4 microprocessor (in particular, I am looking at a processor such as MK64FN1M0VLL12 or MK20DX128VFM5, if that helps).
I know that these microprocessors have USB ports (for instance, on the MK64-series, pins 10 and 11 are USB0_DP and USB0_DM). My primary confusion comes from the fact that every single development board schematics I see, there is also the openSDA implementation added in, which implies to me that the first USB (the one that actually connects to those pins) is for some other purpose (like serial communication), and will not work to actually be able to upload a program onto the chip; instead, that's what the openSDA does. But then the main confusion sets in when I see that the chip used to implement openSDA for all of these is a K20, which is ALSO an ARM chip like K60-series chips.
In short (tl;dr), what I need assistance with is with the programming/flash interface of one of these chips. Can it be done simply through the USB pins on the chip (or via JTAG/SWD, which I don't know how to do at the moment), or do I need to implement something similar to openSDA myself? And if it can be done just by the USB pins on the chip, how would I actually then upload a program onto the chip, as I imagine that bootloaders are not preloaded onto the chip from the manufacturer (unless I'm mistaken).
I have yet to actually find some clear information on this, despite several days of searching. As far as I can tell, there really aren't particularly many questions about Kinetis or ARM chips here - the ones I have seen thus far are for ATMEGA/ATMEL chips; not ARM specifically. Any assistance would be greatly appreciated!
If this question has been answered before, then I would appreciate a pointer to said thread.
Attached is an example of one of the schematics of a Kinetis microcontroller that I am using as a reference.
Thanks in advance!
I'm currently working on (attempting) to design a custom microcontroller (or, rather, a form of embedded system) for a project, and need some assistance with how to actually incorporate a USB/JTAG/SWD-type interface (preferably USB) to, when it gets to that point, be able to flash/upload programs onto the microcontroller. I'm considering using an K60- or K20-series ARM Cortex M4 microprocessor (in particular, I am looking at a processor such as MK64FN1M0VLL12 or MK20DX128VFM5, if that helps).
I know that these microprocessors have USB ports (for instance, on the MK64-series, pins 10 and 11 are USB0_DP and USB0_DM). My primary confusion comes from the fact that every single development board schematics I see, there is also the openSDA implementation added in, which implies to me that the first USB (the one that actually connects to those pins) is for some other purpose (like serial communication), and will not work to actually be able to upload a program onto the chip; instead, that's what the openSDA does. But then the main confusion sets in when I see that the chip used to implement openSDA for all of these is a K20, which is ALSO an ARM chip like K60-series chips.
In short (tl;dr), what I need assistance with is with the programming/flash interface of one of these chips. Can it be done simply through the USB pins on the chip (or via JTAG/SWD, which I don't know how to do at the moment), or do I need to implement something similar to openSDA myself? And if it can be done just by the USB pins on the chip, how would I actually then upload a program onto the chip, as I imagine that bootloaders are not preloaded onto the chip from the manufacturer (unless I'm mistaken).
I have yet to actually find some clear information on this, despite several days of searching. As far as I can tell, there really aren't particularly many questions about Kinetis or ARM chips here - the ones I have seen thus far are for ATMEGA/ATMEL chips; not ARM specifically. Any assistance would be greatly appreciated!
If this question has been answered before, then I would appreciate a pointer to said thread.
Attached is an example of one of the schematics of a Kinetis microcontroller that I am using as a reference.
Thanks in advance!
Attachments
-
208.4 KB Views: 0