STMicroelectronics Dòng STM32WBA Bắt đầu
Thông tin sản phẩm
Thông số kỹ thuật:
- Tên sản phẩm: Gói MCU STM32CubeWBA
- Nhà sản xuất: STMicroelectronics
- Khả năng tương thích: Bộ vi điều khiển dòng STM32WBA
- Cấp phép: Giấy phép BSD nguồn mở
Hướng dẫn sử dụng sản phẩm
Các tính năng chính của gói MCU STM32CubeWBA:
Gói MCU STM32CubeWBA cung cấp tất cả các thành phần phần mềm nhúng cần thiết để phát triển ứng dụng trên bộ vi điều khiển dòng STM32WBA. Nó có tính di động cao trong dòng STM32 và đi kèm với API HAL và LL, ví dụ:amples và các thành phần phần mềm trung gian.
Kiến trúc Overview:
Kiến trúc của Gói MCU STM32CubeWBA bao gồm ba cấp độ – Ứng dụng, Thư viện và các thành phần dựa trên giao thức, Lớp trừu tượng phần cứng, trình điều khiển BSP, trình điều khiển lõi và API lớp thấp.
Câu hỏi thường gặp
- Gói MCU STM32CubeWBA bao gồm những gì?
Gói này bao gồm các API lớp thấp (LL) và lớp trừu tượng phần cứng (HAL), ví dụ:amptập tin, ứng dụng, thành phần phần mềm trung gian như FileThư viện X/LevelX, NetX Duo, mbed-crypto, v.v. - Gói MCU STM32CubeWBA có tương thích với trình tạo mã STM32CubeMX không?
Có, gói này hoàn toàn tương thích với trình tạo mã STM32CubeMX để tạo mã khởi tạo.
Giới thiệu
- STM32Cube là sáng kiến độc đáo của STMicroelectronics nhằm cải thiện đáng kể năng suất của nhà thiết kế bằng cách giảm nỗ lực, thời gian và chi phí phát triển. STM32Cube bao gồm toàn bộ danh mục STM32.
STM32Cube bao gồm:- Một bộ công cụ phát triển phần mềm thân thiện với người dùng để bao gồm quá trình phát triển dự án từ giai đoạn hình thành đến hiện thực hóa, trong số đó là:
- STM32CubeMX, một công cụ cấu hình phần mềm đồ họa cho phép tạo mã khởi tạo C tự động bằng cách sử dụng trình hướng dẫn đồ họa
- STM32CubeIDE, một công cụ phát triển tất cả trong một với các tính năng cấu hình ngoại vi, tạo mã, biên dịch mã và gỡ lỗi
- STM32CubeCLT, bộ công cụ phát triển dòng lệnh tất cả trong một với tính năng biên dịch mã, lập trình bảng và gỡ lỗi
- STM32CubeProgrammer (STM32CubeProg), một công cụ lập trình có sẵn trong các phiên bản đồ họa và dòng lệnh
- STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF, STM32CubeMonUCPD), các công cụ giám sát mạnh mẽ để tinh chỉnh hành vi và hiệu suất của các ứng dụng STM32 trong thời gian thực
- Gói STM32Cube MCU và MPU, nền tảng phần mềm nhúng toàn diện dành riêng cho từng dòng vi điều khiển và bộ vi xử lý (chẳng hạn như STM32CubeWBA cho dòng STM32WBA), bao gồm:
- Lớp trừu tượng phần cứng STM32Cube (HAL), đảm bảo tính di động tối đa trong danh mục STM32
- STM32Cube API lớp thấp, đảm bảo hiệu suất và dấu chân tốt nhất với mức độ kiểm soát cao của người dùng đối với phần cứng
- Một tập hợp nhất quán của các thành phần phần mềm trung gian như ThreadX, FileX / LevelX, NetX Duo, USBX, thư viện cảm ứng, mbed-crypto, TFM, MCUboot, OpenBL và STM32_WPAN (bao gồm Bluetooth® Low Energy profiles và dịch vụ, lớp Mesh, Zigbee®, OpenThread, Matter và 802.15.4 MAC)
- Tất cả các tiện ích phần mềm nhúng với đầy đủ các thiết bị ngoại vi và ứng dụngamptập
- 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 Gói MCU và MPU STM32Cube với:
- Tiện ích mở rộng phần mềm trung gian và các lớp ứng dụng
- Exampchạy trên một số bảng phát triển STMicroelectronics cụ thể
- Một bộ công cụ phát triển phần mềm thân thiện với người dùng để bao gồm quá trình phát triển dự án từ giai đoạn hình thành đến hiện thực hóa, trong số đó là:
- Hướng dẫn sử dụng này mô tả cách bắt đầu với Gói MCU STM32CubeWBA.
- Phần 2 Các tính năng chính của STM32CubeWBA mô tả các tính năng chính của Gói MCU STM32CubeWBA.
- Phần 3 kiến trúc STM32CubeWBA trênview cung cấp một hơnview của kiến trúc STM32CubeWBA và cấu trúc Gói MCU.
Thông tin chung
Gói MCU STM32CubeWBA chạy trên bộ vi điều khiển 32 bit STM32 dựa trên bộ xử lý Arm® Cortex®-M33 với Arm® TrustZone® và FPU.
Ghi chú: Arm và TrustZone là các nhãn hiệu đã đăng ký của Arm Limited (hoặc các công ty con của Arm Limited) tại Hoa Kỳ và / hoặc ở những nơi khác.
Các tính năng chính của STM32CubeWBA
- Gói MCU STM32CubeWBA chạy trên bộ vi điều khiển 32 bit STM32 dựa trên bộ xử lý Arm® Cortex®-M33 với TrustZone® và FPU.
- STM32CubeWBA tập hợp trong một gói duy nhất tất cả các thành phần phần mềm nhúng chung cần thiết để phát triển ứng dụng cho bộ vi điều khiển dòng STM32WBA. Theo sáng kiến STM32Cube, bộ linh kiện này có tính di động cao, không chỉ trong bộ vi điều khiển dòng STM32WBA mà còn trong các dòng STM32 khác.
- STM32CubeWBA hoàn toàn tương thích với trình tạo mã STM32CubeMX để tạo mã khởi tạo. Gói này bao gồm các API lớp thấp (LL) và lớp trừu tượng phần cứng (HAL) bao gồm phần cứng của bộ vi điều khiển, cùng với một bộ mở rộng cácampcác tập tin chạy trên bo mạch STMicroelectronics. API HAL và LL có sẵn dưới dạng giấy phép BSD nguồn mở để thuận tiện cho người dùng.
- Gói MCU STM32CubeWBA cũng chứa một thành phần phần mềm trung gian toàn diện được xây dựng xung quanh phần mềm trung gian Microsoft® Azure® RTOS cũng như các ngăn xếp nội bộ và nguồn mở khác, với cấu hình tương ứng.ampđồng nghiệp.
- Chúng đi kèm với các điều khoản cấp phép miễn phí, thân thiện với người dùng:
- Azure® RTOS tích hợp và đầy đủ tính năng: Azure® RTOS ThreadX
- Triển khai CMSIS-RTOS với Azure® RTOS ThreadX
- Ngăn xếp thiết bị và máy chủ USB có nhiều lớp: Azure® RTOS USBX
- Trình độ cao file lớp dịch hệ thống và flash: FileX / CấpX
- Ngăn xếp mạng cấp công nghiệp: được tối ưu hóa cho hiệu suất với nhiều giao thức IoT: NetX Duo
- OpenBootloader
- Giải pháp tích hợp Arm® Trusted Firmware-M (TF‑M)
- thư viện mbed-crypto
- Thư viện ST Network
- Giải pháp thư viện cảm biến cảm ứng STMTouch
- Một số ứng dụng và bản trình diễn triển khai tất cả các thành phần phần mềm trung gian này cũng được cung cấp trong Gói MCU STM32CubeWBA.
- Bố cục thành phần Gói STM32CubeWBA MCU được minh họa trong Hình 1. Các thành phần Gói STM32CubeWBA MCU.
Kiến trúc STM32CubeWBA kết thúcview
Giải pháp gói STM32CubeWBA MCU được xây dựng xoay quanh ba cấp độ độc lập, dễ dàng tương tác như mô tả trong Hình 2. Kiến trúc gói STM32CubeWBA MCU.
Cấp độ 0
Cấp độ này được chia thành ba lớp con:
- Gói hỗ trợ hội đồng quản trị (BSP).
- Lớp trừu tượng phần cứng (HAL):
- Trình điều khiển ngoại vi HAL
- Trình điều khiển lớp thấp
- Cách sử dụng ngoại vi cơ bảnampđồng nghiệp.
Gói hỗ trợ hội đồng quản trị (BSP)
Lớp này cung cấp một bộ API liên quan đến các thành phần phần cứng trong bo mạch phần cứng (chẳng hạn như trình điều khiển LCD, Audio,\microSD™ và MEMS). Nó bao gồm hai phần:
- Trình điều khiển thành phần:
Trình điều khiển này liên quan đến thiết bị bên ngoài trên bo mạch chứ không liên quan đến thiết bị STM32. Trình điều khiển thành phần cung cấp các API cụ thể cho các thành phần bên ngoài của trình điều khiển BSP và có thể di động trên bất kỳ bo mạch nào khác. - Trình điều khiển BSP:
Trình điều khiển BSP cho phép liên kết các trình điều khiển thành phần với một bo mạch cụ thể và cung cấp một bộ giao diện thân thiện với người dùng.
API. Quy tắc đặt tên API là BSP_FUNCT_Action().
Examptập tin: BSP_LED_Init(), BSP_LED_On()
BSP dựa trên kiến trúc mô-đun cho phép chuyển đổi dễ dàng trên bất kỳ phần cứng nào chỉ bằng cách thực hiện các quy trình cấp thấp.
Lớp trừu tượng phần cứng (HAL) và lớp thấp (LL)
STM32CubeWBA HAL và LL bổ sung cho nhau và đáp ứng nhiều yêu cầu ứng dụng:
- Trình điều khiển HAL cung cấp các API có tính di động cao hướng đến chức năng cấp cao. Chúng giấu MCU và độ phức tạp của thiết bị ngoại vi đối với người dùng cuối.
Trình điều khiển HAL cung cấp các API định hướng tính năng đa phiên bản chung, giúp đơn giản hóa việc triển khai ứng dụng người dùng bằng cách cung cấp các quy trình sẵn sàng sử dụng. Dành cho người yêu cũamptập tin, đối với các thiết bị ngoại vi giao tiếp (I2S, UART và các thiết bị ngoại vi khác), nó cung cấp các API cho phép khởi tạo và định cấu hình thiết bị ngoại vi, quản lý truyền dữ liệu dựa trên quy trình thăm dò, gián đoạn hoặc DMA và xử lý các lỗi giao tiếp có thể phát sinh trong quá trình giao tiếp. API trình điều khiển HAL được chia thành hai loại:- API chung, cung cấp các chức năng chung và chung cho tất cả các bộ vi điều khiển dòng STM32.
- API mở rộng, cung cấp các chức năng cụ thể và tùy chỉnh cho một dòng cụ thể hoặc một số bộ phận cụ thể.
- API lớp thấp cung cấp API cấp thấp ở cấp đăng ký, với khả năng tối ưu hóa tốt hơn nhưng tính di động kém hơn.
- Họ đòi hỏi kiến thức sâu sắc về MCU và các thông số kỹ thuật ngoại vi.
- Trình điều khiển LL được thiết kế để cung cấp lớp định hướng chuyên gia nhẹ, nhanh, gần với phần cứng hơn HAL. Ngược lại với HAL, API LL không được cung cấp cho các thiết bị ngoại vi mà quyền truy cập được tối ưu hóa không phải là tính năng chính hoặc cho những thiết bị yêu cầu cấu hình phần mềm nặng hoặc ngăn xếp cấp trên phức tạp.
- Tính năng của trình điều khiển LL:
- Tập hợp các hàm khởi tạo các tính năng chính của ngoại vi theo các tham số được chỉ định trong cấu trúc dữ liệu.
- Một tập hợp các hàm để điền vào cấu trúc dữ liệu khởi tạo các giá trị đặt lại tương ứng với từng trường.
- Chức năng khử khởi tạo ngoại vi (các thanh ghi ngoại vi được khôi phục về giá trị mặc định của chúng).
- Một tập hợp các hàm nội tuyến để truy cập vào thanh ghi trực tiếp và nguyên tử.
- Hoàn toàn độc lập với HAL và có khả năng sử dụng ở chế độ độc lập (không có trình điều khiển HAL).
- Bảo hiểm đầy đủ các tính năng ngoại vi được hỗ trợ.
Cách sử dụng ngoại vi cơ bảnamptập
Lớp này bao quanh exampcác tập tin được xây dựng trên thiết bị ngoại vi STM32 chỉ sử dụng tài nguyên HAL và BSP.
Cấp độ 1
Cấp độ này được chia thành hai lớp con:
- Thành phần phần mềm trung gian
- Exampcác tập tin dựa trên các thành phần phần mềm trung gian
Thành phần phần mềm trung gian
- Phần mềm trung gian là một tập hợp các thư viện bao gồm Bluetooth® Low Energy (Linklayer, HCI, Stack), Thread®, Zigbee®,
- Matter, OpenBootloader, Microsoft® Azure® RTOS, TF‑M, MCUboot và mbed-crypto.
- Tương tác theo chiều ngang giữa các thành phần của lớp này được thực hiện bằng cách gọi các API đặc trưng.
- Tương tác dọc với trình điều khiển lớp thấp được thực hiện thông qua các cuộc gọi lại cụ thể và macro tĩnh được triển khai trong giao diện cuộc gọi hệ thống thư viện.
- Các tính năng chính của từng thành phần phần mềm trung gian như sau:
- Microsoft® Azure® RTOS
- Azure® RTOS ThreadX: Hệ điều hành thời gian thực (RTOS), được thiết kế cho các hệ thống nhúng với hai chế độ chức năng.
- Chế độ chung: Các chức năng RTOS phổ biến như quản lý và đồng bộ hóa luồng, quản lý nhóm bộ nhớ, nhắn tin và xử lý sự kiện.
- Chế độ mô-đun: Chế độ người dùng nâng cao cho phép tải và dỡ tải các mô-đun ThreadX được liên kết trước một cách nhanh chóng thông qua trình quản lý mô-đun.
- NetX Duo
- FileX
- USBX
- Azure® RTOS ThreadX: Hệ điều hành thời gian thực (RTOS), được thiết kế cho các hệ thống nhúng với hai chế độ chức năng.
- Bluetooth® Low Energy (BLE): Triển khai giao thức Bluetooth® Low Energy cho các lớp Liên kết và Ngăn xếp.
- MCUboot (phần mềm mã nguồn mở)
- Giao thức Zigbee® cho ngăn xếp và các cụm liên quan.
- Lớp liên kết và ngăn xếp giao thức Thread®.
- Arm® Trusted firmware-M, TF‑M (phần mềm nguồn mở): Tham khảo triển khai kiến trúc bảo mật nền tảng Arm® (PSA) cho TrustZone® với các dịch vụ bảo mật liên quan.
- mbed-crypto (phần mềm nguồn mở): Phần mềm trung gian mbed-crypto cung cấp triển khai API mật mã PSA.
- Thư viện cảm biến cảm ứng STM32: Giải pháp cảm biến cảm ứng điện dung STMTouch mạnh mẽ, hỗ trợ các cảm biến tiệm cận, phím cảm ứng, cảm ứng tuyến tính và quay. Nó dựa trên nguyên tắc thu nhận chuyển điện tích bề mặt đã được chứng minh.
- Microsoft® Azure® RTOS
Exampcác tập tin dựa trên các thành phần phần mềm trung gian
Mỗi thành phần phần mềm trung gian đi kèm với một hoặc nhiều examples (còn gọi là ứng dụng) hướng dẫn cách sử dụng nó. Tích hợp cũampcác tập tin sử dụng một số thành phần phần mềm trung gian cũng được cung cấp.
Gói phần mềm STM32CubeWBA đã hếtview
Các thiết bị và phần cứng dòng STM32WBA được hỗ trợ
- STM32Cube cung cấp lớp trừu tượng phần cứng có tính di động cao (HAL) được xây dựng dựa trên kiến trúc chung. Nó cho phép nguyên tắc lớp xây dựng, chẳng hạn như sử dụng lớp phần mềm trung gian để thực hiện các chức năng của chúng mà không cần biết sâu về MCU được sử dụng. Điều này cải thiện khả năng sử dụng lại mã thư viện và đảm bảo khả năng di chuyển dễ dàng sang các thiết bị khác.
- Ngoài ra, nhờ kiến trúc phân lớp, STM32CubeWBA cung cấp sự hỗ trợ đầy đủ cho tất cả các dòng STM32WBA.
- Người dùng chỉ phải xác định macro phù hợp trong stm32wbaxx.h.
- Bảng 1 hiển thị macro để xác định tùy thuộc vào thiết bị dòng STM32WBA được sử dụng. Macro này cũng phải được xác định trong bộ tiền xử lý của trình biên dịch.
Bảng 1. Macro cho dòng STM32WBAMacro được xác định trong stm32wbaxx.h Thiết bị dòng STM32WBA stm32wba52xx STM32WBA52CGU6, STM32WBA52KGU6, STM32WBA52CEU6, STM32WBA52KEU6 stm32wba55xx STM32WBA55CGU6, STM32WBA55CGU6U, STM32WBA55CGU7, STM32WBA55CEU6, STM32WBA55CEU7 - STM32CubeWBA có bộ ex phong phúampcác tập tin và ứng dụng ở mọi cấp độ giúp dễ hiểu và sử dụng bất kỳ thành phần trình điều khiển HAL hoặc phần mềm trung gian nào. Những người cũ nàyampcác tập tin chạy trên bảng STMicroelectronics được liệt kê trong Bảng 2.
Bảng 2. Bo mạch cho dòng STM32WBABảng Bo mạch hỗ trợ các thiết bị STM32WBA NUCLEO-WBA52CG STM32WBA52CGU6 NUCLEO-WBA55CG STM32WBA55CGU6 STM32WBA55-DK1 STM32WBA55CGU7 - Gói MCU STM32CubeWBA có thể chạy trên mọi phần cứng tương thích. Người dùng chỉ cần cập nhật trình điều khiển BSP để chuyển cổng cũ được cung cấp.ampcác tập tin trên bo mạch, nếu tập tin sau có cùng tính năng phần cứng (chẳng hạn như đèn LED, màn hình LCD và các nút).
Gói phần mềm đã hếtview
- Giải pháp gói STM32CubeWBA được cung cấp trong một gói zip duy nhất có cấu trúc như trong Hình 3. Cấu trúc gói chương trình cơ sở STM32CubeWBA.
- Đối với mỗi bảng, một bộ examples được cung cấp các dự án được cấu hình sẵn cho chuỗi công cụ EWARM, MDK-ARM và STM32CubeIDE.
- Hình 4. STM32CubeWBA cũampkết thúcview hiển thị cấu trúc dự án cho các bo mạch NUCLEO‑WBA52CG, NUCLEO-WBA55CG và STM32WBA55G-DK1.
- Người cũampCác tập tin được phân loại tùy thuộc vào cấp độ STM32Cube mà chúng áp dụng và chúng được đặt tên như sau:
- Cấp 0 cũamples được gọi là Examples, Examples_LL và Examples_MIX. Họ sử dụng trình điều khiển HAL, trình điều khiển LL tương ứng và kết hợp trình điều khiển HAL và LL mà không có bất kỳ thành phần phần mềm trung gian nào.
- Cấp 1 cũampcác tập tin được gọi là Ứng dụng. Chúng cung cấp các trường hợp sử dụng điển hình của từng thành phần phần mềm trung gian. Bất kỳ ứng dụng chương trình cơ sở nào cho một bo mạch nhất định đều có thể được xây dựng nhanh chóng nhờ các dự án mẫu có sẵn trong thư mục Templ ates và Templates_LL.
Các dự án hỗ trợ TrustZone®
- Ví dụ đã kích hoạt TrustZone®amptên các tập tin chứa tiền tố _TrustZone. Quy tắc này cũng được áp dụng cho Ứng dụng (ngoại trừ TFM và SBSFU, vốn dành cho TrustZone®).
- Ex hỗ trợ TrustZone®ampcác tập tin và Ứng dụng được cung cấp cấu trúc đa dự án bao gồm các dự án con an toàn và không an toàn như được trình bày trong Hình 5. Cấu trúc dự án an toàn và không an toàn đa dự án.
- Các dự án hỗ trợ TrustZone® được phát triển theo mẫu thiết bị CMSIS-5, được mở rộng để bao gồm tiêu đề phân vùng hệ thống file vách ngăn_ .h, người chịu trách nhiệm chính về việc thiết lập đơn vị thuộc tính an toàn (SAU), FPU và việc gán các ngắt an toàn/không an toàn ở trạng thái thực thi an toàn.
- Thiết lập này được thực hiện trong hàm CMSIS SystemInit() bảo mật, được gọi khi khởi động trước khi vào hàm main() của ứng dụng bảo mật. Tham khảo tài liệu hướng dẫn phần mềm của Arm® TrustZone®-M.
- Gói phần mềm cơ sở gói STM32CubeWBA cung cấp phân vùng bộ nhớ mặc định trong phân vùng _ .h filecó sẵn trong: \Drivers\CMSIS\Device\ST\STM32WBAxx\Include\T emplates
- Trong các phân vùng này files, SAU bị tắt theo mặc định. Do đó, ánh xạ bộ nhớ IDAU được sử dụng để phân bổ bảo mật. Tham khảo hình Phân vùng an toàn/không an toàn bằng công nghệ TrustZone® trong sổ tay tham khảo RM0495.
- Nếu người dùng kích hoạt SAU, cấu hình vùng SAU mặc định sẽ được xác định trước trong phân vùng filenhư sau:
- Vùng SAU 0: 0x08080000 – 0x081FFFFF (một nửa bộ nhớ flash bảo mật không an toàn (512 Kbyte))
- SAU vùng 1: 0x0BF88000 – 0x0BF97FFF (bộ nhớ hệ thống không an toàn)
- SAU vùng 2: 0x0C07E000 – 0x0C07FFFF (có thể gọi an toàn, không an toàn)
- Vùng SAU 3: 0x20010000 – 0x2001FFFF (SRAM2 không an toàn (64 Kbyte))
- SAU vùng 4: 0x40000000 – 0x4FFFFFFF (bộ nhớ được ánh xạ ngoại vi không an toàn)
- Để phù hợp với phân vùng mặc định, các thiết bị dòng STM32WBAxx phải có bộ byte tùy chọn người dùng sau:
- TZEN = 1 (thiết bị hỗ trợ TrustZone®)
- SECWM1_PSTRT = 0x0 SECWM1_PEND = 0x3F (64 trên 128 trang của bộ nhớ flash bên trong được đặt là bảo mật) Lưu ý: Bộ nhớ flash bên trong được bảo mật hoàn toàn theo mặc định ở TZEN = 1. Các byte tùy chọn người dùng SECWM1_PSTRT/ SECWM1_PEND phải được đặt theo ứng dụng cấu hình bộ nhớ (vùng SAU, nếu SAU được bật). Trình liên kết dự án ứng dụng an toàn/không an toàn files cũng phải được căn chỉnh.
- Tất cả cũamples có cùng cấu trúc:
- Thư mục \Inc chứa tất cả tiêu đề files.
- Thư mục Src chứa mã nguồn.
- Các thư mục \EWARM, \MDK-ARM và \STM32CubeIDE chứa dự án được cấu hình sẵn cho mỗi chuỗi công cụ.
- readme.md và readme.html mô tả examphành vi và môi trường cần thiết để làm cho nó hoạt động.
- ioc file cho phép người dùng mở hầu hết các phần sụn cũampcác tập tin trong STM32CubeMX.
Bắt đầu với STM32CubeWBA
Chạy HAL cũ đầu tiênample
Phần này giải thích việc chạy phiên bản cũ đầu tiên đơn giản như thế nào.amptập tin trong STM32CubeWBA. Nó sử dụng như một minh họa cho việc tạo ra một đèn LED bật tắt đơn giản chạy trên bo mạch NUCLEO-WBA52CG:
- Tải xuống gói MCU STM32CubeWBA.
- Giải nén nó vào một thư mục bạn chọn.
- Đảm bảo không sửa đổi cấu trúc gói được hiển thị trong Hình 1. Bạn cũng nên sao chép gói ở vị trí gần với ổ đĩa gốc của mình (nghĩa là C:\ST hoặc G:\Tests), vì một số IDE gặp phải sự cố khi đường dẫn chiều dài quá dài.
Chạy ứng dụng cũ được kích hoạt TrustZone® đầu tiênample
- Trước khi tải và chạy một ví dụ đã kích hoạt TrustZone®ample, bắt buộc phải đọc example đọc tôi file đối với bất kỳ cấu hình cụ thể nào, điều này đảm bảo rằng bảo mật được kích hoạt như mô tả trong Phần 4.2.1 các dự án hỗ trợ TrustZone® (TZEN=1 (byte tùy chọn người dùng)).
- Duyệt đến \Projects\NUCLEO-WBA52CG\Exampđồng nghiệp.
- Mở thư mục \GPIO, sau đó là \GPIO_IOToggle_TrustZone.
- Mở dự án bằng chuỗi công cụ ưa thích của bạn. Kết thúc nhanh chóngview về cách mở, xây dựng và chạy một ứng dụng cũamptập tin với các chuỗi công cụ được hỗ trợ được đưa ra dưới đây.
- Xây dựng lại theo trình tự tất cả các dự án an toàn và không an toàn files và tải các hình ảnh an toàn và không an toàn vào bộ nhớ đích.
- Chạy người yêu cũample: thường xuyên, ứng dụng bảo mật chuyển đổi LD2 mỗi giây và ứng dụng không bảo mật chuyển đổi LD3 nhanh gấp đôi. Để biết thêm chi tiết, hãy tham khảo readme file của người yêu cũamplà.
- Để mở, xây dựng và chạy một ứng dụng cũample với các chuỗi công cụ được hỗ trợ, hãy làm theo các bước dưới đây:
- EWARM:
- Dưới người yêu cũamptập tin, mở thư mục con \EWARM.
- Khởi chạy không gian làm việc Project.eww
- Xây dựng lại dự án an toàn xxxxx_S files: [Dự án]>[Xây dựng lại tất cả].
- Đặt dự án không an toàn xxxxx_NS làm ứng dụng Hoạt động (nhấp chuột phải vào dự án xxxxx_NS [Đặt làm Hoạt động])
- Xây dựng lại dự án không an toàn xxxxx_NS files: [Dự án]>[Xây dựng lại tất cả].
- Flash tệp nhị phân không an toàn với [Project]>[Download]>[Download active application] .
- Đặt xxxxx_S làm ứng dụng Hoạt động (nhấp chuột phải vào dự án xxxxx_S [Đặt làm Hoạt động].
- Flash tệp nhị phân an toàn bằng [Tải xuống và gỡ lỗi] (Ctrl+D).
- Chạy chương trình: [Debug]>[Go(F5)]
- MDK-ARM:
- Mở chuỗi công cụ \MDK-ARM.
- Mở không gian làm việc Multiprojects file Dự án.uvmpw.
- Chọn dự án xxxxx_s làm Ứng dụng hiện hoạt ([Đặt làm dự án hiện hoạt]).
- Xây dựng dự án xxxxx_s.
- Chọn dự án xxxxx_ns làm Dự án đang hoạt động ([Đặt làm dự án đang hoạt động]).
- Xây dựng dự án xxxxx_ns.
- Tải tệp nhị phân không an toàn ([F8]). Điều này tải \MDK-ARM\xxxxx_ns\Exe\xxxxx_ns.axf vào bộ nhớ flash)
- Chọn dự án Project_s làm dự án Đang hoạt động ([Đặt làm dự án đang hoạt động]).
- Tải nhị phân an toàn ([F8]). Thao tác này sẽ tải \MDK-ARM\xxxxx_s\Exe\xxxxx_s.axf xuống bộ nhớ flash).
- Chạy người yêu cũamplà.
- STM32CubeIDE:
- Mở chuỗi công cụ STM32CubeIDE.
- Mở không gian làm việc Multiprojects file .dự án.
- Xây dựng lại dự án xxxxx_Secure.
- Xây dựng lại dự án xxxxx_NonSecure.
- Khởi chạy ứng dụng [Gỡ lỗi dưới dạng STM32 Cortex-M C/C++] cho dự án bảo mật.
- Trong cửa sổ [Chỉnh sửa cấu hình], chọn bảng [Khởi động] và thêm tải hình ảnh và biểu tượng của dự án không an toàn.
Quan trọng: Dự án không an toàn phải được tải trước dự án an toàn. - Nhấp vào [Được].
- Chạy người yêu cũamptập tin về quan điểm gỡ lỗi.
- EWARM:
Chạy một người dùng cũ bị vô hiệu hóa TrustZone® đầu tiênample
- Trước khi tải và chạy một máy cũ bị vô hiệu hóa TrustZone®ample, bắt buộc phải đọc example đọc tôi file cho bất kỳ cấu hình cụ thể. Nếu không có đề cập cụ thể, hãy đảm bảo rằng thiết bị bo mạch đã bị tắt bảo mật (TZEN=0 (byte tùy chọn người dùng)). Xem Câu hỏi thường gặp để thực hiện hồi quy tùy chọn về TZEN = 0
- Duyệt đến \Projects\NUCLEO-WBA52CG\Exampđồng nghiệp.
- Mở thư mục \GPIO, sau đó là \GPIO_EXTI.
- Mở dự án bằng chuỗi công cụ ưa thích của bạn. Kết thúc nhanh chóngview về cách mở, xây dựng và chạy một ứng dụng cũamptập tin với các chuỗi công cụ được hỗ trợ được đưa ra dưới đây.
- Xây dựng lại tất cả files và tải hình ảnh của bạn vào bộ nhớ đích.
- Chạy người yêu cũample: Mỗi lần nhấn nút ấn [USER], đèn LED LD1 sẽ chuyển đổi. Để biết thêm chi tiết, hãy tham khảo readme file của người yêu cũamplà.
- Để mở, xây dựng và chạy một ứng dụng cũample với các chuỗi công cụ được hỗ trợ, hãy làm theo các bước dưới đây:
- EWARM:
- Dưới người yêu cũamptập tin, mở thư mục con \EWARM.
- Khởi chạy không gian làm việc Project.eww (tên không gian làm việc có thể thay đổi từ tên cũample sang người khác).
- Xây dựng lại tất cả files: [Dự án]>[Xây dựng lại tất cả].
- Tải hình ảnh dự án: [Project]>[Debug].
- Chạy chương trình: [Debug]>[Go (F5)].
- MDK-ARM:
- Dưới người yêu cũamptập tin, hãy mở thư mục con \MDK-ARM.
- Khởi chạy không gian làm việc Project.uvproj (tên không gian làm việc có thể thay đổi từ tên cũample sang người khác).
- Xây dựng lại tất cả files:[Project]>[Xây dựng lại tất cả mục tiêu fileNS].
- Tải hình ảnh dự án: [Debug]>[Start/Stop Debug Session].
- Chạy chương trình: [Debug]>[Run (F5)].
- STM32CubeIDE:
- Mở chuỗi công cụ STM32CubeIDE.
- Nhấp chuột [File]>[Switch Workspace]>[Other] và duyệt đến thư mục không gian làm việc STM32CubeIDE.
- Nhấp chuột [File]>[Nhập] , chọn [Chung]>[Dự án hiện có vào không gian làm việc] rồi nhấp vào [Tiếp theo].
- Duyệt đến thư mục không gian làm việc STM32CubeIDE và chọn dự án.
- Xây dựng lại toàn bộ dự án files: Chọn dự án trong cửa sổ [Project Explorer] sau đó nhấp vào menu [Project]>[Build project].
- Chạy chương trình: [Run]>[Debug (F11)]
- EWARM:
Phát triển một ứng dụng tùy chỉnh
Ghi chú: Phần mềm phải kích hoạt bộ đệm lệnh (ICACHE) để thực thi trạng thái chờ 0 từ bộ nhớ flash và đạt hiệu suất tối đa cũng như mức tiêu thụ điện năng tốt hơn.
Sử dụng STM32CubeMX để phát triển hoặc cập nhật ứng dụng
- Trong gói MCU STM32CubeWBA, gần như tất cả các dự án cũ đềuampcác tập tin được tạo bằng công cụ STM32CubeMX để khởi tạo hệ thống, thiết bị ngoại vi và phần mềm trung gian.
- Việc sử dụng trực tiếp một dự án hiện cóamptập tin từ công cụ STM32CubeMX yêu cầu STM32CubeMX 6.10.0 trở lên:
- Sau khi cài đặt STM32CubeMX, hãy mở và cập nhật dự án được đề xuất nếu cần. Cách đơn giản nhất để mở một dự án hiện có là nhấp đúp vào tệp *.ioc file để STM32CubeMX tự động mở dự án và nguồn của nó files.
- STM32CubeMX tạo mã nguồn khởi tạo của các dự án đó. Mã nguồn ứng dụng chính được chứa trong các nhận xét “MÃ NGƯỜI DÙNG BẮT ĐẦU” và “MÃ NGƯỜI DÙNG KẾT THÚC”. Trong trường hợp lựa chọn và cài đặt IP bị sửa đổi, STM32CubeMX sẽ cập nhật phần khởi tạo của mã nhưng vẫn giữ nguyên mã nguồn ứng dụng chính.
- Để phát triển dự án tùy chỉnh trong STM32CubeMX, hãy làm theo quy trình từng bước:
- Chọn bộ vi điều khiển STM32 phù hợp với bộ thiết bị ngoại vi cần thiết.
- Định cấu hình tất cả phần mềm nhúng cần thiết bằng cách sử dụng trình giải quyết xung đột sơ đồ chân, trình trợ giúp cài đặt cây đồng hồ, công cụ tính mức tiêu thụ điện năng và tiện ích thực hiện cấu hình ngoại vi MCU (chẳng hạn như GPIO hoặc USART) và ngăn xếp phần mềm trung gian (chẳng hạn như USB).
- Tạo mã C khởi tạo dựa trên cấu hình đã chọn. Mã này đã sẵn sàng để sử dụng trong một số môi trường phát triển. Mã người dùng được lưu giữ ở lần tạo mã tiếp theo.
- Để biết thêm thông tin về STM32CubeMX, hãy tham khảo hướng dẫn sử dụng STM32CubeMX để biết cấu hình STM32 và khởi tạo mã C (UM1718).
- Để biết danh sách các dự án có sẵn cũamptập tin dành cho STM32CubeWBA, hãy tham khảo ghi chú ứng dụng firmware STM32Cube cũamptập tin dành cho dòng STM32WBA (AN5929).
Ứng dụng trình điều khiển
ứng dụng HAL
Phần này mô tả các bước cần thiết để tạo ứng dụng HAL tùy chỉnh bằng STM32CubeWBA:
- Tạo một dự án
- Để tạo một dự án mới, hãy bắt đầu từ dự án Mẫu được cung cấp cho mỗi bảng trong \Projects\ \Templates hoặc từ bất kỳ dự án có sẵn nào trong \Projects\ \Bài kiểm tra hoặc \Dự án\ \Ứng dụng (trong đó đề cập đến tên bảng, chẳng hạn như STM32CubeWBA).
- Dự án Mẫu cung cấp chức năng vòng lặp chính trống. Tuy nhiên, đây là điểm khởi đầu tốt để hiểu cài đặt dự án STM32CubeWBA. Mẫu có các đặc điểm sau:
- Nó chứa mã nguồn HAL, trình điều khiển CMSIS và BSP, là bộ thành phần tối thiểu cần thiết để phát triển mã trên một bảng nhất định.
- Nó chứa các đường dẫn đi kèm cho tất cả các thành phần phần sụn.
- Nó xác định các thiết bị dòng STM32WBA được hỗ trợ, cho phép trình điều khiển CMSIS và HAL được cấu hình chính xác.
- Nó cung cấp cho người dùng sẵn sàng sử dụng fileđược cấu hình sẵn như hình dưới đây:
HAL được khởi tạo với cơ sở thời gian mặc định với SysTick lõi Arm®. SysTick ISR được triển khai cho mục đích HAL_Delay().
Ghi chú: Khi sao chép dự án hiện có sang vị trí khác, hãy đảm bảo tất cả các đường dẫn đi kèm đều được cập nhật.
- Thêm phần mềm trung gian cần thiết vào dự án người dùng (tùy chọn)
Để xác định nguồn files sẽ được thêm vào dự án file list, hãy tham khảo tài liệu được cung cấp cho từng phần mềm trung gian. Tham khảo các ứng dụng trong \Projects\STM32xxx_yyy\Applications\ (Ở đâu đề cập đến ngăn xếp phần mềm trung gian, chẳng hạn như ThreadX) để biết nguồn nào files và bao gồm các đường dẫn phải được thêm vào. - Cấu hình các thành phần phần sụn
Các thành phần HAL và phần mềm trung gian cung cấp một tập hợp các tùy chọn cấu hình tại thời điểm xây dựng bằng cách sử dụng macro #define được khai báo trong tiêu đề file. Cấu hình mẫu file được cung cấp trong mỗi thành phần, phải được sao chép vào thư mục dự án (thường là cấu hình file có tên là xxx_conf_template.h, từ _template cần được bỏ đi khi sao chép vào thư mục dự án). Cấu hình file cung cấp đủ thông tin để hiểu tác động của từng tùy chọn cấu hình. Thông tin chi tiết hơn có sẵn trong tài liệu được cung cấp cho từng thành phần. - Bắt đầu thư viện HAL
Sau khi nhảy vào chương trình chính, mã ứng dụng phải gọi API HAL_Init() để khởi tạo thư viện HAL, thực hiện các tác vụ sau:- Cấu hình tìm nạp trước bộ nhớ flash và ưu tiên ngắt SysTick (thông qua các macro được xác định trong st m32wbaxx_hal_conf.h).
- Cấu hình của SysTick để tạo ra một ngắt mỗi mili giây ở mức ưu tiên ngắt SysTick TICK_INT_PRIO được xác định trong stm32wbaxx_hal_conf.h.
- Đặt mức độ ưu tiên của nhóm NVIC thành 0.
- Lệnh gọi hàm gọi lại HAL_MspInit() được xác định trong người dùng stm32wbaxx_hal_msp.c file để thực hiện khởi tạo phần cứng cấp thấp toàn cầu.
- Cấu hình đồng hồ hệ thống
Cấu hình đồng hồ hệ thống được thực hiện bằng cách gọi hai API được mô tả bên dưới:- HAL_RCC_OscConfig(): API này cấu hình các bộ dao động bên trong và bên ngoài. Người dùng chọn cấu hình một hoặc tất cả các bộ dao động.
- HAL_RCC_ClockConfig(): API này định cấu hình nguồn đồng hồ hệ thống, độ trễ của bộ nhớ flash cũng như bộ chia tỷ lệ trước AHB và APB.
- Khởi tạo thiết bị ngoại vi
- Đầu tiên hãy viết hàm HAL_PPP_MspInit ngoại vi. Tiến hành như sau:
- Kích hoạt đồng hồ ngoại vi.
- Định cấu hình GPIO ngoại vi.
- Định cấu hình kênh DMA và bật ngắt DMA (nếu cần).
- Kích hoạt ngắt ngoại vi (nếu cần).
- Chỉnh sửa stm32xxx_it.c để gọi các trình xử lý ngắt cần thiết (ngoại vi và DMA), nếu cần.
- Viết các hàm gọi lại hoàn chỉnh cho quy trình, nếu có kế hoạch sử dụng ngắt ngoại vi hoặc DMA.
- Trong người dùng main.c file, khởi tạo cấu trúc điều khiển ngoại vi sau đó gọi hàm HAL_PPP_Init() để khởi tạo thiết bị ngoại vi.
- Đầu tiên hãy viết hàm HAL_PPP_MspInit ngoại vi. Tiến hành như sau:
- Phát triển một ứng dụng
- Tại đây stage, hệ thống đã sẵn sàng và quá trình phát triển mã ứng dụng người dùng có thể bắt đầu.
- HAL cung cấp các API trực quan và sẵn sàng sử dụng để định cấu hình thiết bị ngoại vi. Nó hỗ trợ thăm dò, ngắt và mô hình lập trình DMA để đáp ứng mọi yêu cầu ứng dụng. Để biết thêm chi tiết về cách sử dụng từng thiết bị ngoại vi, hãy tham khảo tài liệu phong phúamptập tin được cung cấp trong gói MCU STM32CubeWBA.
Thận trọng: Trong triển khai HAL mặc định, bộ đếm thời gian SysTick được sử dụng làm cơ sở thời gian: nó tạo ra các ngắt theo các khoảng thời gian đều đặn. Nếu HAL_Delay() được gọi từ quy trình ISR ngoại vi, hãy đảm bảo rằng ngắt SysTick có mức ưu tiên cao hơn (thấp hơn về mặt số) so với ngắt ngoại vi. Nếu không, quá trình ISR của người gọi sẽ bị chặn. Các chức năng ảnh hưởng đến cấu hình cơ sở thời gian được khai báo là __weak để có thể ghi đè trong trường hợp triển khai khác trong người dùng file (sử dụng đồng hồ hẹn giờ có mục đích chung, ví dụample hoặc nguồn thời gian khác). Để biết thêm chi tiết, hãy tham khảo HAL_TimeBase cũamplà.
ứng dụng LL
Phần này mô tả các bước cần thiết để tạo ứng dụng LL tùy chỉnh bằng STM32CubeWBA.
- Tạo một dự án
- Để tạo một dự án mới, hãy bắt đầu từ dự án Mẫu_LL được cung cấp cho mỗi bảng trong \Projects\ \Templates_LL hoặc từ bất kỳ dự án có sẵn nào trong \Projects\ \Bán tạiamples_LL ( đề cập đến tên bảng, chẳng hạn như NUCLEO-WBA32CG).
- Dự án mẫu cung cấp chức năng vòng lặp chính trống, đây là điểm khởi đầu tốt để hiểu cài đặt dự án cho STM32CubeWBA. Các đặc điểm chính của mẫu như sau:
- Nó chứa mã nguồn của trình điều khiển LL và CMSIS, đây là bộ thành phần tối thiểu cần thiết để phát triển mã trên một bảng nhất định.
- Nó chứa các đường dẫn đi kèm cho tất cả các thành phần phần sụn cần thiết.
- Nó chọn thiết bị dòng STM32WBA được hỗ trợ và cho phép cấu hình chính xác trình điều khiển CMSIS và LL.
- Nó cung cấp cho người dùng sẵn sàng sử dụng files được cấu hình sẵn như sau:
◦ main.h: Lớp trừu tượng định nghĩa LED và USER_BUTTON.
◦ main.c: Cấu hình đồng hồ hệ thống cho tần số tối đa.
- Chuyển một dự án hiện có sang một bảng khác
Để hỗ trợ một dự án hiện có trên một bảng mục tiêu khác, hãy bắt đầu từ dự án Mẫu_LL được cung cấp cho mỗi bảng và có sẵn trong \Projects\ \Templates_LL.- Chọn một LL cũample: Để tìm bảng có LL exampcác tập tin được triển khai, hãy tham khảo danh sách LL examptập tin STM32CubeProjectsList.html.
- Chuyển LL cũamplê:
- Sao chép/dán thư mục Mẫu_LL – để giữ nguồn ban đầu – hoặc cập nhật trực tiếp dự án Temp Lates_LL hiện có.
- Sau đó, việc chuyển chủ yếu bao gồm việc thay thế Mẫu_LL files của Exampdự án mục tiêu les_LL.
- Giữ tất cả các bộ phận cụ thể của bảng. Vì lý do rõ ràng, các phần cụ thể của bảng được gắn cờ bằng các ký hiệu cụ thể. tags:
- Vì vậy, các bước chuyển chính như sau:
- Thay thế stm32wbaxx_it.h file
- Thay thế stm32wbaxx_it.c file
- Thay thế main.h file và cập nhật nó: Giữ định nghĩa đèn LED và nút người dùng của mẫu LL trong CẤU HÌNH CỤ THỂ CỦA BAN tags.
- Thay thế main.c file và cập nhật nó:
- Giữ cấu hình đồng hồ của hàm mẫu SystemClock_Config() LL trong CẤU HÌNH CỤ THỂ CỦA BAN tags.
- Tùy thuộc vào định nghĩa LED, thay thế mỗi lần xuất hiện LDx bằng một LDy khác có sẵn trong main.h file.
- Với những sửa đổi này, cựuample bây giờ chạy trên bảng mục tiêu
Ứng dụng bảo mật
Gói này được phân phối cùng với các ứng dụng bảo mật.
Ứng dụng SBSFU
- SBSFU cung cấp giải pháp Root of Trust, bao gồm các chức năng Khởi động an toàn và Cập nhật chương trình cơ sở an toàn (dựa trên MCUboot).
- Giải pháp được sử dụng trước khi thực hiện ứng dụng.
- Giải pháp cung cấp một ví dụ cũamptập tin của một dịch vụ bảo mật (chuyển đổi GPIO), được tách biệt khỏi ứng dụng không bảo mật. Ứng dụng không an toàn trong thời gian chạy vẫn có thể sử dụng giải pháp này.
ứng dụng TFM
TFM cung cấp giải pháp Root of Trust bao gồm các chức năng Khởi động an toàn và Cập nhật chương trình cơ sở an toàn
(dựa trên MCUboot). Giải pháp được sử dụng trước khi thực hiện ứng dụng. Giải pháp này cung cấp các dịch vụ bảo mật TFM tách biệt khỏi ứng dụng không bảo mật. Ứng dụng không an toàn trong thời gian chạy vẫn có thể sử dụng giải pháp này.
Ứng dụng RF
Ứng dụng RF được mô tả trong ghi chú ứng dụng này: Xây dựng các ứng dụng không dây với bộ vi điều khiển dòng STM32WBA (AN5928).
Nhận bản cập nhật phát hành STM32CubeWBA
Các bản phát hành và bản vá lỗi gói STM32CubeWBA MCU mới nhất có sẵn từ STM32WBA Series. Chúng có thể được truy xuất từ nút KIỂM TRA CẬP NHẬT trong STM32CubeMX. Để biết thêm chi tiết, hãy tham khảo Phần 3 của hướng dẫn sử dụng STM32CubeMX để biết cấu hình STM32 và khởi tạo mã C (UM1718).
Câu hỏi thường gặp
- Khi nào tôi nên sử dụng HAL thay vì trình điều khiển LL?
- Trình điều khiển HAL cung cấp các API cấp cao và hướng chức năng với mức độ linh hoạt cao. Độ phức tạp của sản phẩm hoặc ngoại vi được ẩn đối với người dùng cuối.
- Trình điều khiển LL cung cấp API cấp đăng ký lớp thấp, với khả năng tối ưu hóa tốt hơn nhưng ít di động hơn. Họ yêu cầu kiến thức chuyên sâu về thông số kỹ thuật của sản phẩm hoặc IP.
- Tôi có thể sử dụng trình điều khiển HAL và LL cùng nhau không? Nếu tôi có thể, những hạn chế là gì?
- Có thể sử dụng cả trình điều khiển HAL và LL. Sử dụng HAL cho giai đoạn khởi tạo IP và sau đó quản lý các hoạt động I/O bằng trình điều khiển LL.
- Sự khác biệt chính giữa HAL và LL là trình điều khiển HAL yêu cầu tạo và sử dụng các tay cầm để quản lý vận hành trong khi trình điều khiển LL hoạt động trực tiếp trên các thanh ghi ngoại vi. Người cũamples_MIX cũample minh họa cách trộn HAL và LL.
- API khởi tạo LL được kích hoạt như thế nào?
- Định nghĩa về API khởi tạo LL và các tài nguyên liên quan (Cấu trúc, chữ và nguyên mẫu) được điều chỉnh bởi công tắc biên dịch USE_FULL_LL_DRIVER.
- Để có thể sử dụng API khởi tạo LL, hãy thêm khóa chuyển này vào bộ tiền xử lý trình biên dịch chuỗi công cụ.
- Làm cách nào STM32CubeMX có thể tạo mã dựa trên phần mềm nhúng?
STM32CubeMX có kiến thức tích hợp về bộ vi điều khiển STM32, bao gồm các thiết bị ngoại vi và phần mềm cho phép cung cấp biểu diễn đồ họa cho người dùng và tạo *.h hoặc *.c files dựa trên cấu hình người dùng.
THÔNG BÁO QUAN TRỌNG – ĐỌC KỸ
- STMicroelectronics NV và các công ty con (“ST”) có quyền thực hiện các thay đổi, chỉnh sửa, cải tiến, sửa đổi và cải thiện đối với các sản phẩm ST và/hoặc tài liệu này bất kỳ lúc nào mà không cần thông báo. Người mua nên tìm hiểu thông tin mới nhất có liên quan về các sản phẩm ST trước khi đặt hàng. Các sản phẩm ST được bán theo các điều khoản và điều kiện bán hàng của ST có hiệu lực tại thời điểm xác nhận đơn hàng.
- Người mua chịu toàn bộ trách nhiệm về việc lựa chọn, cân nhắc và sử dụng các sản phẩm ST và ST không chịu trách nhiệm về việc hỗ trợ ứng dụng hoặc thiết kế các sản phẩm của người mua.
- ST không cấp bất kỳ giấy phép nào, dù là rõ ràng hay ngụ ý, cho bất kỳ quyền sở hữu trí tuệ nào ở đây.
- Việc bán lại các sản phẩm ST với các điều khoản khác với thông tin được nêu ở đây sẽ làm mất hiệu lực bất kỳ bảo hành nào mà ST cấp cho sản phẩm đó.
- ST và logo ST là thương hiệu của ST. Để biết thêm thông tin về nhãn hiệu ST, hãy tham khảo www.st.com/trademarks. Tất cả các tên sản phẩm hoặc dịch vụ khác là tài sản của chủ sở hữu tương ứng.
- Thông tin trong tài liệu này thay thế và thay thế thông tin đã cung cấp trước đó trong bất kỳ phiên bản nào trước đây của tài liệu này.
- © 2023 STMicroelectronics – Bảo lưu mọi quyền
Tài liệu / Tài nguyên
![]() |
STMicroelectronics Dòng STM32WBA Bắt đầu [tập tin pdf] Hướng dẫn sử dụng Dòng STM32WBA Bắt đầu, Bắt đầu, Bắt đầu |