Professional Documents
Culture Documents
Fall EE120
Student: Rafael Silva
ID: 010068565
Cortex-M3 and M4 have great compatibility with wide family of other ARM
devices;
2. What are the features of M0 & M0+
o Both are based on ARMv6-M architecture;
o Ultralow power;
o Cheapest among the Cortex-M series;
o 32-bit system instructions;
o Three-stage pipeline for Cortex-M0, while Cortex-M0+ is two-stage pipeline;
o Interrupt handling, Thumb-2 (dynamic change of priority not supported);
o Debug support;
o NVIC;
o Upward Compatible with other M series;
3. What is MPU and describe its functions
MPU is the abbreviation for Memory Protection Unity, feature available for Cortex-M3 and M4. MPU is a
programmable device that monitors the bus traffic and needs to be configured by software. If MPU in
included, applications can divide memory into a number of regions and define the access for each of them.
4. What is the difference between MSP and PSP
Main Stack Pointer (MSP): used for OS kernel and interruptions, it is the default stack pointer. MSP can be
used all the time for simple applications without OS. Process Stack Pointer (PSP): used for application
tasks, Thread Mode.
5. What is polling method? Describe its advantages and disadvantages
Polling method is used for very simple applications of program flow, according to this method the
processor can wait until there is data ready for processing, process it and then wait again. The polling
works fine for simple applications, but when the application gets more complex, the polling loop becomes
hard to maintain, other disadvantage, it is very difficult to set up priority among the tasks.
6. Briefly explain:
o NVIC functions
i. Nested Vectored Interrupt Controller has as function to handle interruptions
and exceptions, prioritizations, and interrupt masking.
o Sleep mode
i. It is a power feature which a peripheral or section can be disabled when not
used. Later it can be waked up when processor requires.
o 3-stage pipeline
i. It refers the three instructions fetch, decode and execution.
o Halt
i. Halting is one of the features of debug support, which we are able to pause the
processors work and evaluate the register values, data and instructions.
o Breakpoint
i. Breakpoint is an intentional pause set up in a program, with debug purpose,
that can halt the processor.