1. 程式人生 > 其它 >嵌入式系統原理與設計 Principles of Embedded System and Design

嵌入式系統原理與設計 Principles of Embedded System and Design

Overview

This course is mainly an experimental course.

I remember that after we spent about four weeks learning some theoretical knowledge, and then we embarked on designing our own embedded projects.

Theoretical knowledge includes:

  • Structure of embedded system
  • Introduction to Cortex-M3 chip and its instruction system

一、Structure of embedded System

Embedded system is a special-purpose computer system.

It integrates software and hardware, and normally has a well-controlled volume and power consumption.

Like the control system of a car.

The essential parts of an embedded system are Core/CPU, Memory and Hardwired Unit like Timer.

Core is the most important element. And one of the Core we learned is Cortex-M3.

二、Introduction to Cortex-M3

1) Cortex-M3 and ARM

Cortex-M3 is a 32-bit processor core, which adopts the Harvard architecture.

The core is designed by ARM. After obtaining patent authorization, chip compannies can add parts to the core to make their own chips.

Like Snapdragon from Qualcomm.

2) Instruction System

The ARM instruction system is too complex, I will only describe the general format of the ARM instructions here.

The general format of the ARM instruction is:

The content in <> Angle brackets is necessary, the content in {} Curly braces can be omitted

  • opcode is an instruction mnemonic, such as MOV.
  • {S} determines whether the execution result of the instruction affects the value of APSR.
  • Rd stands for destination register
  • Rn represents the source register
  • OP2 represents the third operand, which can be an immediate value or a register.

Example:

ADDEQS R0,R1,#8

三、結課專案

We bought the STM32F103C8T6 development board kit and assembled it with the motor, mecanum wheel, and Bluetooth module to make a smart car that can be controlled by an app.

The IDE we use is Keil's μVision 5. The source code of the car is written in C language.

In addition, I also wrote an Android APP for controlling the vehicle via Bluetooth in Java language.