arduino hex files burned directly to atmega8

i want to use arduino for realizing smaller projects without the arduino board. (this was discussed in some other thread. taking the atmega8 from arduinoboard to target circuit etc.).
now i am asking myself if it is neccessary to take the atmega8 from the arduino board.
is it possible to use arduino for prototyping and later taking the hex files which it has produced and burning them with a avr isp via avrstudio directly to the target device (a blank atmega8 without bootloader in the target circuit)?
or das the hex file from arduino somehow need the bootloader or something like this?

If you have an avr-isp, you don’t need the Arduino board at all. You can simply burn the hex file straight to the ATmega8 in your circuit. You can use avrstudio, or (if you have an old avr-isp, i.e. not a MK II) you can do it straight from the Arduino environment, see:

(if you have an old avr-isp, i.e. not a MK II)

what is the difference?
it’s a serial isp programmer.

and one more noob question ::slight_smile:
when i burn the hex-file in system with the isp, where does the atmega knows that it is being to be programmed? and where does it know when to begin with the normal operation?
does it need some switch oder reset button or something like that?

edit: i just tested :slight_smile: works. with connected isp. but the question remains: why does the atmega8 knows that it is to be programmed? (i guess it’s not right to post the question here, i’m sure i can find it in some isp documentation on the atmel website, but maybe someone knows and wants to tell me in n00b-compatible language :slight_smile: )

noob answer from a noob. the atmega8 (arduino version) has a bootloader in its flash memory which takes up about 1kbyte. after you turn power on (or push the reset button), the bootloader waits few seconds till it starts with its embedded programm. if somehow, the atmel receives some data through RXD (pin 2), it reprograms its flash memory with incoming data. that could be critical if you have some other boards which constantly sends data via TX to your RX. in this case, you should consider to burn your atmega without the bootloader:

or this thread:

of course, you will then need a stk500 or avrISP which resets the chip automatically before passing data to memory.