🌱 Hướng dẫn cài đặt và tạo project trên phần mềm MCUExpresso IDE
Khi bắt đầu học AUTOSAR – một tiêu chuẩn phần mềm phức tạp trong lĩnh vực Embedded Automotive, việc nắm vững các công cụ phát triển cơ bản là bước đi đầu tiên quan trọng. MCUXpresso IDE là môi trường phát triển tích hợp do NXP Semiconductors cung cấp, được tối ưu cho các vi điều khiển ARM Cortex-M như dòng LPC và Kinetis.
Với khả năng hỗ trợ đầy đủ từ viết code, compile, flash đến debug, MCUXpresso IDE là nền tảng lý tưởng để làm quen với quá trình phát triển phần mềm nhúng – một kỹ năng cốt lõi trước khi bước sâu vào thế giới AUTOSAR. Bài viết này sẽ cùng bạn tìm hiểu về phần mềm MCUExpressoIDE, cách cài đặt, sử dụng và debug project vi điều khiển của hãng NXP.
1 - Giới thiệu về phần mềm MCUExpresso IDE
MCUXpresso IDE là một môi trường phát triển tích hợp (IDE – Integrated Development Environment) miễn phí do NXP Semiconductors cung cấp, được thiết kế dành riêng cho các dòng vi điều khiển (MCU) của hãng, đặc biệt là các MCU sử dụng lõi ARM Cortex-M như LPC và Kinetis. IDE này giúp người lập trình có thể phát triển, biên dịch, nạp chương trình và gỡ lỗi (debug) một cách thuận tiện trong cùng một công cụ duy nhất.
MCUExpresso IDE cung cấp một số tính năng nổi bật:
- Tích hợp đầy đủ công cụ: Gồm trình compiler, linker, Flash và Debugger
- Giao diện thân thiện: Dựa trên nền tảng Eclipse, nên dễ sử dụng cho người quen với STM32CubeIDE hoặc Keil.
- SDK Manager: Cho phép tải, quản lý và cập nhật các bộ SDK cho từng dòng MCU của NXP.
- Công cụ cấu hình trực quan: Có giao diện đồ họa để thiết lập clock tree, cấu hình chân (pin muxing), và các ngoại vi (Cái này gần tương tự với STM32CubeMX, nhưng follow theo chuẩn AUTOSAR).
- Hỗ trợ nhiều loại debugger: Bao gồm LPC-Link2, J-Link, P&E, và CMSIS-DAP.
- Tích hợp FreeRTOS và CMSIS-DSP: Giúp phát triển ứng dụng real-time và xử lý tín hiệu dễ dàng hơn.
Ưu điểm của MCUExpresso IDE
- Hỗ trợ chính thức từ NXP, tối ưu cho các dòng MCU của hãng.
- Miễn phí và không giới hạn dung lượng code.
- Có thể xuất dự án sang các IDE khác như Keil hoặc IAR.
- Tích hợp chặt chẽ với hệ sinh thái phần mềm và SDK của NXP.
Ứng dụng thực tế
MCUXpresso IDE được sử dụng rộng rãi trong các dự án nhúng như thiết bị IoT, hệ thống điều khiển công nghiệp, thiết bị đo lường hoặc các sản phẩm tự động hóa dùng MCU của NXP.
2 - Download và Install phần mềm MCUExpresso IDE
➢ IDE download link: https://www.nxp.com/mcuxpresso/ide/download
① Truy cập link download ở trên và click vào nút download như hình bên dưới
② Đăng nhập – “SIGN IN” (Nếu bạn đã có tài khoản) hoặc đăng ký – “Create New Account” (Nếu bạn chưa có tài khoản), sau đó đăng nhập lại.
③ Sau khi đăng nhập sẽ hiện ra link cài phần mềm – Các bạn nên chọn link cài version mới nhất cho phần mềm này.
④ Chọn Argree, sau đó tiếp tục chọn phiên bản hệ điều hành tương ứng
⑤ Sau khi download, bạn có thể click đúp và tiếp tục ấn OK để cài đặt như một phần mềm thông thường. Cùng với quá trình cài đặt, IDE sẽ yêu cầu bạn cài đặt một số phần mềm hỗ trợ debug như PEMicro, J-Link Segger. Các bạn ấn OK để cài toàn bộ những phần mềm này.
⑥ Quá trình cài đặt hoàn tất, các bạn chọn OK để mở tài liệu hướng dẫn và chạy phần mềm MCUExpresso IDE.
3 - Cài đặt SDK và cài đặt Project
① Trước khi bắt đầu với một Project vi điều khiển, bạn cần cài đặt SDK – Software Development Kit cho dòng vi điều khiển hoặc Board mạch tương ứng để IDE có thể hỗ trợ tạo project, thêm các file cần thiết cho project như Linker Script, Startup File, Makefile, …
② Install SDK cho Vi điều khiển hoặc Board tương ứng
③ Sau khi quá trình install hoàn tất, bạn có thể bắt đầu với việc tạo một project mới. Click như trên hình, hoặc vào File > New > Chọn Create a new C/C++ Project④ Chọn Board mạch và bản SDK tương ứng và chọn Next. Giả sử hình ảnh bên dưới là chọn chip MKL46. ⑤ Chọn tên, folder lưu project, và các thông số khác (Bỏ tick những thành phần không cần thiết). Sau khi hoàn tất thì bấm Next để chuyển sang phần tiếp theo.
↪ Tiếp tục cấu hình những components cần thiết!
⑥ Chọn các thông số về Compiler và Flash như hình và click Finish.
⑦ Project đã được tạo hoàn tất. Các bạn có thể xem video hướng dẫn về cấu trúc project, cách thêm source file, cũng như debug ở bên dưới.
4 - MCUExpresso Folder Structure và cách Debug
Bạn có thể sử dụng source code mẫu sau để tiến hành debug! - Ví dụ sử dụng board FRDM KL46 board của NXP.
#include "MKL46Z4.h"
#define DELAY_CNT (1000000)
#define RED_LED_PIN (1 << 29)
#define GREEN_LED_PIN (1 << 5)
void initLed();
void delay();
int main(void)
{
initLed();
while (1)
{
delay();
/* Toggle Red Led */
FPTE->PTOR |= RED_LED_PIN;
/* Toggle Green Led */
FPTD->PTOR |= GREEN_LED_PIN;
}
}
void initLed()
{
/* Enable clock for PORTE & PORTD */
SIM->SCGC5 |= ( SIM_SCGC5_PORTD_MASK | SIM_SCGC5_PORTD_MASK );
/* Initialize the RED LED (PTE29)*/
/* Set the PTE29 pin multiplexer to GPIO mode */
PORTE->PCR[29] = PORT_PCR_MUX(1);
/* Set the pin's direction to output */
FPTE->PDDR |= RED_LED_PIN;
/* Set the initial output state to high */
FPTE->PSOR |= RED_LED_PIN;
/* Initialize the Green LED (PTD5) */
/* Set the PTD5 pin multiplexer to GPIO mode */
PORTD->PCR[5]= PORT_PCR_MUX(1);
/* Set the pin's direction to output */
FPTD->PDDR |= GREEN_LED_PIN;
/* Set the initial output state to high */
FPTD->PSOR |= GREEN_LED_PIN;
}
void delay()
{
uint32_t i;
for (i = 0; i < DELAY_CNT; i++)
{
__asm("nop");
}
}
➤ Video MCUExpresso Folder Structure và hướng dẫn Debug
>>>>>> 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 😊