Nhận Lập Trình STM32 Theo Yêu Cầu Hà Nội
2022-08-29 11:01:54
Nhận Lập Trình STM32 Theo Yêu Cầu Hà Nội
Khi bước đầu chuyển sang làm quen với dòng vi điều khiển ARM từ các dòng vi điều khiển truyền thống như AVR, PIC… chúng ta sẽ dễ cảm thấy bị choáng ngợp vì sự phức tạp và khổng lồ của nó. Nếu học ARM bằng tư duy của AVR hay PIC, nhớ từng register, từng công dụng của từng bit chắc chúng ta sẽ bỏ cuộc sớm. Thay vì phải nhớ từng bit buồn tẻ nhàm chán đó, các nhà sản xuất đã phát triển các thư viện/driver chuẩn cho các con chip của họ. Chúng ta sẽ không làm việc trực tiếp ở mức register nữa, mà làm quen với các hàm API đã được nhà sản xuất cung cấp sẵn, giúp cho việc viết chương trình trở nên dễ dàng hơn nhiều.
Hãng ST trước đây cũng cung cấp thư viện ngoại vi chuẩn (Standard Peripheral Libraries) để cho chúng ta sử dụng. Tuy nhiên sử dụng nó cũng còn quá nhiều điều phức tạp, và những ai mới bước vào thế giới ARM sẽ rất dễ nản lòng. Ví dụ đơn giản nhất là việc khởi tạo phần cứng ( Cài đặt RCC cho hệ thống, cài đặt ngoại vi…) cũng khá phức tạp.
Sau đó ST ra mắt công cụ STM32 MicroExplorer để giúp cấu hình ngoại vi, cũng như tạo project dựa trên các cấu hình đó, việc còn lại của chúng ta chỉ là viết code của mình. Trải qua nhiều version, STM32 MicroExplorer đã phát triển thành STM32CubeMX, một chương trình hoàn thiện hơn rất nhiều và giúp cho việc lập trình trên STM32 dễ dàng hơn bao giờ hết.
Ưu điểm của STM32CubeMX
– Giúp cấu hình ngoại vi dễ dàng: Chọn các pin trên chip và chọn các tính năng mong muốn gắn với nó. Cấu hình Middlewares (FATS, FREERTOS), các ngoại vi như CRC, IWDG, TIMERS…, cấu hình Clock và tính toán mức độ tiêu hao năng lượng.
– STM32CubeMX tự động download các driver mới nhất của ST dành cho các dòng chip của mình. ST đã không còn phát triển Standard Peripheral Libraries nữa, thay vào đó họ phát triển cấu trúc firmware mới bao gồm lớp cách ly phần cứng (HAL) bao gồm các driver cho ngoại vi, lớp Middleware bao gồm hỗ trợ TCP/IP, USB, Graphics, FAT file system, Touch library, và hệ điều hành mã nguồn mở RTOS. Cấu trúc firmware mới này có mức độ trừu tượng cao hơn, tập trung vào các tính năng phần cứng chung thay vì tập trung thuần túy vào phần cứng. Mức độ trừu tượng cao hơn giúp phát triển các API thân thiện và có thể dễ dàng chuyển từ phần cứng này sang phần cứng khác. Lưu ý là Standard Peripheral Libraries không còn được khuyên dùng để phát triển các ứng dụng mới nữa.
– Tự động tạo project dựa trên cấu hình ở trên. STM32CubeMX đầu tiên sẽ download driver của dòng chip cần cấu hình, sau đó tạo code và copy các driver cần thiết vào projects, và tạo project trên các công cụ lập trình phổ biến như Keil hay IAR. Sau khi tạo xong, chúng ta có thể bắt tay ngay vào việc viết code.