user28153: I have an Atmega 328 chip and want to load the Arduino boot loader to the chip. I have planned to use a SPI protocol to do this, but I have read other posts saying that they have done similar using an UART with using an FTDI chip. I have planned to use the FTDI to support USB.
I did rad some information that said that loading the boot loader through UART is very slow.
Which is best? I would like to save space, if I do not need a SPI header then I would like to remove this. Is what I have read correct?
Thanks

user-1: 
I have read other posts saying that they have done similar using an UART with using an FTDI chip.

You have probably misread something. A brand-new, blank ATmega328 can only be programmed over SPI, or via parallel programming (more pins). There is no "native" UART bootloader.
It's possible to use certain FTDI chips to bit-bang the SPI programming interface. This is probably what the posts you're reading are referring to. As the post suggests, though, this is slower than using a programmer which directly supports the SPI interface, and is only really suitable if you don't have a better programmer available.
If space is a concern, one option to consider may be to provide the ISP port as a set of test points and use pogo pins to access it during manufacturing. You can lay out the test points however you want, possibly at a finer pitch than the 100 mil header you're probably used to.
Depending on your manufacturing process, another approach may be to program the chip before mounting it to the board.

28153: <p>I have an Atmega 328 chip and want to load the Arduino boot loader to the chip. I have planned to use a SPI protocol to do this, but I have read other posts saying that they have done similar using an UART with using an FTDI chip. I have planned to use the FTDI to support USB.</p>

<p>I did rad some information that said that loading the boot loader through UART is very slow.</p>

<p>Which is best? I would like to save space, if I do not need a SPI header then I would like to remove this. Is what I have read correct?</p>

<p>Thanks</p>
 -1: <blockquote>
  <p>I have read other posts saying that they have done similar using an UART with using an FTDI chip.</p>
</blockquote>

<p>You have probably misread something. A brand-new, blank ATmega328 can only be programmed over SPI, or via parallel programming (more pins). There is no "native" UART bootloader.</p>

<p>It's possible to use certain FTDI chips to bit-bang the SPI programming interface. This is probably what the posts you're reading are referring to. As the post suggests, though, this is slower than using a programmer which directly supports the SPI interface, and is only really suitable if you don't have a better programmer available.</p>

<p>If space is a concern, one option to consider may be to provide the ISP port as a set of test points and use pogo pins to access it during manufacturing. You can lay out the test points however you want, possibly at a finer pitch than the 100 mil header you're probably used to.</p>

<p>Depending on your manufacturing process, another approach may be to program the chip before mounting it to the board.</p>
