Tìm hiểu về hệ sinh thái STM32Cube

Hệ sinh thái STM32Cube là một giải pháp phần mềm hoàn chỉnh cho các dòng vi điều khiển STM32 và các dòng vi xử lý mà nó sử dụng. Hệ sinh thái này dành cho những người dùng đang tìm kiếm một môi trường phát triển đầy đủ và miễn phí cho STM32, cũng như dành cho những người đang sử dụng một số IDE khác như KeilC hoặc IAR. Trong hệ sinh thái này có sự tích hợp của các thành phần gồm STM32CubeMX, STMCubeProgrammer và STM32CubeMonitor.

[HỌC ONLINE: LẬP TRÌNH VI ĐIỀU KHIỂN STM32, VI XỬ LÝ ARM CORTEX – M]

Tóm lại, STM32Cube là gì?

STM32Cube là sự kết hợp của các công cụ phần mềm và các thư viện phần mềm nhúng:

  • Đầy đủ các công cụ phần mềm hỗ trợ chạy trên máy tính giúp giải quyết tất cả những nhu cầu trong một chu trình phát triển dự án hoàn chỉnh.
  • Các phần mềm nhúng được thiết kế để chạy trên các dòng vi điều khiển STM32 và các vi xử lý tương ứng với nhiều chức năng khác nhau từ các driver cho từng ngoại vi của vi điều khiển đến những tính năng định hướng ứng dụng nâng cao.

Có những gì trong hệ sinh thái STM32Cube?

Bộ công cụ phần mềm STM32Cube:

  • STM32CubeMX, một công cụ phần mềm được sử dụng để cấu hình cho bất kì thiết bị STM32 nào. Giao diện người dùng đồ họa dễ sử dụng và có thể sinh code C từ việc cấu hình cho các thiết bị lõi ARM Cortex-M và tạo Linux device tree source cho các thiết bị lõi ARM Cortex-A.
  • STM32CubeIDE, một môi trường phát triển tích hợp. Dựa trên các giải pháp nguồn mở như Eclipse, GNU C/C++ toolchain. IDE này bao gồm các tính năng báo cáo biên dịch chương trình và các tính năng gỡ lỗi nâng cao. Nó cũng được tích hợp thêm công cụ STM32CubeMX bên trong để tiện cho việc cấu hình và sinh code. 
  • STM32CubeProgrammer, một công cụ cung cấp một môi trường dễ sử dụng và hiệu quả cho việc đọc, ghi và xác minh các thiết bị và bộ nhớ ngoài thông qua nhiều chuẩn giao thức truyền thông có sẵn như JTAG, SWD, UART, USB DFU, I2C, SPI, CAN, …vv.
  • STM32CubeMonitor, cung cấp các công cụ giám sát mạnh mẽ giúp cho đội ngũ phát triển có thể tinh chỉnh các hoạt động và hiệu suất của ứng dụng mà họ đã xây dựng trong trong thời gian thực.

Các phần mềm nhúng trong hệ sinh thái STM32Cube:

  • STM32Cube MCU và MPU packages, dành riêng cho từng dòng vi điều khiển STM32
    Các package này cung cấp cấp tất cả các thành phần phần mềm nhúng (thư viện) cần có để sử dụng các ngoại vi của dòng vi điều khiển STM32 tương ứng. Chúng bao gồm các driver (HAL, low-layer,.v.v.), các middleware và các chương trình ví dụ mẫu được sử dụng trong nhiều trường hợp thực tế.
  • STM32Cube expansion packages, dành cho các giải pháp định hướng ứng dụng.
    Đây là các package mở rộng của STM32Cube MCU nhằm cung cấp thêm các thành phần phần mềm nhúng, các package này có thể được thiết kế bởi hãng ST hoặc các đối tác của họ để tạo ra thêm các phần mềm nhúng cho dòng vi điều khiển STM32 để gia tăng sự tiện nghi khi lựa chọn sử dụng dòng vi điều điều STM32. 

STM32Cube, một giải pháp tiết kiệm thời gian toàn diện cho mọi người dùng STM32

STM32Cube mang tất cả các công cụ và các phần mềm nhúng tới cho người dùng STM32 một cách đơn giản, tích hợp. Hãng ST đưa ra một giải pháp thân thiện hơn với các doanh nghiệp: Miễn phí bản quyền, các kỹ sư phát triển được hưởng lợi từ phần mềm miễn phí và nguồn mở và họ có thể chia sẻ các mã nguồn mà họ đã phát triển trên các thiết bị STM32.

Các phần mềm phát triển:

Bộ công cụ phát triền phần mềm STM32Cube dựa trên quy trình phát triển lặp 4 bước:

Mỗi công cụ trong hệ sinh thái STM32Cube ở trên được ST phát hành thành các bản độc lập.
Các công cụ phát triển khác dành cho STM32 từ các đối tác đủ điều kiện hoặc bên thứ 3 bao gồm IAR, EWARM hoặc Keil MDK-ARM IDE có thể nhận được các lợi ích từ việc khai thác các tính năng của các phần mềm trong hệ sinh thái STM32Cube.

Phần mềm nhúng

Các STM32Cube MCU Package

Một STM32Cube MCU Package là một bộ phần mềm nhúng điều khiển các thiết bị ngoại vi của vi điều khiển hoặc vi xử lý.

Mỗi package bao gồm các driver tiêu chuẩn, trong phiên bản được tối ưu hóa là Low-Layer API và phiên bản portable HAL API. Một số middleware cũng được bổ sung dành cho các dòng vi điều khiển.

STM32Cube Expansion Packages

Các gói mở rộng STM32Cube chứa các thành phần phần mềm nhúng bổ sung cho các chức năng của STM32Cube MCU Packages và cho phép sử dụng các thiết bị STM32 trong các lĩnh vực như cảm biến, quản lý năng lượng, kết nối âm thanh cùng với dòng điều khiển STM32 được thiết kế riêng phù hợp với các yêu cầu ứng dụng.

Số lượng các STM32Cube Expansion Package liên tục tăng nhờ hãng ST và các đối tác.

Ngày nay, các kỹ sư phát triển có thể tìm các gói phần mềm mở rộng sử dụng cho việc kết nối đám mây (Amazon AWS, Microsoft Azure, IBW Watson,…), LoRa, kết nối mạng di động, NFC, các giao thức truyền thông công nghiệp, thư viện tiền điện tử, sensor drivers, các thuật toán điều khiển motor, các thư viện selt-test, và nhiều hơn nữa  😀

Xem thêm:

  • STM32F1 – Tổng hợp các bài hướng dẫn của TAPIT tại đây.
  • STM32F4 – Tổng hợp các bài hướng dẫn của TAPIT tại đây.
  • Tìm hiểu về phần mềm STM32CubeMX tại đây.
  • Tìm hiểu về phần mềm STM32CubeIDE tại đây.
  • Tìm hiểu về phần mềm STM32CubeProgrammer tại đây.
  • Tìm hiểu về phần mềm STM32CubeMonitor tại đây.

Chúc các bạn thành công! 
Nhóm TAPIT R&D

Xem bản gốc của bài giới thiệu về Hệ sinh thái STM32Cube tại đây.