I'm having some difficulty getting my head around the inner-workings of programmers and bootloaders.
I've had a bit of experience playing with microchips in the past, but always as part of a kit. I buy a kit, build the cicuits per the instructions, write my code, hit the "go" button, and the uC has my program in it. No understanding what's happening after I hit the "go" button. So far, everything I've done is using Motorola's 68HC11.
A few days ago, I decided to look into PICs. Specifically the 16F88. When I started reading about what I would need to use the chip, the concepts of bootloaders and programmers became an issue. This is where the confusion set it. The HC11 seemed to be ready to go out of the box. The extent of the programmer seemed to be nothing more then a MAX232 built into the cable that came with the kit. When I read about PICs, however, there's a lot of talk of loading a bootloader into the chip beforehand. And then the bootloader intializes the chip to accept a program.
One of the concepts I'm trying to understand now is what is the purpose of loading a new bootloader on the chip? Doesn't the PIC come with some kind of bootloader already installed? And what is the primary difference between the HC11 and a PIC when it comes to loading a program? From what I've experienced, it seems the HC11 was match easier to program. No specific "programmer" hardware necessary besides the MAX232 that converts the serial port's 12V to 5V.
All of these questions are leading me to want to build my own programmer. I've found plenty of DIY examples online, but none of them explain the purpose of the components in the circuit. I guess, ultimately, what I'm looking for is specifically what signals does the microchip expect when initiating communications through the serial port. What wakes up the chip and make it understand that data is coming. I have read through the relevent parts of the PIC's datasheet (at least the parts that I thought were relevent), but the information is written at too low of a level for me to understand - the Catch 22 that you have to understand the concept in order to understand the concept.
I have a bunch of more specific questions here, but I think they would be too much to include now. Hopefully, I'll get those cleared up later in this thread. Thank you!
-Dan
I've had a bit of experience playing with microchips in the past, but always as part of a kit. I buy a kit, build the cicuits per the instructions, write my code, hit the "go" button, and the uC has my program in it. No understanding what's happening after I hit the "go" button. So far, everything I've done is using Motorola's 68HC11.
A few days ago, I decided to look into PICs. Specifically the 16F88. When I started reading about what I would need to use the chip, the concepts of bootloaders and programmers became an issue. This is where the confusion set it. The HC11 seemed to be ready to go out of the box. The extent of the programmer seemed to be nothing more then a MAX232 built into the cable that came with the kit. When I read about PICs, however, there's a lot of talk of loading a bootloader into the chip beforehand. And then the bootloader intializes the chip to accept a program.
One of the concepts I'm trying to understand now is what is the purpose of loading a new bootloader on the chip? Doesn't the PIC come with some kind of bootloader already installed? And what is the primary difference between the HC11 and a PIC when it comes to loading a program? From what I've experienced, it seems the HC11 was match easier to program. No specific "programmer" hardware necessary besides the MAX232 that converts the serial port's 12V to 5V.
All of these questions are leading me to want to build my own programmer. I've found plenty of DIY examples online, but none of them explain the purpose of the components in the circuit. I guess, ultimately, what I'm looking for is specifically what signals does the microchip expect when initiating communications through the serial port. What wakes up the chip and make it understand that data is coming. I have read through the relevent parts of the PIC's datasheet (at least the parts that I thought were relevent), but the information is written at too low of a level for me to understand - the Catch 22 that you have to understand the concept in order to understand the concept.
I have a bunch of more specific questions here, but I think they would be too much to include now. Hopefully, I'll get those cleared up later in this thread. Thank you!
-Dan