Integrated circuit (IC) programming is a type of computer programming in which software is created through code and then added to the IC. This normally is done by using a computer as a bridge for IC programming, because the computer can upload software into the IC. This is most commonly used for microcontrollers to control a certain device, but it also may be used for the main computer itself. There are many actions that can be coded through IC programming, and it comes down to what is being controlled.
With IC programming, it all starts with software. Someone builds software made to control a device, and the software has to be added to the controller. If the program is not transferred, then there usually is no way for the controller to command the device to do anything, because it will not have the proper coding or procedures to exercise control. The programming normally is built with classic logic, and there tends to be many “if/then” statements.
After the IC programming is complete, the software must be added to the circuit. A separate microcontroller can sometimes be made to facilitate this task, but this is most commonly done through a computer. The computer, which also is commonly used to code the software, links with the IC and uploads the programming. This is true even if the circuit is within the computer itself.
Nearly all instances of IC programming are done for microcontrollers, because microcontrollers typically are useless without their IC having software and instructions. Microcontrollers can conform to most instructions, are mobile and can be easily installed in most systems, so this tends to make the process easier. At the same time, computer circuits also can have new programming added to their IC, which improves the functions of the computer but typically is harder because other programming already is on most circuits.
IC programming can create a large array of commands and instructions, and there are many programming languages that can be used for this. There usually is no limit to what the programming itself can command, but there is a limit to what the device can do. For example, if the IC programming is for a stepper motor — a motor that moves according to programmed steps — then the programming cannot command the motor to watch over computer documents for user edits, because the device is incapable of this command.