Title Image

Blog Logo

Bootloader 1 - Giới thiệu

🌱 Bootloader 1 - Giới thiệu

    Chắc hẳn các bạn đã từng nghe đến quá trình boot trong máy tính, nó là một thành phần quan trọng giúp cho việc khởi động của hệ điều hành máy tính (ví dụ Window). Bootloader ở đây là một phần mềm đặc biệt được nạp vào bộ nhớ của máy tính trước khi khởi động. Vậy tại sao học vi điều khiển chúng ta lại cần biết Bootloader ???

    👉 Rõ ràng trong máy tính cũng sử dụng các vi xử lý, và Bootloader ở đây không khác gì một firmware được nạp sẵn trong vi xử lý đó, và được gọi mỗi khi máy tính khởi động. Và vi điều khiển của chúng ta cũng sử dụng lõi vi xử lý, và khi khởi động nó cũng cần phải biết là sẽ bắt đầu thực hiện từ đâu? 

    Quá trình reset của vi điều khiển mình đã thảo luận trong bài viết Reset Sequence. Nếu có một chương trình Bootloader được nạp vào trong vi điều khiển, thì trước tiên nó sẽ nhảy vào chương trình Bootloader này, thực hiện một số công việc sau đó chuyển sang chương trình ứng dụng để thực hiện. 

Bootloader

    👉 Tại sao cần có Bootloader ???

    Nhiều bạn sẽ hỏi tại sao cần phải có Bootloader trong khi nạp code bình thường chạy ngon rồi? Với một chương trình đơn giản thì chỉ cần chương trình ứng dụng thôi là đủ chạy. Tuy nhiên, nếu muốn phát triển một sản phẩm cho người dùng, đặc biệt là các sản phẩm IOT thì việc Update Firmware là rất quan trọng. 

    Ví dụ như điện thoại của chúng ta, các phiên bản Android/IOS được update khá thường xuyên. Với các sản phẩm nhúng/IOT, chúng ta không thể để các chân nạp code ra ngoài và đến tận nơi để nạp lại Firmware được 😅😅😅 Vậy là đủ hiểu rồi đúng không, chúng ta cần một phương thức Update Firmware khác, chẳng hạn qua mạng không dây, và Bootloader chính là cốt lõi của vấn đề. 

    👍 Lí do thứ hai mà chúng ta cần đến Bootloader là do tính bảo mật, điều tuyệt đối quan trọng với các sản phẩm nhúng/IOT. Nếu chúng ta có thể nạp code qua mạng không dây, thì không gì đảm bảo việc các hacker không thể "đụng" đến nó!!! Nếu pass khóa cửa thông minh, số tài khoản, ... của người dùng mà bị hacker xâm nhập, thì công ty của chúng ta sắp đóng cửa mất rồi 😌

Bootloader

    Trong trường hợp này, chúng ta có thể chèn thêm một số đoạn code để kiểm tra xem firmware được nạp vào có đúng hay không. Nếu nó không hợp lệ thì không cho update, và thiết bị thông minh có thể báo cả IP xâm nhập của hacker để kịp thời xử lý. Ngoài ra, có thể thêm các thuật toán kiểm tra khác như Checksum, CRC, ... để kiểm tra tính đúng đắn của Firmware.

    💚 Trên đây là các lí do chính mà chúng ta cần Bootloader cho các ứng dụng vi điều khiển. Nếu các bạn đang tìm hiểu về vi điều khiển, thì bootloader là một đề tài lí tưởng (bên cạnh RTOS) để các bạn có thể hiểu sâu về hệ thống, về Core của Vi điều khiển.

>>>= Follow ngay =<<<

Để nhận được những bài học miễn phí mới nhất nhé 😊

Chúc các bạn học tập tốt 😊

                                        

Đăng nhận xét

0 Nhận xét