Mục lục:

Thiết lập Blue Pill Board trong STM32CubeIDE: 8 bước
Thiết lập Blue Pill Board trong STM32CubeIDE: 8 bước

Video: Thiết lập Blue Pill Board trong STM32CubeIDE: 8 bước

Video: Thiết lập Blue Pill Board trong STM32CubeIDE: 8 bước
Video: STM32CubeIDE - Hướng dẫn tạo Project 2024, Tháng mười một
Anonim
Thiết lập Bảng Blue Pill trong STM32CubeIDE
Thiết lập Bảng Blue Pill trong STM32CubeIDE
Thiết lập Bảng Blue Pill trong STM32CubeIDE
Thiết lập Bảng Blue Pill trong STM32CubeIDE

Blue Pill là một bảng phát triển ARM xương trần rất rẻ. Nó có STM32F103C8 làm bộ xử lý của nó có 64 kbyte flash và 20 kbyte bộ nhớ RAM. Nó chạy tới 72 MHz và là cách rẻ nhất để tham gia phát triển phần mềm nhúng ARM.

Hầu hết các dự án ví dụ và cách mô tả lập trình bảng Blue Pill bằng cách sử dụng môi trường Auduino. Mặc dù điều này hoạt động và là một cách để bắt đầu nhưng nó có những hạn chế của nó. Môi trường Arduino che chở bạn một chút khỏi phần cứng bên dưới - đó là mục tiêu thiết kế của nó. Vì điều này, bạn sẽ không thể tận dụng tất cả các tính năng mà bộ vi xử lý cung cấp và việc tích hợp hệ điều hành thời gian thực không thực sự được hỗ trợ. Điều này có nghĩa là môi trường Arduino không được sử dụng rộng rãi trong ngành công nghiệp. Nếu bạn đang muốn tạo dựng sự nghiệp trong lĩnh vực phát triển phần mềm nhúng, Arduino là một nơi khởi đầu tốt, nhưng bạn cần phải tiếp tục và sử dụng một môi trường phát triển được sử dụng trong công nghiệp. ST cung cấp một cách hữu ích bộ môi trường phát triển hoàn toàn miễn phí cho bộ vi xử lý của họ có tên là STM32CubeIDE. Điều này được sử dụng rộng rãi trong ngành công nghiệp, vì vậy nó là một trong những điều tốt để chuyển sang.

Tuy nhiên, đây là vấn đề lớn, STM32CubeIDE rất phức tạp và là một phần mềm khó sử dụng. Nó hỗ trợ tất cả các tính năng của tất cả các bộ vi xử lý của ST và cho phép chúng được định cấu hình riêng biệt, điều mà bạn không gặp trong Arduino IDE vì tất cả đều được thực hiện cho bạn.

Bạn cần thiết lập bảng của mình như bước đầu tiên trong STM32CubeIDE. IDE biết về các bảng phát triển riêng của ST và thiết lập chúng cho bạn, nhưng Blue Pill, trong khi sử dụng bộ xử lý ST, nó không phải là sản phẩm ST, vì vậy bạn tự túc ở đây.

Tài liệu hướng dẫn này sẽ đưa bạn qua quá trình thiết lập bảng Blue Pill, kích hoạt cổng nối tiếp và viết ra một số văn bản. Nó không nhiều, nhưng đó là một bước đầu tiên quan trọng.

Quân nhu

STM32CubeIDE - tải xuống từ trang web của ST. Bạn cần đăng ký và phải mất một lúc để tải xuống.

Một bảng Blue Pill. Bạn có thể lấy chúng từ ebay. Bạn cần một cái có bộ xử lý ST chính hãng trong khi một số không có. Trong ebay phóng to hình ảnh và tìm logo ST trên bộ xử lý.

Trình gỡ lỗi / lập trình viên ST-LINK v2 có sẵn trên ebay với giá vài pound.

Một cáp nối tiếp FTDI TTL sang USB 3.3V cho đầu ra và 2 dây tiêu đề đực sang cái để kết nối nó.

Một chương trình đầu cuối nối tiếp như PuTTY.

Bước 1: Tạo một dự án mới

Tạo một dự án mới
Tạo một dự án mới
Tạo một dự án mới
Tạo một dự án mới
  1. Khởi động STM32CubeIDE và sau đó từ menu, chọn File | New | STM32 Project.
  2. Trong hộp Tìm kiếm số bộ phận, nhập STM32F103C8.
  3. Trong Danh sách MCU / MPU, bạn sẽ thấy STM32F103C8. Chọn dòng này như trong hình trên.
  4. Bấm tiếp.
  5. Trong hộp thoại Thiết lập Dự án, cung cấp cho bạn một tên dự án.
  6. Để mọi thứ khác như cũ và nhấp vào Hoàn tất. Dự án của bạn sẽ xuất hiện ở bên trái trong ngăn Project Explorer.

Bước 2: Định cấu hình Bộ xử lý

Cấu hình bộ xử lý
Cấu hình bộ xử lý
Cấu hình bộ xử lý
Cấu hình bộ xử lý
Cấu hình bộ xử lý
Cấu hình bộ xử lý
Cấu hình bộ xử lý
Cấu hình bộ xử lý
  1. Trong ngăn Project Explorer, mở dự án của bạn và nhấp đúp vào tệp.ioc.
  2. Trên tab Dự án & Cấu hình, hãy mở rộng Lõi Hệ thống rồi chọn SYS.
  3. Trong Chế độ và Cấu hình SYS trong menu thả xuống Gỡ lỗi, hãy chọn Dây nối tiếp.
  4. Bây giờ chọn RCC trong danh sách System Core ngay trên SYS mà bạn đã chọn ở trên.
  5. Trong Chế độ & Cấu hình RCC từ menu thả xuống Đồng hồ tốc độ cao (HSE), hãy chọn Bộ cộng hưởng bằng pha lê / gốm.
  6. Bây giờ trong Danh mục một lần nữa, hãy mở Kết nối và chọn USART2.
  7. Trong Chế độ và cấu hình USART2 từ menu thả xuống Chế độ, hãy chọn Không đồng bộ.
  8. Bây giờ chọn tab Cấu hình đồng hồ và chuyển sang bước tiếp theo.

Bước 3: Định cấu hình đồng hồ

Cấu hình đồng hồ
Cấu hình đồng hồ

Bây giờ bạn có thể thấy một sơ đồ đồng hồ khá khó khăn, nhưng nó chỉ cần thiết lập một lần. Đây là điều khó mô tả ở đây vì sơ đồ rất phức tạp. Tất cả những thứ bạn cần thay đổi được đánh dấu trong hình trên.

  1. Bo mạch Blue Pill đi kèm với một tinh thể 8 MHz trên bo mạch và đó là sơ đồ cấu hình đồng hồ mặc định, vì vậy chúng ta không cần phải thay đổi điều đó.
  2. Trong PLL Source Mux, chọn lựa chọn thấp hơn, HSE.
  3. Chỉ cần đặt đúng PLLMul thành X9.
  4. Ở bên phải một lần nữa trong System Clock Mux, chọn PLLCLK.
  5. Ở bên phải một lần nữa trong APB1 Prescalar, chọn / 2.
  6. Đó là nó. Nếu bạn thấy bất kỳ phần nào của sơ đồ được đánh dấu bằng màu tím, bạn đã làm sai điều gì đó.

Bước 4: Lưu và xây dựng

  1. Lưu cấu hình.ioc bằng Ctrl-S. Khi bạn được hỏi có muốn tạo mã hay không, hãy chọn Có (và đánh dấu vào Ghi nhớ quyết định của tôi để bạn không bị hỏi lần nào). Bạn có thể đóng tệp.ioc.
  2. Bây giờ tạo một bản dựng từ menu Project | Build Project.

Bước 5: Thêm một số mã

Thêm một số mã
Thêm một số mã
Thêm một số mã
Thêm một số mã

Bây giờ chúng ta sẽ thêm một số mã để sử dụng cổng nối tiếp mà chúng ta đã định cấu hình.

  1. Trong Project Explorer, mở Core / Src và nhấp đúp vào main.c để chỉnh sửa nó.
  2. Cuộn xuống cho đến khi bạn tìm thấy hàm main () và thêm mã hiển thị bên dưới ngay bên dưới nhận xét / * MÃ NGƯỜI DÙNG BẮT ĐẦU 3 * / sau đó thực hiện xây dựng lại.

HAL_UART_Transmit (& huart2, (uint8_t *) "Xin chào mọi người! / R / n", 15U, 100U);

Tiếp theo, nó kết nối phần cứng lên và bắt đầu.

Bước 6: Kết nối phần cứng

Kết nối phần cứng
Kết nối phần cứng
Kết nối phần cứng
Kết nối phần cứng

Kết nối ST-LINK v2

ST-LINK v2 lẽ ra phải đi kèm với cáp ribbon tiêu đề 4 dây từ nữ đến nữ. Bạn cần thực hiện các kết nối sau:

Blue Pill to ST-LINK v2

GND sang GND

CLK sang SWCLK

DIO thành SWDIO

3,3 đến 3,3V

Xem hình ảnh đầu tiên ở trên.

Kết nối cáp nối tiếp

Nếu bạn quay lại tệp.ioc và nhìn vào sơ đồ chip bên phải, bạn sẽ thấy dòng Tx của UART2 nằm trên chân PA2. Để kết nối chân có nhãn PA2 trên bảng Blue Pill với kết nối với dây màu vàng trên cáp nối tiếp FTDI. Đồng thời kết nối một trong các chân nối đất của Blue Pill (có nhãn G) với dây màu đen trên cáp nối tiếp FTDI.

Xem hình ảnh thứ hai ở trên.

Bước 7: Gỡ lỗi

Gỡ lỗi
Gỡ lỗi
Gỡ lỗi
Gỡ lỗi

Cắm cáp nối tiếp FTDI của bạn và kích hoạt thiết bị đầu cuối nối tiếp ở 115200 baud. Sau đó, cắm ST-LINK v2 của bạn và bạn đã sẵn sàng.

  1. Từ STM32CubeIDE chọn Run | Debug. Khi hộp thoại Debug as bật lên, chọn STM32 Cortex-M C / C ++ Application và OK.
  2. Khi hộp thoại Chỉnh sửa cấu hình bật lên, chỉ cần nhấn OK.
  3. Trình gỡ lỗi sẽ ngắt trên dòng đầu tiên của hàm main (). Từ menu, chọn Chạy | Tiếp tục và kiểm tra các thông báo trong thiết bị đầu cuối nối tiếp.

Bước 8: Làm thêm

Vậy là xong, ứng dụng STM32CubeIDE đầu tiên của bạn đã được cấu hình và chạy. Ví dụ này không làm được gì nhiều - chỉ gửi một số dữ liệu ra khỏi cổng nối tiếp.

Để sử dụng các thiết bị ngoại vi khác và viết trình điều khiển cho các thiết bị bên ngoài, bạn phải giải quyết lại trình soạn thảo cấu hình khó khăn đó! Để trợ giúp, tôi đã tạo ra một loạt các dự án mẫu STM32CubeIDE cấu hình và thực hiện tất cả các thiết bị ngoại vi trên bộ xử lý của Blue Pill trong các dự án nhỏ dễ hiểu. Tất cả chúng đều là mã nguồn mở và bạn có thể tự do làm bất cứ điều gì bạn muốn với chúng. Mỗi thiết bị ngoại vi được cấu hình và sau đó có mã mẫu để thực hiện nó một cách riêng biệt (gần như vậy!) Để bạn có thể tập trung vào việc chỉ một thiết bị ngoại vi hoạt động tại một thời điểm.

Ngoài ra còn có trình điều khiển cho các thiết bị bên ngoài từ chip EEPROM đơn giản đến cảm biến áp suất, LCD văn bản và đồ họa, modem SIM800 cho TCP, HTTP và MQTT, bàn phím, mô-đun radio, USB và cũng tích hợp với FatFS, thẻ SD và FreeRTOS.

Tất cả chúng đều có thể được tìm thấy trong Github tại đây…

github.com/miniwinwm/BluePillDemo

Đề xuất: