🌱 Hướng dẫn cài đặt và tạo project trên phần mềm MCUExpresso IDE

🌱 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ư LPCKinetis. 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.

NXP MCUExpresso IDE

    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 FreeRTOSCMSIS-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

MCUExpresso Download and Install

Đă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.

MCUExpresso Download and Install

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.

MCUExpresso Download and Install

Chọn Argree, sau đó tiếp tục chọn phiên bản hệ điều hành tương ứng

MCUExpresso Download and Install

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, …

MCUExpresso SDK and Project Setup

Install SDK cho Vi điều khiển hoặc Board tương ứng

MCUExpresso SDK and Project Setup

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

MCUExpresso SDK and Project Setup

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.

MCUExpresso SDK and Project Setup

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.

MCUExpresso SDK and Project Setup

    ↪ Tiếp tục cấu hình những components cần thiết!

MCUExpresso SDK and Project Setup

Chọn các thông số về Compiler và Flash như hình và click Finish.

MCUExpresso SDK and Project Setup

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.

MCUExpresso SDK and Project Setup


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.

  1. #include "MKL46Z4.h"

  2. #define DELAY_CNT (1000000)
  3. #define RED_LED_PIN (1 << 29)
  4. #define GREEN_LED_PIN (1 << 5)

  5. void initLed();
  6. void delay();

  7. int main(void)
  8. {
  9. initLed();

  10. while (1)
  11. {
  12. delay();
  13. /* Toggle Red Led */
  14. FPTE->PTOR |= RED_LED_PIN;
  15. /* Toggle Green Led */
  16. FPTD->PTOR |= GREEN_LED_PIN;
  17. }
  18. }

  19. void initLed()
  20. {
  21. /* Enable clock for PORTE & PORTD */
  22. SIM->SCGC5 |= ( SIM_SCGC5_PORTD_MASK | SIM_SCGC5_PORTD_MASK );

  23. /* Initialize the RED LED (PTE29)*/
  24. /* Set the PTE29 pin multiplexer to GPIO mode */
  25. PORTE->PCR[29] = PORT_PCR_MUX(1);
  26. /* Set the pin's direction to output */
  27. FPTE->PDDR |= RED_LED_PIN;
  28. /* Set the initial output state to high */
  29. FPTE->PSOR |= RED_LED_PIN;

  30. /* Initialize the Green LED (PTD5) */
  31. /* Set the PTD5 pin multiplexer to GPIO mode */
  32. PORTD->PCR[5]= PORT_PCR_MUX(1);
  33. /* Set the pin's direction to output */
  34. FPTD->PDDR |= GREEN_LED_PIN;
  35. /* Set the initial output state to high */
  36. FPTD->PSOR |= GREEN_LED_PIN;
  37. }

  38. void delay()
  39. {
  40. uint32_t i;
  41. for (i = 0; i < DELAY_CNT; i++)
  42. {
  43. __asm("nop");
  44. }
  45. }

➤ 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 😊

Nguyễn Văn Nghĩa

Mình là một người thích học hỏi và chia sẻ các kiến thức về Nhúng IOT.

Đăng nhận xét

Mới hơn Cũ hơn
//