I have started reading about ways of PIC programming just a short while ago but I think I am a little lost. Now the way I see it, there is something called in-circuit programming. So if I am interested in sending the PICs new programs WHILE THEY ARE ALREADY PLACED IN THEIR EMBEDDED SYSTEM, I can send the new hex file serially by controlling the RB6, RB7, and master clear pins? How do I do that or how do I control the sequence of voltages on these pins because I read a tutorial and it said that when the PIC is being programmed, the master clear is set to low and then quickly to 12 volts and so on. How do I manage that sequence? And when do I need a boot loader?! Do I need it for in-circuit programming or for just programming the PIC in a certain circuit without a programmer and then placing the PIC in its circuit? I know these are lots of questions but I got really confused and I would appreciate your help.