🌱 Bare – Metal Embedded
Bare – Metal Embedded là quá trình xây dựng một project ứng dụng vi điều khiển với những “nguyên liệu thô sơ nhất”. Ở đây xây dựng những thức cơ bản nhất như Makefile, Linker Script file, Register Programming, …
👉 Thông thường khi lập trình vi điều khiển, chúng ta thường dùng những IDE (Integrated Development Environment). Chẳng hạn, với STM32, ta có STM32CubeIDE, Keil C, … với AVR có Atmel Studio, AVR Studio, …
➤ Một IDE cơ bản bao gồm 3 thành phần chính:
- Text Editor: là thành phần dùng để viết code.
- Compiler: là thành phần dùng để build chương trình, tạo ra các file nhị phân dùng để run (.exe, .hex) hoặc debug (.elf).
- Debugger: là thành phần dùng để debug, gỡ lỗi chương trình.
Vậy nếu nắm được chức năng của từng thành phần này, cũng như nắm được các file cần thiết trong quá trình tạo ra một project, thì chúng ta có thể tìm hiểu được những lỗi tiềm ẩn của chương trình, giúp quá trình coding và debugging thuận lợi hơn.
👉 Điểm thứ hai là khi đối mặt với một vi điều khiển mới mà không có IDE nào hỗ trợ, thì chúng ta cần làm gì?
Lúc đó ta cần biết được mình cần làm những việc gì, cần những tools gì để có thể tạo được một ứng dụng với vi điều khiển mới này.
- Đó là Text Editor (đơn giản nhất là Nodepad, Nodepad++) để viết những file source code, những file cần thiết cho quá trình biên dịch chương trình.
- Đó là Compiler để build ra file hex, elf, chẳng hạn: GCC, GHS, IAR, …
- Đó là một Debugger để nạp chương trình, gỡ lỗi: chẳng hạn GDB debugger.
👉 Một số khái niệm khác
Ở đây là Bare-Metal theo ý hiểu của mình, cùng với một số tài liệu trên mạng nên có thể không quá chính xác. Nhưng nhưng những kiến thức trong đó là chuẩn để build một hệ thống từ đầu.
Bare-Metal trên internet còn có một cách hiểu khác, đó là một hệ thống mà không sử dụng hệ điều hành (OS, RTOS, ...).