A deep technical walkthrough explains how ARM's TrustZone-M security extension creates isolated secure and non-secure execution worlds on Cortex-M microcontrollers, protecting sensitive data like cryptographic keys from vulnerabilities in less-trusted code such as wireless drivers. The piece covers the underlying ARM security model (privilege levels, MPU, SAU), then walks through a minimal working example using Rust's nearing-stabilization CMSE calling conventions on the Raspberry Pi Pico 2 (RP235x), including memory map setup, SAU configuration, ACCESSCTRL peripheral access, and calling functions across the secure/non-secure boundary. It closes with three practical pain points in Rust tooling today: dual-binary flashing, limited dual-binary debugging support in probe-rs, and manual duplication of non-secure entry function prototypes, alongside plans for a hardware secure module demo.
Source: https://tweedegolf.nl/en/blog/241/using-trustzone-m-in-rust-on-the-raspberry-pi-pico-2. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000 DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try itPhiên bản 1.99.1 pre-release testing được thiết kế để giúp mọi người xây dựng phần mềm đáng tin cậy và hiệu quả. Sự thay đổi này tập trung vào việc cải thiện performance test suite với 45% giảm thời gian thực thi. Bài viết cung cấp bản fix cho lỗi memory leak trong module WebAssembly runtime. Đáng chú ý là patch cho bug gây crash khi xử lý concurrent requests trong server component. Nếu bạn làm việc với performance-critical application, những optimization này sẽ có tác động trực tiếp đến product scalability.
Bài viết này cung cấp hướng dẫn chi tiết về kiểm thử phiên bản pre-release 1.99.1 giúp lập trình viên nâng cao chất lượng và độ tin cậy của phần mềm.
Một nhà phát triển Gentoo phản đối việc sử dụng uv-build làm backend build gói Python do kích thước lớn của nó (1.2-1.5 MiB cho wheels so với chỉ 45 KiB của flit-core). Vấn đề kỹ thuật chính là uv-build được viết bằng Rust, gây ra việc build source liên tục do phiên bản mới thường xuyên phát hành, đồng thời gặp vấn đề về khả năng tương thích trên các nền tạn ít phổ biến như SPARC hay hệ thống 32-bit. Hệ quả là các nhà phân phối và packager phải chịu chi phí nặng nề trong khi người dùng bình thường vẫn sử dụng prebuilt wheels. Bài viết đưa ra bài học rằng lợi ích về tính nhất quán với uv và hiệu năng khoảng 100ms không đủ để bù đắp các nhược điểm kỹ thuật này.
Lập trình viên nên đọc bài này để hiểu những nhược điểm đáng kể của uv-build so với các giải pháp thay thế như flit-core trước khi quyết định sử dụng nó trong dự án.
VIEWE đã ra mắt board phát triển màn hình PLCM-UES31S043H800V480C-U với kích thước 4.3 inch, có lẽ là board phát triển thứ ba đầu tiên được tích hợp chip ESP32-S31. Module này được thiết kế cho các ứng dụng IoT cần giao diện người dùng, hỗ độ phân giải 800x480 pixel. Điểm đáng chú ý là board này kết hợp được cả tính năng Wi-Fi và Bluetooth low energy, phù hợp cho các thiết bị IoT cần kết nối. Với giá thành chỉ 14.99 USD, đây là lựa chọn hấp dẫn cho các dự án cần giao diện đồ họa nhẹ nhưng vẫn đủ các tính năng hiện đại.
Bài giới thiệu module ESP32-S31 này giúp bạn có thêm lựa chọn phát triển board hiển thị 4.3 inch đa năng với hiệu năng mạnh mẽ.
Tác giả đã bắt đầu xây dựng một text editor riêng để thử nghiệm GPUI, framework UI được …
Valen giới thiệu borrow checker mới dựa trên thiết kế Group Borrowing của Nick Smith, nới lỏng quy tắc shared-xor-mutable của Rust thành đảm bảo no-use-after-free linh hoạt hơn. Thiết kế này cho phép chương trình giữ nhiều tham chiếu read-write đến cùng một đối tượng - phổ biến trong C++ - vẫn bắt được lỗi use-after-free tại thời điểm biên dịch mà không tốn chi phí runtime. Cơ chế cốt gồm ownership đơn, object paths, invalidation pointer trong dữ liệu type-unstable, một loại borrow reference thay cho split shared/mutable của Rust, và mut annotations cấp hàm. Tính năng sắp tới gồm gọi Rust từ Valen qua conversion temporary reference, wildcard descendant paths cho việc suy luận provenance return-reference, và kế hoạch kết hợp với reference counting qua mô hình mental array-based (Arrrlang) để giải quyết 2 trong 3 vấn đề memory safety còn lại.
Valen's Memory Safety giới thiệu trình kiểm tra mượn linh hoạt mới cho phép lập trình viên giữ nhiều tham chiếu đọc-ghi vào cùng một đối tượng mà vẫn bắt lỗi use-after-free tại thời gian biên dịch.
Tauri 2.12 ra mắt như giải pháp cross-platform toolkit giúp xây dựng ứng dụng hiệu quả hơn. Phiên bản này tối ưu hóa FFI (Foreign Function Interface) và Rust runtime, giảm 30% kích thước binary so với bản 2.11. Hệ quả là ứng dụng chạy nhanh hơn và tiêu thụ ít bộ nhớ hơn đáng kể, đặc biệt với các ứng dụng sử dụng nhiều tính năng native. Điều đáng học là Tauri kết hợp Rust cho core security với JavaScript framework cho giao diện, tạo ra giải pháp hiệu quả mà không cần sacrifice trải nghiệm người dùng.
Bài viết này cung cấp những cải tiến quan trọng giúp lập trình viên xây dựng ứng dụng đa nền tảng hiệu quả hơn với Tauri.
Bài viết Practical Rust API Design tập trung vào nguyên tắc thiết kế API cho hệ thống ergonomic bằng ngôn ngữ Rust. Nguyên nhân kỹ thuật là cách Rust sử dụng type signature để cung cấp feedback tức thời về tính đúng đắn của code. Hệ quả là lập trình viên có thể hiểu một function chỉ bằng cách xem type signature mà không cần đọc implementation. Điều đáng học là metric tốt cho design ergonomic là lượng thông tin bạn cần nắm trong đầu để hiểu được chương trình đang chạy thế nào.
Bài viết này giúp lập trình viên thiết kế API Rust thân thiện và hiệu quả hơn, giảm tải nhận thức khi phát triển phần mềm.
Async Rust đặt ra câu hỏi về vị trí của scheduler trong hệ thống. Các vấn đề người dùng gặp với async Rust thực chất là hậu quả của những bài toán concurrency phức tạp. Khi triển khai async với runtime như Tokio, scheduler đóng vai trò quan trọng nhưng lại gây ra overhead đáng kể. Nghiên cứu này chỉ ra rằng việc tối ưu hóa async runtime cần cân bằng giữa hiệu suất và độ phức tạp của scheduler. Các lập trình viên nên xem xét kỹ trade-off khi chọn runtime và thiết kế hệ thống async để tránh các vấn đề về contention và blocking.
Bài này giải thích nguồn gốc các vấn đề trong async Rust do vấn đề đồng thời phức tạp.
Đang tải bình luận…