Skip to main content
Copy edited (e.g. ref. <https://en.wikipedia.org/wiki/ARM_Cortex-M>, <https://en.wikipedia.org/wiki/Atmel_ARM-based_processors#SAM_D>) - but more work is needed near "but not the factor" and "A soft solution in some cases". Added some context.
Source Link

It is not the cost of the programmer. TheThe sales do not come from hobbyists,hobbyists; it is a factor but not the factor, folks that buy in volume can certainly afford programmers. YouYou have a few choices:

  1. haveHave the parts pre-programmed either by the parts supplier or a middle man or your manufacturing house, then placed on the board

  2. someSome sort of in circuit programming after being placed on the board

Within the second category you have the hard logic solutions (the spiSPI or spiSPI-ish thing on avrsAVR chips) and the soft solutions (a bootloader, a program running in the part using the part). SomeSome have both.

The hard solution you have to get right, if you goof the design, you have to catch it early enough or youyour product is a bunch of useless parts you have to trash. Software solutions youYou can change software solutions even so far as post silicon,silicon; you can even take stock and run it through and re-program it. SoSo there is that luxury if a bug in your product being easier to fix and/or create. The soft solution may also allow for a wider variety of options for the user. spiSPI AND i2cI²C AND usbUSB AND serial AND whatever hardware solution if any. AA soft solution in some cases the user can replace the bootloader with their own for their own reasons.

Not every microcontroller can have software that can program its own flash, but for any that do the user can make their own bootloader independent of the chip vendor supplied one if there is a chip vendor supplied one.

With the cortex-mARM Cortex-M and swdSWD I am seeing things change,change; some chips are swdSWD only, and no other from the factory option. JustI just got an atmel samd21,Atmel SAM D21; they no longer have the sam-baSAM-BA bootloader, and they provide source so you can add your own at the beginning of the user flash, and some registers to sortasort of protect it, but it is trivial to erase. soSo much for that,that; you might as well just make your own or use swdSWD.

Look at the arduinoArduino/avrAVR world, the hobbyists. theyThey have their own bootloader and that is the primary interface since it comes for free. youYou can get an ispISP programmer for a few (or few dozen) bucks. ButBut notice how there are a number of other avrAVR boards going with usb basedUSB-based protocols instead of the up to that point popular bootloaders. someSome of these usbUSB protocols are being used cross vendor.

atAt the end of the day, if your customers want it and/or your marketing department can use it to distinguish our product from theirs, and it doesntdoesn't cut into the cost of the product or profit. WhyWhy not. win? Win-win.

thereThere is no one nor right answer to this question,question; it is all opinion based, you. You can contact each of the chip vendors and ask them, but the folks answering are going to give their opinion, they likely dontdon't even know or everyever have talked to the folks that added that feature or maintain it. thereThere is no answer to this question.

It is not the cost of the programmer. The sales do not come from hobbyists, it is a factor but not the factor, folks that buy in volume can certainly afford programmers. You have a few choices

  1. have the parts pre-programmed either by the parts supplier or a middle man or your manufacturing house, then placed on the board

  2. some sort of in circuit programming after being placed on the board

Within the second category you have the hard logic solutions (the spi or spi-ish thing on avrs) and the soft solutions (a bootloader, a program running in the part using the part). Some have both.

The hard solution you have to get right, if you goof the design, you have to catch it early enough or you product a bunch of useless parts you have to trash. Software solutions you can change even so far as post silicon, you can even take stock and run it through and re-program it. So there is that luxury if a bug in your product being easier to fix and/or create. The soft solution may also allow for a wider variety of options for the user. spi AND i2c AND usb AND serial AND whatever hardware solution if any. A soft solution in some cases the user can replace the bootloader with their own for their own reasons.

Not every microcontroller can have software that can program its own flash, but any that do the user can make their own bootloader independent of the chip vendor supplied one if there is a chip vendor supplied one.

With the cortex-m and swd I am seeing things change, some chips are swd only, no other from the factory option. Just got an atmel samd21, they no longer have the sam-ba bootloader, they provide source so you can add your own at the beginning of the user flash, and some registers to sorta protect it but it is trivial to erase. so much for that, might as well just make your own or use swd.

Look at the arduino/avr world, the hobbyists. they have their own bootloader and that is the primary interface since it comes for free. you can get an isp programmer for a few (or few dozen) bucks. But notice how there are a number of other avr boards going with usb based protocols instead of the up to that point popular bootloaders. some of these usb protocols are being used cross vendor.

at the end of the day, if your customers want it and/or your marketing department can use it to distinguish our product from theirs, and it doesnt cut into the cost of the product or profit. Why not. win-win.

there is no one nor right answer to this question, it is all opinion based, you can contact each of the chip vendors and ask them, but the folks answering are going to give their opinion, they likely dont even know or every have talked to the folks that added that feature or maintain it. there is no answer to this question.

It is not the cost of the programmer. The sales do not come from hobbyists; it is a factor but not the factor, folks that buy in volume can certainly afford programmers. You have a few choices:

  1. Have the parts pre-programmed either by the parts supplier or a middle man or your manufacturing house, then placed on the board

  2. Some sort of in circuit programming after being placed on the board

Within the second category you have the hard logic solutions (the SPI or SPI-ish thing on AVR chips) and the soft solutions (a bootloader, a program running in the part using the part). Some have both.

The hard solution you have to get right, if you goof the design, you have to catch it early enough or your product is a bunch of useless parts you have to trash. You can change software solutions even so far as post silicon; you can even take stock and run it through and re-program it. So there is that luxury if a bug in your product being easier to fix and/or create. The soft solution may also allow for a wider variety of options for the user. SPI AND I²C AND USB AND serial AND whatever hardware solution if any. A soft solution in some cases the user can replace the bootloader with their own for their own reasons.

Not every microcontroller can have software that can program its own flash, but for any that do the user can make their own bootloader independent of the chip vendor supplied one if there is a chip vendor supplied one.

With the ARM Cortex-M and SWD I am seeing things change; some chips are SWD only, and no other from the factory option. I just got an Atmel SAM D21; they no longer have the SAM-BA bootloader and they provide source so you can add your own at the beginning of the user flash, and some registers to sort of protect it, but it is trivial to erase. So much for that; you might as well just make your own or use SWD.

Look at the Arduino/AVR world, the hobbyists. They have their own bootloader and that is the primary interface since it comes for free. You can get an ISP programmer for a few (or few dozen) bucks. But notice how there are a number of other AVR boards going with USB-based protocols instead of the up to that point popular bootloaders. Some of these USB protocols are being used cross vendor.

At the end of the day, if your customers want it and/or your marketing department can use it to distinguish our product from theirs, and it doesn't cut into the cost of the product or profit. Why not? Win-win.

There is no one nor right answer to this question; it is all opinion based. You can contact each of the chip vendors and ask them, but the folks answering are going to give their opinion, they likely don't even know or ever have talked to the folks that added that feature or maintain it. There is no answer to this question.

Source Link
old_timer
  • 8.3k
  • 25
  • 33

It is not the cost of the programmer. The sales do not come from hobbyists, it is a factor but not the factor, folks that buy in volume can certainly afford programmers. You have a few choices

  1. have the parts pre-programmed either by the parts supplier or a middle man or your manufacturing house, then placed on the board

  2. some sort of in circuit programming after being placed on the board

Within the second category you have the hard logic solutions (the spi or spi-ish thing on avrs) and the soft solutions (a bootloader, a program running in the part using the part). Some have both.

The hard solution you have to get right, if you goof the design, you have to catch it early enough or you product a bunch of useless parts you have to trash. Software solutions you can change even so far as post silicon, you can even take stock and run it through and re-program it. So there is that luxury if a bug in your product being easier to fix and/or create. The soft solution may also allow for a wider variety of options for the user. spi AND i2c AND usb AND serial AND whatever hardware solution if any. A soft solution in some cases the user can replace the bootloader with their own for their own reasons.

Not every microcontroller can have software that can program its own flash, but any that do the user can make their own bootloader independent of the chip vendor supplied one if there is a chip vendor supplied one.

With the cortex-m and swd I am seeing things change, some chips are swd only, no other from the factory option. Just got an atmel samd21, they no longer have the sam-ba bootloader, they provide source so you can add your own at the beginning of the user flash, and some registers to sorta protect it but it is trivial to erase. so much for that, might as well just make your own or use swd.

Look at the arduino/avr world, the hobbyists. they have their own bootloader and that is the primary interface since it comes for free. you can get an isp programmer for a few (or few dozen) bucks. But notice how there are a number of other avr boards going with usb based protocols instead of the up to that point popular bootloaders. some of these usb protocols are being used cross vendor.

at the end of the day, if your customers want it and/or your marketing department can use it to distinguish our product from theirs, and it doesnt cut into the cost of the product or profit. Why not. win-win.

there is no one nor right answer to this question, it is all opinion based, you can contact each of the chip vendors and ask them, but the folks answering are going to give their opinion, they likely dont even know or every have talked to the folks that added that feature or maintain it. there is no answer to this question.