0
\$\begingroup\$

Is there a way to program the ARM microcontroller without solder it to a dev board? I mean, if I want to develop a product based in the ARM architecture I suppose that I have to use one microcontroller for prototyping right? but in the moment I assemble my product, how can I program the rest of ARM microcontrollers? should I give the code to the PCBA manufacturer in order to program all the ARMs that will be built in every piece?, sorry for my English tho.

| improve this question | | | | |
\$\endgroup\$
  • \$\begingroup\$ Check out this question electronics.stackexchange.com/questions/7214/… \$\endgroup\$ – Elbehery Jan 15 '17 at 3:41
  • \$\begingroup\$ If MCU is used in PCB eventually. You can program after entire board assembly. Unless, you are not thinking about shipping prebprogramamed chips, in which case adapters still can be used \$\endgroup\$ – User323693 Jan 15 '17 at 4:35
  • \$\begingroup\$ Your English is quite fine, don't worry! So, what you want to do is google for "in-system programmer" + your IC of choice. It's really not that complicated, almost all ARM-based microcontrollers either support JTAG or SWD, and very many (if not most) have a built-in bootloader that allows you to program the device at boot, if you want to. \$\endgroup\$ – Marcus Müller Jan 15 '17 at 10:19
2
\$\begingroup\$

This usually depends on the microcontroller you use, but in general ARM chips have a JTAG interface and even better, a SWD interface.

SWD consists of two pins -- data and clock -- so it is very easy to plug-in an external programmer to flash the firmware in-circuit.

You can either include a connector or a series of pads in the layout for that purpose. If you use SWD only four pins are needed (three if you power the board from somewhere else): SWDIO, SWCLK, GND and VDD. Reset may or may not be necessary as well, depending on the chip.

Using circular pads in the PCB is nice for scale production: one can have needles or pogo-pins to connect the board -- and you can use those also for board testing...

Anyway, you can supply the PCBA with the firmware binaries, or you can program yourself after production for security purposes. You may supply the PCBA a test version in this case.

| improve this answer | | | | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.