Programming of ICs in general (MCU / FPGA / Serdes IC) [closed]Functional Programming with MCU(s)FPGA programming, where to beginIn-System Programming of FPGA by MCUWhere to put Bootloader Key in Ram, what address is the last ram address?Programming a W78E52B MCUProgramming Atmel SAM MCU using SAM-BABegin programming using audio signalsMCU programming - C++ O2 optimization breaks while loopFPGA - DIY ProgrammingHow to program STM32f411RE chip?

How can I reorder triggered abilities in Arena?

Is first Ubuntu user root?

Are the players on the same team as the DM?

Do Bayesian credible intervals treat the estimated parameter as a random variable?

Why does Windows store Wi-Fi passwords in a reversible format?

Architectural feasibility of a tiered circular stone keep

Add 2 new columns to existing dataframe using apply

Changing JPEG to RAW to use on Lightroom?

“T” in subscript in formulas

Billiard balls collision

How many lines of code does the original TeX contain?

Why is there a difference between predicting on Validation set and Test set?

Ghidra: Prepend memory segment in assembly listing view

about to retire but not retired yet, employed but not working any more

Joining lists with same elements

How many birds in the bush?

Can you cast bonus action and reaction spells while already casting a spell?

What is the loud noise of a helicopter when the rotors are not yet moving?

Removal of て in Japanese novels

Papers on arXiv solving the same problem at the same time

Server Integrity Check CheckCommands question

Why did Khan ask Admiral James T. Kirk about Project Genesis?

What are the occurences of total war in the Native Americans?

Discussing work with supervisor in an invited dinner with his family



Programming of ICs in general (MCU / FPGA / Serdes IC) [closed]


Functional Programming with MCU(s)FPGA programming, where to beginIn-System Programming of FPGA by MCUWhere to put Bootloader Key in Ram, what address is the last ram address?Programming a W78E52B MCUProgramming Atmel SAM MCU using SAM-BABegin programming using audio signalsMCU programming - C++ O2 optimization breaks while loopFPGA - DIY ProgrammingHow to program STM32f411RE chip?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3












$begingroup$


I have a general basic question. Most of the Integrated circuits (apart from power IC) that are used in applications (Data transmission/communication IC) require some sort of programming or configuration.



In MCU, I see that we are programming the IC through JTAG lines provided. Where as, in one Deserializer IC, there are no lines/pins provided in the IC for programming. Upon researching, I found out that Deserializer or some other ICs do not require programming but they require configuration. Configuration, in the sense of configuring of registers. Can someone help me understand the difference between the programming and configuration methods? Why do we program an MCU but not a deserializer? What is the benefit/purpose of those register settings? Why don't we program the deserializer itself instead of configuring its registers?



It would be great if someone could break the answer in easier terms for clarity.










share|improve this question











$endgroup$




closed as too broad by Chris Stratton, RoyC, Dmitry Grigoryev, Brian Carlton, Eugene Sh. Aug 15 at 14:15


Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

























    3












    $begingroup$


    I have a general basic question. Most of the Integrated circuits (apart from power IC) that are used in applications (Data transmission/communication IC) require some sort of programming or configuration.



    In MCU, I see that we are programming the IC through JTAG lines provided. Where as, in one Deserializer IC, there are no lines/pins provided in the IC for programming. Upon researching, I found out that Deserializer or some other ICs do not require programming but they require configuration. Configuration, in the sense of configuring of registers. Can someone help me understand the difference between the programming and configuration methods? Why do we program an MCU but not a deserializer? What is the benefit/purpose of those register settings? Why don't we program the deserializer itself instead of configuring its registers?



    It would be great if someone could break the answer in easier terms for clarity.










    share|improve this question











    $endgroup$




    closed as too broad by Chris Stratton, RoyC, Dmitry Grigoryev, Brian Carlton, Eugene Sh. Aug 15 at 14:15


    Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.





















      3












      3








      3





      $begingroup$


      I have a general basic question. Most of the Integrated circuits (apart from power IC) that are used in applications (Data transmission/communication IC) require some sort of programming or configuration.



      In MCU, I see that we are programming the IC through JTAG lines provided. Where as, in one Deserializer IC, there are no lines/pins provided in the IC for programming. Upon researching, I found out that Deserializer or some other ICs do not require programming but they require configuration. Configuration, in the sense of configuring of registers. Can someone help me understand the difference between the programming and configuration methods? Why do we program an MCU but not a deserializer? What is the benefit/purpose of those register settings? Why don't we program the deserializer itself instead of configuring its registers?



      It would be great if someone could break the answer in easier terms for clarity.










      share|improve this question











      $endgroup$




      I have a general basic question. Most of the Integrated circuits (apart from power IC) that are used in applications (Data transmission/communication IC) require some sort of programming or configuration.



      In MCU, I see that we are programming the IC through JTAG lines provided. Where as, in one Deserializer IC, there are no lines/pins provided in the IC for programming. Upon researching, I found out that Deserializer or some other ICs do not require programming but they require configuration. Configuration, in the sense of configuring of registers. Can someone help me understand the difference between the programming and configuration methods? Why do we program an MCU but not a deserializer? What is the benefit/purpose of those register settings? Why don't we program the deserializer itself instead of configuring its registers?



      It would be great if someone could break the answer in easier terms for clarity.







      microcontroller programming






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Aug 14 at 5:42









      vaxquis

      1,03511 silver badges21 bronze badges




      1,03511 silver badges21 bronze badges










      asked Aug 13 at 6:33









      NewbieNewbie

      1077 bronze badges




      1077 bronze badges





      closed as too broad by Chris Stratton, RoyC, Dmitry Grigoryev, Brian Carlton, Eugene Sh. Aug 15 at 14:15


      Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.











      closed as too broad by Chris Stratton, RoyC, Dmitry Grigoryev, Brian Carlton, Eugene Sh. Aug 15 at 14:15


      Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.









      closed as too broad by Chris Stratton, RoyC, Dmitry Grigoryev, Brian Carlton, Eugene Sh. Aug 15 at 14:15


      Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.






















          3 Answers
          3






          active

          oldest

          votes


















          6













          $begingroup$

          The meaning of ‘program’ depends on context.



          In one use, the terms ‘configure’ and ‘program’ are often interchangeable, to mean device set-up. That is, we load values into device registers to prepare it for use. So we might say ‘program the baud rate generator to be 9600 baud’ and the meaning is still clear from context. We could also say ‘set up’, ‘load’, ‘configure’ with the exact same meaning. Later, we may manipulate these registers while we’re using the device, under control of a piece of software, usually a device driver.



          Which brings me to another meaning of ‘program’: the act of loading instructions - code - into a computer to be run later. Here, we might also say ‘download’ or ‘reflash’. The loaded instructions are then executed by the computer.



          We call those instructions software, firmware, or microcode... which is also called a ‘program’, meaning a collection of instructions that direct a computer to perform operations. Synonymous with ‘code’.



          And where does that code come from? Why, from a person who ‘programs’, that is, does the task of software development.






          share|improve this answer











          $endgroup$






















            5













            $begingroup$

            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.






            share|improve this answer











            $endgroup$














            • $begingroup$
              thank you. but why do we program or provide control language for some ICs. but set initial values for other ICs? why can't we follow a common protocol
              $endgroup$
              – Newbie
              Aug 13 at 7:00










            • $begingroup$
              can you provide an example or an analogy with some IC
              $endgroup$
              – Newbie
              Aug 13 at 7:01






            • 2




              $begingroup$
              Who is “we”? There are thousands of IC companies, each doing their own thing. Some follow standards, but the problem with standards is that their are so many to choose from!
              $endgroup$
              – hotpaw2
              Aug 13 at 9:00











            • $begingroup$
              I think what OP is asking is why some ICs (e.g. accelerometers, deserializer etc.) are configured/programmed by writing to registers over a protocol like I²C while microcontrollers are usually programmed over JTAG.
              $endgroup$
              – Michael
              Aug 13 at 20:15


















            3













            $begingroup$

            Originally, none of the ICs (before LSI) were configurable or programmable. Early computers and communication system were configured by hard wiring, circuit board layout, wiring patch panels (often done by women with the job title “computer”), or by manually entering a boot program via front panel switches (or punched paper tape, etc.). Some computer systems had vast amounts of front panel switches for configuration. Then came PROMs and PLAs(PALS), etc. that were “programmed” by applying high voltages to blow internal fuses to configure their logic and memories. When microprocessors were booted-up, they would then configure the other subsystems or peripheral ICs by writing to their control registers in code.



            At higher levels of integration these methods were often combined: a system might be configured by programming internal memories with instructions (code, software) that a processor would then use to configure other functional blocks on the chip (including other processors, which would then configure yet more subsystems, etc.)






            share|improve this answer











            $endgroup$























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              6













              $begingroup$

              The meaning of ‘program’ depends on context.



              In one use, the terms ‘configure’ and ‘program’ are often interchangeable, to mean device set-up. That is, we load values into device registers to prepare it for use. So we might say ‘program the baud rate generator to be 9600 baud’ and the meaning is still clear from context. We could also say ‘set up’, ‘load’, ‘configure’ with the exact same meaning. Later, we may manipulate these registers while we’re using the device, under control of a piece of software, usually a device driver.



              Which brings me to another meaning of ‘program’: the act of loading instructions - code - into a computer to be run later. Here, we might also say ‘download’ or ‘reflash’. The loaded instructions are then executed by the computer.



              We call those instructions software, firmware, or microcode... which is also called a ‘program’, meaning a collection of instructions that direct a computer to perform operations. Synonymous with ‘code’.



              And where does that code come from? Why, from a person who ‘programs’, that is, does the task of software development.






              share|improve this answer











              $endgroup$



















                6













                $begingroup$

                The meaning of ‘program’ depends on context.



                In one use, the terms ‘configure’ and ‘program’ are often interchangeable, to mean device set-up. That is, we load values into device registers to prepare it for use. So we might say ‘program the baud rate generator to be 9600 baud’ and the meaning is still clear from context. We could also say ‘set up’, ‘load’, ‘configure’ with the exact same meaning. Later, we may manipulate these registers while we’re using the device, under control of a piece of software, usually a device driver.



                Which brings me to another meaning of ‘program’: the act of loading instructions - code - into a computer to be run later. Here, we might also say ‘download’ or ‘reflash’. The loaded instructions are then executed by the computer.



                We call those instructions software, firmware, or microcode... which is also called a ‘program’, meaning a collection of instructions that direct a computer to perform operations. Synonymous with ‘code’.



                And where does that code come from? Why, from a person who ‘programs’, that is, does the task of software development.






                share|improve this answer











                $endgroup$

















                  6














                  6










                  6







                  $begingroup$

                  The meaning of ‘program’ depends on context.



                  In one use, the terms ‘configure’ and ‘program’ are often interchangeable, to mean device set-up. That is, we load values into device registers to prepare it for use. So we might say ‘program the baud rate generator to be 9600 baud’ and the meaning is still clear from context. We could also say ‘set up’, ‘load’, ‘configure’ with the exact same meaning. Later, we may manipulate these registers while we’re using the device, under control of a piece of software, usually a device driver.



                  Which brings me to another meaning of ‘program’: the act of loading instructions - code - into a computer to be run later. Here, we might also say ‘download’ or ‘reflash’. The loaded instructions are then executed by the computer.



                  We call those instructions software, firmware, or microcode... which is also called a ‘program’, meaning a collection of instructions that direct a computer to perform operations. Synonymous with ‘code’.



                  And where does that code come from? Why, from a person who ‘programs’, that is, does the task of software development.






                  share|improve this answer











                  $endgroup$



                  The meaning of ‘program’ depends on context.



                  In one use, the terms ‘configure’ and ‘program’ are often interchangeable, to mean device set-up. That is, we load values into device registers to prepare it for use. So we might say ‘program the baud rate generator to be 9600 baud’ and the meaning is still clear from context. We could also say ‘set up’, ‘load’, ‘configure’ with the exact same meaning. Later, we may manipulate these registers while we’re using the device, under control of a piece of software, usually a device driver.



                  Which brings me to another meaning of ‘program’: the act of loading instructions - code - into a computer to be run later. Here, we might also say ‘download’ or ‘reflash’. The loaded instructions are then executed by the computer.



                  We call those instructions software, firmware, or microcode... which is also called a ‘program’, meaning a collection of instructions that direct a computer to perform operations. Synonymous with ‘code’.



                  And where does that code come from? Why, from a person who ‘programs’, that is, does the task of software development.







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Aug 13 at 8:12

























                  answered Aug 13 at 7:15









                  hacktasticalhacktastical

                  4,7715 silver badges21 bronze badges




                  4,7715 silver badges21 bronze badges


























                      5













                      $begingroup$

                      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.






                      share|improve this answer











                      $endgroup$














                      • $begingroup$
                        thank you. but why do we program or provide control language for some ICs. but set initial values for other ICs? why can't we follow a common protocol
                        $endgroup$
                        – Newbie
                        Aug 13 at 7:00










                      • $begingroup$
                        can you provide an example or an analogy with some IC
                        $endgroup$
                        – Newbie
                        Aug 13 at 7:01






                      • 2




                        $begingroup$
                        Who is “we”? There are thousands of IC companies, each doing their own thing. Some follow standards, but the problem with standards is that their are so many to choose from!
                        $endgroup$
                        – hotpaw2
                        Aug 13 at 9:00











                      • $begingroup$
                        I think what OP is asking is why some ICs (e.g. accelerometers, deserializer etc.) are configured/programmed by writing to registers over a protocol like I²C while microcontrollers are usually programmed over JTAG.
                        $endgroup$
                        – Michael
                        Aug 13 at 20:15















                      5













                      $begingroup$

                      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.






                      share|improve this answer











                      $endgroup$














                      • $begingroup$
                        thank you. but why do we program or provide control language for some ICs. but set initial values for other ICs? why can't we follow a common protocol
                        $endgroup$
                        – Newbie
                        Aug 13 at 7:00










                      • $begingroup$
                        can you provide an example or an analogy with some IC
                        $endgroup$
                        – Newbie
                        Aug 13 at 7:01






                      • 2




                        $begingroup$
                        Who is “we”? There are thousands of IC companies, each doing their own thing. Some follow standards, but the problem with standards is that their are so many to choose from!
                        $endgroup$
                        – hotpaw2
                        Aug 13 at 9:00











                      • $begingroup$
                        I think what OP is asking is why some ICs (e.g. accelerometers, deserializer etc.) are configured/programmed by writing to registers over a protocol like I²C while microcontrollers are usually programmed over JTAG.
                        $endgroup$
                        – Michael
                        Aug 13 at 20:15













                      5














                      5










                      5







                      $begingroup$

                      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.






                      share|improve this answer











                      $endgroup$



                      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.







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited Aug 13 at 8:12

























                      answered Aug 13 at 6:56









                      MarkUMarkU

                      7,2291 gold badge12 silver badges23 bronze badges




                      7,2291 gold badge12 silver badges23 bronze badges














                      • $begingroup$
                        thank you. but why do we program or provide control language for some ICs. but set initial values for other ICs? why can't we follow a common protocol
                        $endgroup$
                        – Newbie
                        Aug 13 at 7:00










                      • $begingroup$
                        can you provide an example or an analogy with some IC
                        $endgroup$
                        – Newbie
                        Aug 13 at 7:01






                      • 2




                        $begingroup$
                        Who is “we”? There are thousands of IC companies, each doing their own thing. Some follow standards, but the problem with standards is that their are so many to choose from!
                        $endgroup$
                        – hotpaw2
                        Aug 13 at 9:00











                      • $begingroup$
                        I think what OP is asking is why some ICs (e.g. accelerometers, deserializer etc.) are configured/programmed by writing to registers over a protocol like I²C while microcontrollers are usually programmed over JTAG.
                        $endgroup$
                        – Michael
                        Aug 13 at 20:15
















                      • $begingroup$
                        thank you. but why do we program or provide control language for some ICs. but set initial values for other ICs? why can't we follow a common protocol
                        $endgroup$
                        – Newbie
                        Aug 13 at 7:00










                      • $begingroup$
                        can you provide an example or an analogy with some IC
                        $endgroup$
                        – Newbie
                        Aug 13 at 7:01






                      • 2




                        $begingroup$
                        Who is “we”? There are thousands of IC companies, each doing their own thing. Some follow standards, but the problem with standards is that their are so many to choose from!
                        $endgroup$
                        – hotpaw2
                        Aug 13 at 9:00











                      • $begingroup$
                        I think what OP is asking is why some ICs (e.g. accelerometers, deserializer etc.) are configured/programmed by writing to registers over a protocol like I²C while microcontrollers are usually programmed over JTAG.
                        $endgroup$
                        – Michael
                        Aug 13 at 20:15















                      $begingroup$
                      thank you. but why do we program or provide control language for some ICs. but set initial values for other ICs? why can't we follow a common protocol
                      $endgroup$
                      – Newbie
                      Aug 13 at 7:00




                      $begingroup$
                      thank you. but why do we program or provide control language for some ICs. but set initial values for other ICs? why can't we follow a common protocol
                      $endgroup$
                      – Newbie
                      Aug 13 at 7:00












                      $begingroup$
                      can you provide an example or an analogy with some IC
                      $endgroup$
                      – Newbie
                      Aug 13 at 7:01




                      $begingroup$
                      can you provide an example or an analogy with some IC
                      $endgroup$
                      – Newbie
                      Aug 13 at 7:01




                      2




                      2




                      $begingroup$
                      Who is “we”? There are thousands of IC companies, each doing their own thing. Some follow standards, but the problem with standards is that their are so many to choose from!
                      $endgroup$
                      – hotpaw2
                      Aug 13 at 9:00





                      $begingroup$
                      Who is “we”? There are thousands of IC companies, each doing their own thing. Some follow standards, but the problem with standards is that their are so many to choose from!
                      $endgroup$
                      – hotpaw2
                      Aug 13 at 9:00













                      $begingroup$
                      I think what OP is asking is why some ICs (e.g. accelerometers, deserializer etc.) are configured/programmed by writing to registers over a protocol like I²C while microcontrollers are usually programmed over JTAG.
                      $endgroup$
                      – Michael
                      Aug 13 at 20:15




                      $begingroup$
                      I think what OP is asking is why some ICs (e.g. accelerometers, deserializer etc.) are configured/programmed by writing to registers over a protocol like I²C while microcontrollers are usually programmed over JTAG.
                      $endgroup$
                      – Michael
                      Aug 13 at 20:15











                      3













                      $begingroup$

                      Originally, none of the ICs (before LSI) were configurable or programmable. Early computers and communication system were configured by hard wiring, circuit board layout, wiring patch panels (often done by women with the job title “computer”), or by manually entering a boot program via front panel switches (or punched paper tape, etc.). Some computer systems had vast amounts of front panel switches for configuration. Then came PROMs and PLAs(PALS), etc. that were “programmed” by applying high voltages to blow internal fuses to configure their logic and memories. When microprocessors were booted-up, they would then configure the other subsystems or peripheral ICs by writing to their control registers in code.



                      At higher levels of integration these methods were often combined: a system might be configured by programming internal memories with instructions (code, software) that a processor would then use to configure other functional blocks on the chip (including other processors, which would then configure yet more subsystems, etc.)






                      share|improve this answer











                      $endgroup$



















                        3













                        $begingroup$

                        Originally, none of the ICs (before LSI) were configurable or programmable. Early computers and communication system were configured by hard wiring, circuit board layout, wiring patch panels (often done by women with the job title “computer”), or by manually entering a boot program via front panel switches (or punched paper tape, etc.). Some computer systems had vast amounts of front panel switches for configuration. Then came PROMs and PLAs(PALS), etc. that were “programmed” by applying high voltages to blow internal fuses to configure their logic and memories. When microprocessors were booted-up, they would then configure the other subsystems or peripheral ICs by writing to their control registers in code.



                        At higher levels of integration these methods were often combined: a system might be configured by programming internal memories with instructions (code, software) that a processor would then use to configure other functional blocks on the chip (including other processors, which would then configure yet more subsystems, etc.)






                        share|improve this answer











                        $endgroup$

















                          3














                          3










                          3







                          $begingroup$

                          Originally, none of the ICs (before LSI) were configurable or programmable. Early computers and communication system were configured by hard wiring, circuit board layout, wiring patch panels (often done by women with the job title “computer”), or by manually entering a boot program via front panel switches (or punched paper tape, etc.). Some computer systems had vast amounts of front panel switches for configuration. Then came PROMs and PLAs(PALS), etc. that were “programmed” by applying high voltages to blow internal fuses to configure their logic and memories. When microprocessors were booted-up, they would then configure the other subsystems or peripheral ICs by writing to their control registers in code.



                          At higher levels of integration these methods were often combined: a system might be configured by programming internal memories with instructions (code, software) that a processor would then use to configure other functional blocks on the chip (including other processors, which would then configure yet more subsystems, etc.)






                          share|improve this answer











                          $endgroup$



                          Originally, none of the ICs (before LSI) were configurable or programmable. Early computers and communication system were configured by hard wiring, circuit board layout, wiring patch panels (often done by women with the job title “computer”), or by manually entering a boot program via front panel switches (or punched paper tape, etc.). Some computer systems had vast amounts of front panel switches for configuration. Then came PROMs and PLAs(PALS), etc. that were “programmed” by applying high voltages to blow internal fuses to configure their logic and memories. When microprocessors were booted-up, they would then configure the other subsystems or peripheral ICs by writing to their control registers in code.



                          At higher levels of integration these methods were often combined: a system might be configured by programming internal memories with instructions (code, software) that a processor would then use to configure other functional blocks on the chip (including other processors, which would then configure yet more subsystems, etc.)







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Aug 13 at 8:58

























                          answered Aug 13 at 8:07









                          hotpaw2hotpaw2

                          1,4002 gold badges20 silver badges30 bronze badges




                          1,4002 gold badges20 silver badges30 bronze badges
















                              Popular posts from this blog

                              Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

                              Circuit construction for execution of conditional statements using least significant bitHow are two different registers being used as “control”?How exactly is the stated composite state of the two registers being produced using the $R_zz$ controlled rotations?Efficiently performing controlled rotations in HHLWould this quantum algorithm implementation work?How to prepare a superposed states of odd integers from $1$ to $sqrtN$?Why is this implementation of the order finding algorithm not working?Circuit construction for Hamiltonian simulationHow can I invert the least significant bit of a certain term of a superposed state?Implementing an oracleImplementing a controlled sum operation

                              Magento 2 “No Payment Methods” in Admin New OrderHow to integrate Paypal Express Checkout with the Magento APIMagento 1.5 - Sales > Order > edit order and shipping methods disappearAuto Invoice Check/Money Order Payment methodAdd more simple payment methods?Shipping methods not showingWhat should I do to change payment methods if changing the configuration has no effects?1.9 - No Payment Methods showing upMy Payment Methods not Showing for downloadable/virtual product when checkout?Magento2 API to access internal payment methodHow to call an existing payment methods in the registration form?