Mô hình active object trong thiết kế phần mềm nhúng

Bài này được viết từ năm 2017 khi đang phát triển platform cho các hệ máy thông tin quân sự tại Viettel. Từ đó đến nay, thư viện phần mềm dựa trên các khái niệm về active object này đã được ứng dụng ở các sản phẩm máy thông tin vô tuyến trong quân sự, HMI, Control-Box, BMS, Telematics-Box cho xe điện 2 bánh, dùng để implement hiệu quả các giao thức để tìm kênh truyền tốt nhất trên sóng HF, giao thức backbone trong xe điện trên nền CAN để download firmware, diagnostic, authentication; nền tảng hardware sử dụng cũng đa dạng từ Cortex M0 đến M7, chạy baremetal trên chip low-end 8K ram đến chạy đa luồng trên nền RTOS trên những dòng mcu tài nguyên dồi dào hơn.

Read More

Stack Overflow

Stack ?

Stack là vùng nhớ dành cho các biến local, địa chỉ của bộ đếm chương trình. Trong ứng dụng nhúng với tài nguyên giới hạn, phần mềm nếu thiết kế không tốt có thể dẫn đến tràn stack , từ đó gây ra những lỗi với hiện tượng khó xác đinh lúc runtime. Để tránh việc này, các nhà lập trình được khuyến cáo không khai báo một mảng local quá lớn và không dùng đệ quy trong các ứng dụng nhúng.

Read More

Work dilemma

Mấy hôm nay mình đọc tiểu sử steve jobs, nghĩ đến mối quan hệ cộng sinh giữa woz và jobs những ngày đầu thành lập Apple. Tự dưng lại nhớ đến 1 đoạn trong lớp dạy về startup của peter thiel:

Read More