C++ Nhúng Hiện Đại: Di chuyển ngữ nghĩa không phải là ma thuật, mà là thực hành kỹ thuật chuyển giao tài nguyên
Trong lập trình nhúng C++, khi viết lớp truyền dữ liệu qua USB và cần chuyển một vùng đệm DMA 4KB từ hàng đợi nhận sang luồng xử lý, bạn có thể viết như sau:
class DMABuffer {
std::array<uint8_t, 4096> data;
size_t length;
public:
DMABuffer(size_t len) : length(len) {
// Dữ liệu 4KB đã sẵn sàng
}
};
void usb ...
Đăng vào ngày 13 tháng 7 lúc 03:29
Phương pháp lấy số seri thẻ SD trên Windows CE 6.0
Trong cộng đồng lập trình nhúng, việc bảo vệ phần mềm thông qua mã hóa hoặc đọc số seri phần cứng luôn là chủ đề nóng. Hai phương pháp này có ưu và nhược điểm riêng. Đối với cách đọc số seri phần cứng, nó phụ thuộc nhiều vào thiết bị cụ thể. Thông thường, CPU và thẻ T-Flash có thể chứa số seri. Bài viết này sẽ trình bày chi tiết cách đọc số ser ...
Đăng vào ngày 12 tháng 7 lúc 12:58
Giới thiệu về công cụ lượng hóa DNN: QKeras
Giới thiệu về QKeras
QKeras là một thư viện mở rộng của Keras, được thiết kế để lượng hóa các mô hình học sâu, giúp chuyển đổi trọng số từ định dạng số thực sang định dạng độ chính xác thấp. Mục tiêu chính của QKeras là tối ưu hóa lưu trữ và tốc độ suy luận của mô hình, đặc biệt phù hợp cho các thiết bị có tài nguyên hạn chế như thiết bị di độn ...
Đăng vào ngày 3 tháng 7 lúc 05:59
Phân Tích Makefile Cấp Cao Nhất của U-Boot
Trong quá trình phân tích mã nguồn U-Boot, cần xem xét cấu trúc thư mục và các file Makefile. Sau đây là hướng dẫn chi tiết về cách làm việc với U-Boot trong môi trường Ubuntu.
Phân tích thư mục dự án U-Boot
Để bắt đầu, hãy tải mã nguồn U-Boot vào một thư mục trên hệ thống Ubuntu của bạn và biên dịch nó. Dưới đây là những thư mục chính cần ch ...
Đăng vào ngày 17 tháng 6 lúc 02:13
Triển khai mã QR với thư viện nayuki-qrcodegen trong C/C++
Tổng quan thư viện
QRCodegen là thư viện mã nguồn mở hỗ trợ tạo mã QR đa nền tảng, cung cấp phiên bản cho C, C++, Java, JavaScript, Python và Rust. Bài viết tập trung vào ứng dụng thực tế với phiên bản C/C++.
Triển khai trên C
Phiên bản C không sử dụng cấp phát bộ nhớ động, phù hợp cho hệ thống nhúng. Ví dụ minh họa:
#include <stdbool.h> ...
Đăng vào ngày 17 tháng 6 lúc 02:10
Thao tác với Flash trên STM32
Giới thiệu về Flash trên STM32
STM32 sử dụng mô-đun flash gồm: khối lưu trữ chính, khối thông tin và các thanh ghi giao tiếp bộ nhớ flash.
Khối lưu trữ chính: Lưu trữ mã và dữ liệu hằng số (dữ liệu kiểu const).
Khối thông tin: Chia thành hai phần:
Bộ nhớ hệ thống: Lưu trữ chương trình bootloader.
Chọn byte: Cấu hình bảo vệ đọc và v ...
Đăng vào ngày 15 tháng 6 lúc 01:02
Triển khai lớp hiển thị hoạt ảnh GIF trong môi trường EVC
Trong một dự án nhúng sử dụng môi trường phát triển Embedded Visual C++ (EVC), việc cung cấp phản hồi trực quan cho người dùng trong quá trình xử lý dài hạn như khởi động hệ thống, chờ xử lý ảnh lớn hoặc chuyển đổi giữa các chế độ là rất cần thiết. Một giải pháp hiệu quả là sử dụng hoạt ảnh GIF để biểu thị trạng thái đang chờ. Ban đầu, thông bá ...
Đăng vào ngày 1 tháng 6 lúc 16:20