embedded programming (Mar 11)

Goal | Class Archive | Video | Challenges | Related Classes | Class Notes | Review Materials | Assignment

Goal

read a microcontroller data sheet
program your board to do something, with as many different programming languages
and programming environments as possible

 

Video

 

Challenges

this is text

 

 

Class Notes

architectures
Harvard is an architecture with physically separate storage and signal pathways for instructions and data. The CPU can both read an instruction and perform a data memory access at the same time, even without a cache.

Modified Harvard allows the contents of instruction memory to be accessed as if it were data.

von Neumann (Princeton architecture) is any stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus. The processing unit contains an arithmetic logic unit and processor registers, a control unit containing an instruction register and program counter, a memory to store both data and instructions, external mass storage, and I/O mechanisms.

RISC “reduced instruction set computer” describes the concept that the amount of work any single instruction accomplishes is reduced (at most a single data memory cycle). These processors typically have separate instructions for I/O and data processing.

CISC “complex instruction set computing” describes CPU design where single instructions can execute several low-level operations. Under this design, arithmetic instructions can also perform memory accesses.

Microprocessor is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and provides results as output.

Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications. It’s a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals.

FPGA “field programmable gate array” is an integrated circuit designed to be configured by a customer or a designer after manufacturing.

CPLD “complex programmable logic device” is different from an FPGA architecturally. They are less flexible than FPGAs with more predictable timing delays.

ALA

Memory
registers

 

Review Materials

this is text

 

Assignment

Embedded Programming #1 (Results with bread board and Arduino IDE)