Mục lục:
- Quân nhu
- Bước 1: Thu thập / Tạo nguồn cung cấp
- Bước 2: Xóa chương trình cơ sở hiện có
- Bước 3: Biên dịch và tải chương trình cơ sở của bạn vào CFA10052
- Bước 4: Giấy phép
Video: Hack CFA735 / CFA835: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Bạn có một dự án cần màn hình, bàn phím và một số bộ nhớ, nhưng phần sụn được tải sẵn trên mô-đun Crystalfontz CFA735 hoặc CFA835 không phải là thứ bạn đang tìm kiếm? Bạn là người may mắn - bạn có thể hack các mô-đun này để tải chương trình cơ sở tùy chỉnh.
CFA735 và CFA835 là các mô-đun LCD thông minh đa năng. Cả Crystalfontz CFA735 và CFA835 đều dựa trên mô-đun phần cứng CFA10052, vì vậy trong hướng dẫn này, CFA735 và / hoặc CFA835 sẽ được gọi là CFA10052. CFA10052 có thể được lập trình lại để chạy chương trình cơ sở tùy chỉnh của riêng bạn.
- Bộ vi điều khiển STMicroelectronics STM32F401
- CPU ARM 32-bit Cortex ™ -M4 @ 84 MHz
- Flash 256K, RAM 64K
- Màn hình LCD có đèn nền 244 x 68 pixel
- Bộ điều khiển LCD đồ họa Sitronix ST7529 32 thang độ xám
- Nguồn cung cấp chuyển mạch Buck-boost cho phép dải điện áp cung cấp rộng
- Bộ điều khiển độ sáng LED chuyển đổi riêng biệt cho bàn phím và đèn nền LCD
- Bàn phím có đèn nền 6 nút
- 4x đèn LED hai màu (đỏ / xanh lá cây)
- Giao diện USB2
- khe cắm thẻ nhớ microSD
- 5 chân IO đa năng (GPIO's)
- Nhiều giao diện nối tiếp / SPI / I2C / CAN (tùy thuộc vào việc sử dụng GPIO).
Hướng dẫn này sẽ chỉ cho bạn cách thay thế chương trình cơ sở đi kèm trên CFA10052 bằng chương trình cơ sở mới sẽ:
- Hiển thị trên màn hình LCD một lưới xen kẽ, với đèn nền hiện tại, độ tương phản LCD và thông tin trạng thái bàn phím;
- Điều khiển đèn nền và độ tương phản của màn hình LCD bằng bàn phím.
- Thay đổi màu của bốn đèn LED từ đỏ sang xanh lục theo thứ tự.
- Kích hoạt cổng nối tiếp USART trên chân Header-1 1 & 2 (115200 baud) và lặp lại mọi dữ liệu đã nhận.
- Bật cổng nối tiếp ảo USB và gửi lại mọi dữ liệu đã nhận trở lại máy chủ.
- Bao gồm, nhưng không chứng minh, quyền truy cập tệp đọc / ghi uSD.
Tất nhiên, bạn có thể viết phần sụn của riêng mình và tải nó bằng các bước sau.
LƯU Ý QUAN TRỌNG:
Mô-đun phần cứng Crystalfontz CFA10052 được lập trình với bộ nạp khởi động và chương trình cơ sở CFA735 / CFA835. Bộ nạp khởi động và chương trình cơ sở CFA735 / CFA835 không phải là mã nguồn mở và người dùng không thể sao chép từ CFA10052 ra khỏi CFA10052, cũng như người dùng không thể lập trình chúng trên CFA10052. Nếu bạn muốn hoàn nguyên về chương trình cơ sở CFA735 / CFA835, bạn sẽ phải gửi nó trở lại Crystalfontz để nó được lập trình lại.
Quân nhu
- Mô-đun Crystalfontz CFA10052 (phần cứng v1.1 trở lên) (CFA735 / CFA835)
- PC (Windows / Linux / OSX) có cài đặt STM32CubeIDE và STM32 ST-LINK Utility
- Giao diện lập trình STMicroelectronics ST-LINK (V2 hoặc V3)
- Cáp lập trình CFA10052 (chi tiết bên dưới)
- Phần mềm tùy chỉnh (hoặc sử dụng phần mềm của chúng tôi tại đây)
- Nếu bạn đang sử dụng Windows 7/8 / 8.1 / 10 (hoặc các phiên bản Máy chủ tương đương) và muốn kiểm tra cổng nối tiếp ảo USB, bạn sẽ cần tải xuống trình điều khiển từ đây. Cổng nối tiếp USB sẽ hoạt động mà không yêu cầu trình điều khiển bổ sung trên Windows 10+, Linux, OS-X.
Bước 1: Thu thập / Tạo nguồn cung cấp
Chúng tôi khuyên bạn nên sử dụng STM32CubeIDE để tải và sử dụng dự án chương trình cơ sở mẫu này. STM32CubeIDE là một IDE miễn phí dựa trên Eclipse đã được STMicroelectronics sửa đổi để bao gồm các công cụ cụ thể của STM32. IDE có thể được tải xuống trên trang web STM32CubeIDE.
Để duy trì hoạt động chính xác của công cụ cấu hình thiết bị STM, bạn chỉ phải chỉnh sửa mã nguồn của công cụ cấu hình thiết bị được tạo giữa các khối nhận xét "USER CODE BEGIN xxx" và "USER CODE END xxx" phù hợp.
Tiếp theo, hãy quyết định liên hệ với chúng tôi để mua cáp lập trình CFA10052 hay sản xuất cáp lập trình của riêng bạn. Chúng tôi sẽ không xem xét chi tiết việc tạo cáp trong hướng dẫn này, nhưng nếu bạn muốn tạo cáp lập trình CFA10052 của riêng mình, bạn có thể tìm các kết nối trên trang GitHub, cách tốt nhất để làm điều này là bắt đầu với cáp ruy-băng mười sáu chân và nối nó với cáp cho ST Link.
Bước 2: Xóa chương trình cơ sở hiện có
Nếu mô-đun CFA10052 của bạn được tải với chương trình cơ sở CFA735 hoặc CFA835 đi kèm, trước tiên, bạn sẽ cần xóa chương trình cơ sở đang thoát trước khi cài đặt chương trình cơ sở mới. Bộ nhớ flash được bảo vệ đọc và ghi và phải được gỡ bỏ trước khi có thể tải chương trình cơ sở tùy chỉnh.
Có hai phương pháp để gỡ bỏ phần sụn đã cài đặt:
- Ngắt kết nối cáp USB (hoặc nguồn điện) khỏi mô-đun CFA10052.
- Kết nối CFA10052 với ST-LINK bằng cáp lập trình (xem ở trên) và ST-LINK với PC chủ.
- Giữ phím lên và xuống trên CFA10052 trong khi cắm cáp USB vào CFA10052 (hoặc nguồn điện). CFA10052 lúc này sẽ hiển thị màn hình Bộ nạp khởi động Crystalfontz.
- Chạy STM32 ST-LINK Utility. Trong menu "Mục tiêu", mở cửa sổ "Số byte tùy chọn". Trong hộp "Bảo vệ Đọc ra", chọn "Mức 0". Nhấp vào Áp dụng. Phần vững Crystalfontz hiện đã được gỡ bỏ và bất kỳ phần mềm tùy chỉnh nào hiện có thể được lập trình.
Phương pháp thay thế (nếu bạn không thể vào Crystalfontz Bootloader bằng cách giữ các phím):
- Ngắt kết nối cáp USB (hoặc nguồn điện) khỏi mô-đun CFA10052.
- Kết nối điểm kiểm tra BOOT0 (một miếng đệm nhỏ ở mặt sau của mô-đun CFA10052, gần đầu nối H1) với 3,3V hoặc 5V.
- Kết nối CFA10052 với ST-LINK bằng cáp lập trình (xem ở trên) và ST-LINK với PC chủ.
- Bật nguồn CFA10052 (hoặc kết nối với nguồn USB). Màn hình phải trống.
- Chạy STM32 ST-LINK Utility. Trong menu "Target", mở cửa sổ "Option Bytes". Trong hộp "Read Out Protection", chọn "Level 0". Nhấp vào Áp dụng. Phần vững Crystalfontz hiện đã được gỡ bỏ và mọi chương trình cơ sở tùy chỉnh hiện có thể được lập trình.
- Không cần kết nối chân BOOT0 với 3.3V / 5V.
Bước 3: Biên dịch và tải chương trình cơ sở của bạn vào CFA10052
Khi chương trình cơ sở được cung cấp bởi Crystalfontz đã được gỡ bỏ, bạn đã sẵn sàng để biên dịch và tải chương trình cơ sở của riêng mình. Với mục đích của hướng dẫn này, chúng tôi đã cung cấp một số chương trình cơ sở thay thế cho phép bàn phím điều khiển độ sáng đèn nền và độ tương phản của màn hình.
Để biên dịch phần sụn:
- Mở STM32CubeIDE
- Trong menu Tệp, chọn Nhập, sau đó chọn "Nhập các dự án hiện có vào không gian làm việc".
- Trong hộp thư mục gốc, chọn thư mục của phần sụn mẫu này.
- Nhấp vào nút Kết thúc.
- Trong Project Explorer, chọn dự án cfa10052_example, sau đó mở tệp Src và "main.c".
- Trong menu Dự án, chọn "Xây dựng Dự án".
Để lập trình và chạy chương trình cơ sở trên CFA10052:
- Ngắt kết nối cáp USB (hoặc nguồn điện) khỏi mô-đun CFA10052.
- Kết nối CFA10052 với ST-LINK bằng cáp lập trình (xem ở trên) và ST-LINK với PC chủ.
- Kết nối cáp USB (hoặc nguồn điện) với CFA10052.
- Đảm bảo rằng dự án phần sụn đã được xây dựng (xem các bước ở trên) và "Binaries" xuất hiện trong "cfa10052_example" trong Project Explorer.
- Nếu "Binaries" không hiển thị, hãy nhấp chuột phải vào dự án "cfa10052_example" và chọn Làm mới.
- Chọn menu Run, sau đó chọn "Debug Configurations".
- Trong hộp chọn loại mục tiêu gỡ lỗi ở bên trái, Nhấp chuột phải vào "Ứng dụng STM32 Cortex-M" và chọn "Cấu hình mới".
- Một cửa sổ cấu hình sẽ được hiển thị. Cài đặt mặc định là OK. Nhấp vào Áp dụng sau đó nhấp vào nút Đóng.
- Trong menu Run, chọn "Debug As", sau đó chọn "STM32 Cortex Application". STM32CubeIDE bây giờ sẽ kết nối với ST-LINK, tải lên và chạy chương trình cơ sở trên CFA10052.
Các bước trên chỉ bắt buộc khi tải dự án lần đầu tiên trong STM32CubeIDE. Sau khi thay đổi mã nguồn phần sụn, chỉ cần xây dựng lại dự án (phím tắt Ctrl-B) và lập trình CFA10052 (phím tắt F11).
Phần mềm cơ sở cũng có thể được tải thông qua bất kỳ phương pháp nào của bộ nạp khởi động STM32 thông thường (gỡ lỗi chỉ khả dụng bằng giao diện SWD và ST-LINK). Ví dụ: nếu sử dụng kết nối nối tiếp, USART1 có thể được sử dụng (RX = H1-Pin1 và TX = H1-Pin2). Để biết thêm thông tin chi tiết về bộ nạp khởi động STM32 và giao diện, hãy xem PDF tại đây.
Bước 4: Giấy phép
Mã nguồn do Crystalfontz cung cấp được cung cấp bằng cách sử dụng The Unlicense, một giấy phép không có bất kỳ điều kiện nào dành cho miền công cộng. Các tác phẩm không được cấp phép, các sửa đổi và các tác phẩm lớn hơn có thể được phân phối theo các điều khoản khác nhau và không có mã nguồn. Hãy xem tệp UNLICENCE hoặc unacense.org để biết chi tiết.
STM32CubeIDE đã tạo mã nguồn và các thư viện STMicroelectronics là Bản quyền (c) 2019 STMicroelectronics. Đã đăng ký Bản quyền. Thành phần phần mềm được cấp phép bởi ST theo giấy phép BSD 3-Khoản, "Giấy phép"; Bạn không thể sử dụng các tệp này trừ khi tuân thủ Giấy phép. Bạn có thể nhận được một bản sao của Giấy phép tại opensource.org/licenses/BSD-3-Clause.
Đề xuất:
Hack trò chơi Chrome T-rex bằng Arduino: 5 bước
Hack trò chơi Chrome T-rex bằng Arduino: Trong hướng dẫn này, chúng tôi sẽ hack trò chơi chrome t-rex bằng arduino
Hack cửa nhà để xe của bạn: 5 bước
Hack cửa nhà để xe của bạn: Ai chưa từng mơ về nhà chỉ với một ứng dụng điện thoại hoặc có thể nghe và sao chép lại các chuyến xe điện? Tôi rất vui khi có thể chia sẻ với bạn những gì tôi đã nhận ra và cách tôi đã tiến hành. Tôi bắt đầu dự án này sau lần thứ hai tôi quên chìa khóa.
Đèn lồng Hack-O-Lantern nhấp nháy theo bài hát !: 6 bước
Đèn lồng Hack-O-Lantern nhấp nháy theo bài hát !: Làm một chiếc đèn lồng phát sáng và nhấp nháy đèn LED Nhiều Màu theo bài hát Halloween yêu thích của mọi người
Hack Action Camera Tuổi thọ pin: 4 bước (có hình ảnh)
Hack Tuổi thọ pin của máy ảnh hành động: Dù bạn có GoPro, Contour hoặc bất kỳ máy ảnh nào khác thì cái này là dành cho bạn! Pin máy quay thường là một vấn đề. Hoặc bạn đang quay video dài và chúng không tồn tại đủ lâu hoặc bạn chỉ quên sạc đầy pin trước đó. Có lẽ đó là rất nhiều
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy