Chuyển đến nội dung chính

Mục tiêu 2019 sẽ là

Năm mới 2019 đã tới, mục tiêu của bạn là gì?

Còn mình thì năm nay có 1 mục tiêu là viết tối thiểu 52 bài blog.

Viết để làm gì nhỉ?
Đơn giản là vì sau 1 thời gian cũng không ngắn lăn lộn trong lĩnh vực nhúng, mình đã vấp phải nhiều khó khăn, nhiều trả giá nên mình tin rằng những chia sẽ này sẽ giúp ích cho người nào đó khi cần.
Và một lý do nữa là mình thích thì mình viết thôi 😁

Viết về cái gì đây?
Mình sẽ viết về 3 chủ đề chính bao gồm:
  1. C Languages: Mình sẽ nói về những điều mà mọi người hay mơ hồ, những Design pattern hay sử dụng khi sử dụng C trong các dự án với Microcontroller.
  2. RTOS: Mình sẽ chia sẻ về hệ điều hành thời gian thực và thực tế cách mình đã sử dụng nó như thế nào để giải quyết các bài toán.
  3. ESP: Mình sẽ viết về cách phát triển ESP8266 và ESP32 dựa trên Adruino và SDK từ Espressif.
Viết như thế nào nhỉ?
Tự đặt ra nguyên tắc là mỗi bài viết phải dài ít nhất là 200 từ để đảm bảo về nội dung (chứ không thì biết lấy gì ra kiểm định chất lượng bây giờ)

Nhận xét

Bài đăng phổ biến từ blog này

Bắt đầu với FreeRTOS (Bài 1)

NOTE: 1 vài tài liệu mình sử dụng trong bài này là mình sưu tầm được, có thể không có bản quyền, nếu tác giả không muốn đăng lên thì mình sẽ xóa. Trước khi tìm hiểu mọi người có thể biên dịch thử 1 chương trình để lấy khí thế tại  đây. FreeRTOS là 1 hệ điều hành nhúng phù hợp cho các ứng dụng có yêu cầu về thời gian thực 1 cách chặt chẽ. Và vì nó miễn phí, nhỏ gọn và có thể nhúng vào các dòng vi điều khiển thông thường như PIC, AVR, MSP430, ARM...nên mình làm hướng dẫn này cho những ai muốn bắt đầu tìm hiểu về FreeRTOS. Trang chủ của nó  http://www.freertos.org/ Đầu tiên là phải tải FreeRTOS về đã: vào  http://sourceforge.net/projects/freertos/files/   Click vào  Download FreeRTOSV7.5.2.exe (9.3 MB) (thời điểm này bản mới nhất là 7.5.2) để tải về. Sau khi tải về bạn click đúp vào file .exe ấy để giải nén. Ta được 1 folder FreeRTOSV7.5.2. Xong Bước 1  Tiếp theo là nên đọc 1 tài liệu để hiểu sơ qua xem RTOS nó là cái gì và nó hoạt động như...

Chap 5: Memory Management (Quản lý bộ nhớ)

Bài trước: Chapter 4: Resource Management ( Quản lý tài nguyên). Phù! Vậy là đi đến chương cuối cùng về các kiến thức của hệ điều hành FreRTOS này rồi :D Phần này nói về phần quản lý bộ nhớ RAM của vi điều khiển. Với hàm C chuẩn thì ta có 2 hàm là malloc() và free() nhưng mà khi sử dụng những hàm này sẽ nảy sinh 1 số vấn đề như: 1. Không phù hợp với các hệ thống nhúng nhỏ. 2. Quá trình thực thi cần 1 không gian tính toán lớn. 3. Không đảm bảo an toàn. 4. Không phải là cấp phát động. 5. Có thể gây nên hiện tượng phân mảnh bộ nhớ. ......... Do đó nên FreeRTOS sử dụng 2 hàm thay thế là pvPortMalloc() ; và vPortFree(); Có ba file định nghĩa sẵn các hàm này là heap_1.c, heap_2.c và heap_3.c nằm ở trong chỉ dẫn: FreeRTOS\Source\Portable\MemMang. I. Heap_1.c    Là 1 version cơ bản trong quản lý bộ nhớ, trong này chỉ có hàm pvPortMalloc() mà không có  hàm vPortFree tức là chỉ có cấp phát bộ nhớ mà không thể giải phóng sau khi đã cấp phát. Cấu hình độ lớn của RAM bằn...

Chapter 4: Resource Management ( Quản lý tài nguyên).

Bài trước: Chapter 3: Interrupt management (quản lý ngắt). Qua 3 chương 1,2,3 thì mình cũng gần như đã nắm được cơ bản về hoạt động của FreeRTOS, thấy nó cũng gần giống như 1 OS thực chạy trên PC như Ubuntu, Windown... tất nhiên là cái này đơn giản hơn nhiều rồi. Và có 1 tin cực vui là bây giờ mình đã có thể built thành công 1 chương trình FreeRTOS thực tế nhỏ nhỏ rồi :D dù nó chạy chưa được chuẩn cho lắm nhưng mà cũng là 1 thành công sau mấy tháng cố gắng nghiên cứu. hehe Tiếp theo là chương 4 về quản lý tài nguyên, đây là 1 chương cũng khá quan trọng, những kiến thức của chương này sẽ đảm bảo cho 1 chương trình không chỉ chạy được mà phải chạy đúng và ổn định theo thời gian. Trong chương này chúng ta sẽ trả lời các câu hỏi sau:        + 1 critial section là gì? (kiểu như là 1 khu vực được bảo vệ ấy)        + Loại trừ lẫn nhau là gì?        + Trạng thái suspend (lơ lửng) là như thế nào?        + Mut...