Lập Trình Reusable Firmware

API and HAL Fundamentals (Phần 1)

“Software is a great combination between artistry and engineering.” —Bill Gates 1. The Wonderful World of HALs Có nhiều công cụ mà các nhà phát triển phần mềm nhúng có thể sử dụng để phát triển phần mềm một cách nhất quán, nhưng công cụ tốt nhất hiện nay có thể cải thiện khả năng …

API and HAL Fundamentals (Phần 1) Read More »

Device Driver Fundamentals in C (Phần 4)

(Phần 1, Phần 2, Phần 3, Phần 4) Nội dung Chương 3: Device Driver Fundamentals in C 1. Hiểu về Memory Map 2. Planning the Driver Interfaces 3. Design by Contract 4. Assertion Fundamentals 5. Device Driver Models 6. Polling Versus Interrupt-Driven Drivers 7. Driver Component Definition 8. Naming Convention Recommendations 9. Object-Oriented Programming in …

Device Driver Fundamentals in C (Phần 4) Read More »

Writing Reusable Drivers (Phần 2)

Gần như mọi hệ thống nhúng đều sử dụng một timer tích hợp để tính thời gian. Một timer thường sẽ chạy ở một hoặc mười mili giây (ms) và phối hợp với một scheduler để chạy hệ thống. Mỗi vi điều khiển (microcontroller) sẽ có các khả năng hơi khác nhau một chút vì nó liên quan đến timer peripheral, nhưng có một số điểm chung giữa tất cả microcontroller. Để xác định các khả năng của timer và xây dựng cơ sở hạ tầng cần thiết để tạo một timer driver mà có thể được tái sử dụng và tuân theo phương pháp ánh xạ bộ nhớ mảng con trỏ (pointer array memory-mapping methodology), thì có một số bước mà developer cần phải theo:

Writing Reusable Drivers (Phần 1)

Viết một driver có thể được sử dụng từ application này sang application khác có thể rất hữu ích cho các embedded-software developer. Một khi driver được viết xong, các developer có thể tập trung vào application code và không phải lo lắng gì về các bit và byte. Các mẫu thiết kế (design pattern) driver có thể được sử dụng lại không chỉ trên cùng một phần cứng (hardware) mà còn trên nhiều nền tảng (platform) khác, chỉ bằng những thay đổi nhỏ cần thiết để điều chỉnh driver để truy cập các vùng bộ nhớ (memory region) khác nhau.

Trong chương này, chúng ta sẽ xem xét các phương pháp luận (methodology) khác nhau mà developer có thể sử dụng để ánh xạ (map) vào bộ nhớ ngoại vi (peripheral memory) và sau đó chúng ta sẽ chứng minh cách sử dụng từng kỹ thuật.

Khái niệm lập trình Portable Firmware (Phần 3)

10. Embedded-Software Architecture Trong những ngày đầu, lập trình firmware sử dụng các bộ vi điều khiển cực kỳ hạn chế về tài nguyên. Mỗi từng bit phải được tách ra khỏi không gian bộ nhớ code và data. Khả năng tái sử dụng phần mềm là một mối quan tâm nhỏ và các chương …

Khái niệm lập trình Portable Firmware (Phần 3) Read More »

Khái niệm lập trình Portable Firmware (Phần 2)

3. Sự Module hóa Nhiều lần trong vài năm qua, tôi từng làm việc với một khách hàng mà nguyên cả ứng dụng của họ, hơn 50,000 dòng code, chỉ để trong một module là main.c. Nỗ lực bảo trì phần mềm hoặc tái sử dụng các đoạn code nhanh chóng trở thành một cơn …

Khái niệm lập trình Portable Firmware (Phần 2) Read More »

Icons made by Freepik from www.flaticon.com