Nội dung ngày đầu tiên
Chào mừng bạn đến với thế giới Lập trình Nhúng!
1. Lập trình nhúng là gì?
Lập trình nhúng (Embedded Systems Programming) là việc viết phần mềm cho các hệ thống máy tính chuyên dụng, được 'nhúng' vào trong một thiết bị lớn hơn để thực hiện một chức năng cụ thể. Khác với máy tính đa năng (PC, laptop), hệ thống nhúng thường chỉ làm một vài việc nhất định.
- Ví dụ: Lò vi sóng, máy giặt, điều khiển TV, đồng hồ thông minh, hệ thống phanh ABS trên ô tô.
2. Vi xử lý (Microprocessor - MPU) vs. Vi điều khiển (Microcontroller - MCU)
- Vi xử lý (MPU): Là bộ xử lý trung tâm (CPU), cần các linh kiện bên ngoài như RAM, ROM, các cổng I/O để hoạt động. Ví dụ: chip Intel Core i7 trong máy tính của bạn.
- Vi điều khiển (MCU): Là một hệ thống máy tính hoàn chỉnh trên một con chip duy nhất. Nó tích hợp sẵn CPU, RAM, ROM (thường là bộ nhớ Flash), các chân I/O (Input/Output), và các ngoại vi khác (Timer, ADC, UART...). STM32 là một dòng vi điều khiển.
3. Tại sao lại là STM32?
- Mạnh mẽ: Dựa trên lõi ARM Cortex-M, hiệu năng cao.
- Đa dạng: Có hàng trăm dòng chip khác nhau, từ các dòng giá rẻ cho các ứng dụng đơn giản đến các dòng hiệu năng cao cho xử lý phức tạp.
- Hệ sinh thái tốt: STMicroelectronics (ST) cung cấp bộ công cụ phần mềm miễn phí và mạnh mẽ (STM32CubeIDE, STM32CubeMX) và cộng đồng người dùng lớn mạnh.
- Giá cả hợp lý: Các board phát triển (như Nucleo, Discovery) có giá rất phải chăng cho người mới bắt đầu.
Mục tiêu học tập
Nắm vững các khái niệm cơ bản và bắt đầu lập trình nhúng với vi điều khiển STM32.