I would describe what you do as "flashing microcontrollers", "burning microcontrollers", "downloading code into microcontrollers" or "programming code into microcontrollers".
A .hex file is a file that contains a representation of binary data in a specific format. This binary data usually represents the code that needs to run inside the device. It might also contain settings that affect the device's operation.
This binary data is the final output from the process of building (compiling, assembling, and linking) the firmware for the device, which starts with the program modules that are written by the programmer in some programming language, often C.
A
boot loader is a small piece of code which can be loaded into a microcontroller to make it simpler to download or update the main code. This is how it works.
When you receive microcontrollers from the manufacturer, they're completely blank. They won't do anything at all, and they need special equipment called
device programmers to program them, before they will do anything at all.
But you don't want to program the final, main firmware into the microcontroller yet. It's a lot better to program the main firmware into it at the last minute - after the device has been installed into a product and is ready for testing - so you can burn the latest version of the firmware, and the type of firmware that matches the product the device is installed in.
But you don't want to buy lots of device programmers so everyone in the department can program and reprogram devices. So when you receive the blank devices, you program in a small chunk of code called a
boot loader. This code is just smart enough to load a firmware image (from a hex file, for example) through some standard interface - usually a serial port, or possibly an Ethernet port - and program it into the device.
Once the boot loader has been programmed into a microcontroller, you can download main firmware (including newer firmware, test firmware, customised firmware, etc) through a serial port on the outside of the product. So you can download or update the firmware without opening up the product. All you need is a desktop or laptop computer with a serial port, and a cable to connect it to the serial port on the product.
This is very convenient for production, testing, etc because the special device programmer is only needed once in the process. Effectively, the boot loader becomes a built-in device programmer inside the microcontroller itself, so firmware can easily be programmed into the device without any special equipment. Products can even be updated in the field, and even by end users. For example, many network products such as routers can have their firmware upgraded through a pretty simple process. This relies on the boot loader inside the product, which loads the new firmware and programs it into the device like a device programmer would.
The boot loader is not normally overwritten by the main firmware. Normally it remains present so you can download new firmware using the same method.
The Bootloader is a Hex File also
The boot loader is a block of code, just like the main firmware for the product, but normally a lot smaller. It may be contained in a hex file, yes.
When you Flash the Hex File , what is in the Hex file that is being Flashed into memory?
The hex file is a representation of a binary image. It may contain code, data, or both.
A code image is a sequence of numbers which represent instructions that tell the microcontroller what to do.
For the Same MCU , you have to use different software programs to load bootloader hex files and another hex file
Yes, that's normally true. You need a device programmer, with device programming software, to program the boot loader into the device to start with. This hardware and software is normally provided by other companies; sometimes, by the manufacturer of the microcontrollers.
Once the boot loader is in there, the main firmware can be loaded through an accessible port, using software that is probably custom written by people at your company. These people probably also wrote the boot loader (but not the system that's used to program the boot loader into the device when it's completely blank).
This firmware download software works with the boot loader that is already programmed into the microcontroller, to transfer a firmware image (often contained in a .hex file) into the microcontroller and program or "burn" it into the microcontroller's program memory (called Flash ROM).
Once the main firmware has been fully loaded, the boot loader will start running the main firmware and the product will come to life.
What do u use Hyperterminal for? to test or check for what?
Hyperterminal is a program called a "terminal emulator". It communicates with a device through a serial port. Characters you type are sent to the device, and characters the device sends back are displayed on the screen. It is often used to set up operating parameters in devices, but it can also be used for debugging and other functions.
Since you obviously do this kind of work in your job, you should ask your boss or co-workers these questions. They will be able to give you much more specific and accurate answers than we can.