2. I.Embedded system
Definition:
An electronic systems
containing tightly coupled
hardware and software
components
Characteristics:
Perform a single function
Form part of a larger system
Not intended to be independently
programmable by the user
Are expected to work with minimal
or no human interaction
Reactive, real-time operation
Tightly constrained
3. Embedded system
System Components
Power management
Video processing
Audio processing
Communications
User interfaces
Memory management
Storage
Multi-embedding
Most components are
embedded system by
themselves
System integration
CONTEMPORARY EMBEDDED SYSTEMS
4. Hardware components:
CPU
Memory
I/O Subsystem
Software components:
Firmware
Operating System
Application Programs
Embedded system structure
5. Hardware components
Central Processing Unit
Registers, ALU, CU
Memory
Program Memory
Data Memory
I/O Devices
Communication ports
User Interfaces
Sensors & actuators
Diagnostics support
System controllers
Power management
Specialized ASICs
6. System Tasks
Actions making use of
system resources
System Kernel
Manages system resources
Coordinates task services
Services
Routines performing specific tasks
Software components
7. II. training program
Lecture 1:
-TAPIT - Embedded System - Training Program - Rules
-Tools
-C Language
Lecture 2:
-Basic Electric Devices - Formula
-Circuit Reading - Launchpad Introduce
-C Language for MCU - The fist Program Blink Led.
Lecture 3:
-GPIO
-Blink Led
-Button
Lecture 4:
-Polling - Interrupt - LPM
-Status Register
-Interrupt I/O
10. III. Rules
On time.
Homework
Be a good friend.
Always follow directions and listen to the trainer.
Respect other learners by not disrupting.
Be supportive when working in groups.
Put your cell phones into silent.
Raise your hand.
Ask for help when you need it.
Keep your area clean.
11. VI. TOOLs
Notepad ++
Dev -C++
Draw.io
IAR
Hercules
Altium
Sublime Text
Team Viewer
Energia
CCS
Proteus
13. VI. C - Language
C takes a middle path between low-level assembly language…
Direct access to memory layout through pointer manipulation
Concise syntax, small set of keywords
… and a high-level programming language like Java:
Block structure
Some encapsulation of code, via functions
Type checking (pretty weak)
14. 1.Preprocessor directives
2.Function prototypes
3.Local and global variables
4.The main() function
5.Function definitions
Elements of a C Program
Flow Control Statements
+ Branching
+ Looping
Pointer, Array, String
Data types.
return, break, goto, continue
Editor's Notes
Nội dung của buổi học:
Giới thiệu về hệ thống nhúng.
Giới thiệu chương trình training.
Các quy định khi tham gia lớp học.
Các công cụ hỗ trợ quá trình học.
Nhắc lại ngôn ngữ lập trình C.
Hệ thống nhúng:
Định nghĩa: Hệ thống nhúng là một hệ thống điện tử bao gồm thành phần phần cứng và phần mềm có liên kết chặt chẽ với nhau.
Các đặc điểm:
+ Thực hiện một chức năng duy nhất.
+ Là một phần của hệ thống lớn hơn.
+ Không dùng cho người dùng lập trình lại.
+ Có thể tương tác hoặc không tương tác với con người.
+ Có khả năng đáp ứng thời gian thực.
+ Bị hạn chế một cách chặt chẽ. Bởi vì hệ thống nhúng bị giới hạn về rất nhiều thứ như khả năng tính toán, năng lượng, bộ nhớ….vv.. Và suy cho cùng thì cũng vì lí do là chi phí cho hệ thống.
Giới thiệu hệ thống giải trí đa phương tiện. Các thành phần của hệ thống:
+ Quản lý năng lượng.
+ Xử lý video.
+ Xử lý âm thanh.
+ Trao đổi.
+ Giao diện người dùng.
+ Quản lý bộ nhớ.
+ Lưu trữ.
Đa nhúng:
+Nhiều hệ thống nhúng chứa hệ thống nhúng.
+Các hệ thống tích hợp.
Cấu trúc của hệ thống nhúng:
- Thành phần phần cứng:
+ Bộ xử lý trung tâm
+ Bộ nhớ.
+ Các đường dẫn nhập xuất.
- Thành phần phần mềm:
+ Chương trình cơ sở.
+ Hệ điều hành.
+ Chương trình ứng dụng.
Thành phần phần cứng:
- Bộ xử lý trung tâm:
+ Thanh ghi
+ Bộ tính toán số học và logic.
+ Khối điều khiển (Là thành phần của CPU có nhiệm vụ thông dịch các lệnh của chương trình và điều khiển hoạt động xử lí, được điều tiết chính xác bởi xung nhịp đồng hồ hệ thống.)
Bộ nhớ:
+ Bộ nhớ chương trình.
+ Bộ nhớ dữ liệu.
Thiết bị nhập xuất:
+ Các cổng giao tiếp.
+ Giao diện người dùng.
+ Các cảm biến và các bộ truyền động.
+ Hỗ trợ chuẩn đoán.
+ Quản lý năng lượng.
+….
Thành phần phần mềm:
- System Tasks:
+Hoạt động trực tiếp sử dụng tài nguyên hệ thống.
- System Kernal:
+Quản lý tài nguyên hệ thống.
+Phối hợp các tách vụ dịch vụ.
- Services:
+ Thường thực hiện các nhiệm vụ cụ thể.
LỊCH HỌC
Bài 1:
Làm quen – giới thiệu TAPIT – Chương trình học – các quy định khi tham gia.
Các công cụ, phần mềm hỗ trợ.
Ôn tập ngôn ngữ lập trình C.
Bài 2:
Linh kiện điện tử cơ bản – Các công thức tính toán.
Các đọc sơ đồ mạch điện – Đọc sơ đồ mạch phát triển MSP430G2553.
Ngôn ngữ C cho vi điều khiển – Chạy thử chương trình đầu tiên: Nhấp nháy Led.
Bài 3:
Nhập xuất cơ bản với vi điều khiển.
Phân tích bài nháy led – lập trình nháy led.
Lập trình đọc nút bấm.
Bài 4:
Cơ chế lặp vòng – cơ chế ngắt – chế độ tiết kiệm năng lượng.
Thanh ghi trạng thái.
Ngắt ngoài.
Bài 5:
Các bộ giao tiếp trong MSP430.
Bộ giao tiếp truyền thông nối tiếp không đồng bộ UART.
Bài 6:
Ôn tập nhập xuất cơ bản, ngắt ngoài và giao tiếp UART.
Bài 7:
Các loại cảm biến, nguyên lý hoạt động.
Chức năng chuyển đổi tương tự số.
Kết hợp chức năng chuyển đổi tương tự số và giao tiếp UART.
Bài 8:
Bộ định thời, bộ đếm.
Bài 9:
Tổ chức bộ nhớ vi điêu khiển MSP430G2553.
Bộ nhớ Flash.
Bài 10:
Hướng dẫn cơ bản phần mềm vẽ mạch Altium
Thực hành vẽ sơ đồ nguyên lý,vẽ mạch in.
Bài 11:
Nói về chủ đề nguồn cung cấp năng lượng.
Nói về chủ đề mạng không dây.
Bài 12:
Ôn tập
Triển khai đề tài cuối khóa.
Một số quy định khi tham gia lớp học:
Đi học đúng giờ.
Làm bài tập về nhà đầy đủ.
Luôn tập trung và lắng nghe.
Tôn trọng bạn bè.
Làm việc nhóm nhiệt tình.
Không để chuông điện thoại.
Tích cực phát biểu.
Hỏi ngay khi thắc mắc.
Một số công cụ hỗ trợ:
+ Notepadd++: Công cụ hỗ trợ xem code, đọc code mẫu nhanh chóng, có làm nổi bật các hàm.
+ Dev-C++: Công cụ hỗ trợ ôn tập C.
+ Draw.io: Công cụ hỗ trợ vẽ lưu đồ thuật toán, sơ đồ khối của hệ thống.
+ IAR: Công cụ chính để lập trình MSP430G2553.
+ Hercules: Công cụ trên máy tính để nhận dữ liệu gởi lên từ vi điều khiển thông qua giao tiếp UART.
+ Altium: Công cụ vẽ mạch nguyên lý, mạch in.
Sublime Text: Công cụ hiện thị rất rõ ràng code, các khối lệnh, các hàm, các biến, các tiền xử lý…vv..
Team Viewer: Công cụ hỗ trợ điều khiển máy tính từ xa để hướng dẫn học viên từ xa.
Energia: Công cụ lập trình MSP430G2553 giống Arduino.
CCS: Một công cụ khác lập trình MSP430G2553.
Q: Why are these needed, if the functions are defined later in the program anyway?
A: C programs are typically arranged in “top-down” order, so functions are used (called) before they’re defined.
(Note that the function main() includes a call to read_column_numbers().)
When the compiler sees a call to read_column_numbers() , it must check whether the call is valid (the right number and types of parameters, and the right return type).
But it hasn’t seen the definition of read_column_numbers() yet!
The prototype gives the compiler advance information about the function that’s being called.
Of course, the prototype and the later function definition must match in terms of type information.
main() is always the first function called in a program execution.
int
main( void )
{ …
void indicates that the function takes no arguments
int indicates that the function returns an integer value
Q: Integer value? Isn’t the program just printing out some stuff and then exiting? What’s there to return?
A: Through returning particular values, the program can indicate whether it terminated “nicely” or badly; the operating system can react accordingly.
http://www.tutorialspoint.com/cprogramming/c_data_types.htm