2 responding to comments
source | link

Difference between "programming" and "configuring" -- don't read too much into these inexact marketing terms. "Programming" tends to imply some kind of control language, while "configuring" implies setting initial values to enable features or set threshold values. But there is no standard meaning of these two terms. (Or rather, the word "programming" is overloaded with different definitions in different contexts.) You have to read the IC manufacturer's datasheets for each one, to determine exactly how to program/configure the device.

"Why can't we follow a common protocol" -- I don't understand what you mean by "follow a common protocol." ICs have been designed at great expense to solve customer problems over many decades, by many different companies. There's not some single master plan that all IC manufacturers have been following since earliest times. Each IC is defined by itself with the intention of solving some market problem. In some cases, an IC might be aimed at the general purpose market, but a lot of ICs are designed with specific customer input.

It's not just a distinction between "programming to contain a sequence of instructions" and "configuring at runtime with a set of initial values", there are other possible ways to modify IC behavior. There can be One-Time-Programmable (OTP) features programmed by blowing fuses inside the chip. There can be metal-mask options determined during IC fabrication. Some ICs (such as FTDIchip.com FT232) actively read configuration information from another chip. There is no "common protocol", and no single standard way to set up the behavior of an IC -- that is part of the reason why each IC has a datasheet.

"Can you provide an example or an analogy with some IC" -- Analogy? I'm not really sure what kind of example of some IC you're looking for. I would not expect any kind of MCU look anything like a deserializer. There's really not a general answer to how to configure random ICs, you have to look at the IC datasheet. A lot of the ICs that I support use the SPI interface for register configuration, and even there I see a lot of variation.

Maybe things could be clearer if you would edit your initial question with links to the specific datasheets or part numbers that you are asking about? I'm not sure even which MCU family you might be talking about, ARM or 8051 or AVR or PIC or powerPC?? Without knowing exactly what specific manufacturer/part numbers you're looking at, it's hard to get anything but a vague, general answer.

Difference between "programming" and "configuring" -- don't read too much into these inexact marketing terms. "Programming" tends to imply some kind of control language, while "configuring" implies setting initial values to enable features or set threshold values. But there is no standard meaning of these two terms. (Or rather, the word "programming" is overloaded with different definitions in different contexts.) You have to read the IC manufacturer's datasheets for each one, to determine exactly how to program/configure the device.

Difference between "programming" and "configuring" -- don't read too much into these inexact marketing terms. "Programming" tends to imply some kind of control language, while "configuring" implies setting initial values to enable features or set threshold values. But there is no standard meaning of these two terms. (Or rather, the word "programming" is overloaded with different definitions in different contexts.) You have to read the IC manufacturer's datasheets for each one, to determine exactly how to program/configure the device.

"Why can't we follow a common protocol" -- I don't understand what you mean by "follow a common protocol." ICs have been designed at great expense to solve customer problems over many decades, by many different companies. There's not some single master plan that all IC manufacturers have been following since earliest times. Each IC is defined by itself with the intention of solving some market problem. In some cases, an IC might be aimed at the general purpose market, but a lot of ICs are designed with specific customer input.

It's not just a distinction between "programming to contain a sequence of instructions" and "configuring at runtime with a set of initial values", there are other possible ways to modify IC behavior. There can be One-Time-Programmable (OTP) features programmed by blowing fuses inside the chip. There can be metal-mask options determined during IC fabrication. Some ICs (such as FTDIchip.com FT232) actively read configuration information from another chip. There is no "common protocol", and no single standard way to set up the behavior of an IC -- that is part of the reason why each IC has a datasheet.

"Can you provide an example or an analogy with some IC" -- Analogy? I'm not really sure what kind of example of some IC you're looking for. I would not expect any kind of MCU look anything like a deserializer. There's really not a general answer to how to configure random ICs, you have to look at the IC datasheet. A lot of the ICs that I support use the SPI interface for register configuration, and even there I see a lot of variation.

Maybe things could be clearer if you would edit your initial question with links to the specific datasheets or part numbers that you are asking about? I'm not sure even which MCU family you might be talking about, ARM or 8051 or AVR or PIC or powerPC?? Without knowing exactly what specific manufacturer/part numbers you're looking at, it's hard to get anything but a vague, general answer.

1
source | link

Difference between "programming" and "configuring" -- don't read too much into these inexact marketing terms. "Programming" tends to imply some kind of control language, while "configuring" implies setting initial values to enable features or set threshold values. But there is no standard meaning of these two terms. (Or rather, the word "programming" is overloaded with different definitions in different contexts.) You have to read the IC manufacturer's datasheets for each one, to determine exactly how to program/configure the device.