Maker Pro
Maker Pro

Chip45 Boot2 GUI, AVR Studio 4, MPLAB IDE, WinPic800, Tinyboot loader?

Status
Not open for further replies.
What are these software programs used for Chip45 Boot2 GUI, AVR Studio 4, MPLAB IDE, WinPic800, Tinyboot loader?

I use Chip 45 Boot2 GUI version 1.12 to program a ATXmega256A3U
I use AVR stuiod 4 to program a ATXmega256A3U chip
I use MPLAB IDE v8.85 to program a PIC18F25J50
I use WinPic800 V.364 to program a PIC18F4520
I use TinyBoot Loader to program a MAX3845 USQ chip

I'm not programming the code, I'm just flashing a HEX file to them

Since I'm not programming, what am I doing so I can put on my resume? I don't want people to think i'm a programmer. If I say I programmed these chips they think im a programmer, so what can I say?

These Chips need a HEX file, why is that? and a bootloader file

Then these chips can put a firmware file ontop of a bootloader program

Why does each chip use a different software program? to load two different hex files

They all download or flash the chip either a boot loader file or HEX file

I still don't understand why each chip needs a boot loader file and a HEX file

They Use Hyperterminal software program on windows, which I don't know what is does or checks for
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
I'm not programming the code, I'm just flashing a HEX file to them

you're flashing the chips. And BTW, you're not flashing the hex file to the chip because the hex file is simply a representation of what is flashed to the chip.

As an analogy, when you fuel a car, you use a bowser. You don't call it bowsering a car. The bowser is the source if the fuel, the hex file contains a representation of the code.

Since I'm not programming, what am I doing so I can put on my resume?

Flashing microcontrollers using Chip 45, AVR studio 4, ...

These Chips need a HEX file, why is that?

Their flash memory requires some contents (the program) and there is a representation of it in the hex file.

and a bootloader file

No, they don't always need a bootloader. That just makes it easier to program the chip using simple (or no) programming hardware.

Then these chips can put a firmware file ontop of a bootloader program

No, that really doesn't make sense.

Why does each chip use a different software program? to load two different hex files

Because they're different chips with different protocols.

They all download or flash the chip either a boot loader file or HEX file

Possibly. But differently.

I still don't understand why each chip needs a boot loader file and a HEX file

that's reasonable. Because you don't actually understand what a bootloader or a hex file is.

They Use Hyperterminal software program on windows, which I don't know what is does or checks for

Who is "they"?

It is serial terminal emulation software.

I don't know what "they" use it for either. Why not ask "them"?
 
Because you don't actually understand what a bootloader or a hex file is.

Yes true, so what is the difference? why does some MCU need a bootloader and then to flash a hex file?

The Bootloader is a Hex File also?

When you Flash the Hex File , what is in the Hex file that is being Flashed into memory?

Because they're different chips with different protocols.

Protocols like what?

For the Same MCU , you have to use different software programs to load bootloader hex files and another hex file

So each MCU takes 2 or 3 hex files from different software programs

The Flash Memory in MCU need a Hex file? and a bootloader file? why both?

It is serial terminal emulation software.

What do u use Hyperterminal for? to test or check for what?
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator

Why don't you google what a bootloader is?

The Bootloader is a Hex File also?

is petrol a bowser?

WHy don't you google for methods of programming microcontrollers. Useful keywords may include in circuit programming, low voltage programming, and high voltage programming)

When you Flash the Hex File , what is in the Hex file that is being Flashed into memory?

Conceptually you are flashing the contents of the hex file.

Protocols like what?

Google "microcontroller programming protocol".

What do u use Hyperterminal for?

I don't use hyperterminal.
 

KrisBlueNZ

Sadly passed away in 2015
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.
 
Chip45 Boot2 GUI, AVR Studio 4, MPLAB IDE, WinPic800, Tinyboot loader

These are device programmers? some are bootloader device programmers and others are firmware device programmers?

It seems like a Bootloader file is the same or very close to a firmware file?

But yes at work they load the bootloader file first, then we load the firmware file after to do updates.

I use different device programmers to burn the bootloader file and firmware files, I don't understand why they don't just use one software device program.

The firmware software can't load a bootloader file into a uC? and a bootloader software program can't load a firmware file into a uC? But i have notice the programmers at my work use multiple bootloader programs and Firmware programs to load different hex files into the same uC. Using different Firmware programs must have different protocols or functions or something?
 

KrisBlueNZ

Sadly passed away in 2015
These are device programmers? some are bootloader device programmers and others are firmware device programmers?
I'm not familiar with any of those apart from MPLAB X, which is a program, not a device programmer (a device programmer is a physical piece of hardware). MPLAB X does drive several types of device programmer hardware though.
It seems like a Bootloader file is the same or very close to a firmware file
Yes. A boot loader is a type of firmware. It's not the main firmware that makes the product do its thing, but it is still firmware. That is, it is a program that is executed by the microcontroller.

The main purpose of the boot loader is to load the main firmware through the serial port, and burn it into the microcontroller, as I explained.
But yes at work they load the bootloader file first, then we load the firmware file after to do updates
Right. You burn the boot loader into the blank microcontroller using a device programmer, then you download the main firmware (or updated firmware) through the serial port. Without the boot loader in there, you couldn't download anything through the serial port at all.
I use different device programmers to burn the bootloader file and firmware files, I don't understand why they don't just use one software device program
Different manufacturers. Everyone thinks their way is best.

But there is an important difference between burning the boot loader and downloading the firmware. The communication that's used during the main firmware download is quite different from the way the device programmer works. So you would expect to use a different program for the main firmware download.
The firmware software can't load a bootloader file into a uC?
No, that doesn't make sense. When the microcontroller arrives at the factory, it's blank and it can't do anything. The only way to program it is using a device programmer. So you use the device programmer to burn the boot loader into it. From then onwards, you can download main firmware to it through the serial port.
and a bootloader software program can't load a firmware file into a uC?
Yes, that's exactly what it does. Once the boot loader is burnt into the microcontroller, you can download the main firmware file through the serial port. The boot loader runs inside the microcontroller and watches for data coming in the serial port. It receives the main firmware through the serial port and burns it into the microcontroller.
But i have notice the programmers at my work use multiple bootloader programs and Firmware programs to load different hex files into the same uC. Using different Firmware programs must have different protocols or functions or something?
I don't know how they do it at your work. That's why I suggested that you ask them.
 
So a bootloader is C++ code and firmware is C++ code?

The Bootloader gets loaded/burned by a serial connect, but you're saying that the bootloader does the handshaking or loads the serial data functions into a blank uC?

The firmware hex file doesn't have the serial codes, it has the C++ program of what the actual application program.

Is the Bootloader like the operating system? like windows 8 and the firmware is like the application software?

The Bootloader must tell the uC which uC inputs/outputs pins or ports are assigned to

The bootloader is what "Runs" the firmware application software?

The Firmware is just the application software, it can't "run" without the bootloader?
 

KrisBlueNZ

Sadly passed away in 2015
So a bootloader is C++ code and firmware is C++ code?
No. I didn't mention C++ at all. The boot loader may be written in C, but most likely written in assembler because it should be as small as possible. The main firmware could be written in any language really. C and C++ are often used.
The Bootloader gets loaded/burned by a serial connect, but you're saying that the bootloader does the handshaking or loads the serial data functions into a blank uC
Please, READ my previous posts. The boot loader does NOT get loaded through a serial connection. It is burnt using the device programmer. No, the boot loader does not load data into a blank microcontroller. The boot loader runs inside the microcontroller. Therefore the microcontroller is not blank when the boot loader is present.

1. Microcontroller is blank when it arrives at your factory.

2. Blank microcontroller can only be programmed using a device programmer.

3. You use a device programmer to burn the boot loader into the microcontroller.

4. The boot loader can now run inside the microcontroller.

5. The boot loader can also burn code into parts of the microcontroller.

6. You run a downloader program on a PC that connects through a serial port.

7. Your downloader program "talks to" the boot loader that's running in the microcontroller.

8. Your downloader program sends the main firmware image to the boot loader, over the serial connection.

9. The boot loader burns the main firmware into the microcontroller.

10. The main firmware is now in the microcontroller, so the product can do its thing.

11. The boot loader is still in the microcontroller (along with the main firmware).

12. Therefore you can download updated firmware through the serial port.

That is the third time I have explained this to you, clearly, and step-by-step. It is not rocket science.
The firmware hex file doesn't have the serial codes, it has the C++ program of what the actual application program.
What do you mean "serial codes"?
Is the Bootloader like the operating system? like windows 8 and the firmware is like the application software?
Sort of. The boot loader is small and very simple, unlike Windows! But in some ways it may act like an operating system.
The Bootloader must tell the uC which uC inputs/outputs pins or ports are assigned to
Not usually, no. The main purpose of the boot loader is to allow you to download the main firmware over a serial connection, so you don't need a device programer, and you don't need to open up the case.
The bootloader is what "Runs" the firmware application software?
Sometimes.
The Firmware is just the application software, it can't "run" without the bootloader?
Sometimes.

This is the third time I'm telling you: ASK THE PEOPLE AT YOUR WORK. They should be happy to explain all of this to you, and they will know much more details about their system.
 
ok Thanks for your time and info, you can lock this thread up

The device programs that i use at my work plug into "header pins" on the PCB board, they must only be loading bootloader files and not firmware files.

I thought when we plugged the device programmer hardware into the "header pins" on the PCB board it was loading firmware files

I have another thread to start up about solenoid engage voltages and disengage voltage time, I'm having a problem with
 
Status
Not open for further replies.
Top