Nhiệm vụ của chương trình Bootloader là kiểm tra các điều kiện để lựa chọn thực thi một trong các chương trình: FOTA, Factory Firmware hoặc Current Firmware mỗi khi CPU reset. Vị trí của chương trình Bootloader thường được bắt đầu tại địa chỉ đầu tiên của bộ nhớ Flash, đây là địa chỉ mặc định sẽ được CPU thực thi sau khi reset. Với dòng vi điều khiển STM32 thì vị trí bắt đầu của bộ nhớ Flash là 0x0800 0000.Continue Reading

Có bao giờ bạn thắc mắc làm thế nào mà có thể tự động cập nhật chương trình cho một thiết bị nhúng, thiết bị IoT mà không cần tốn công cắm dây để nạp chương trình như thông thường chưa? Bài viết này trong chuỗi hướng dẫn cập nhật chương trình từ xa trên vi điều khiển STM32 sẽ giới thiệu tổng quan về tính năng Firmware Over The Air (hay còn gọi là FOTA), đồng thời sẽ hướng dẫn cách tổ chức lưu trữ chương trình trên vi điều khiển STM32F103RCT6 lõi ARM Cortex M3 để có thể áp dụng FOTA. Nếu bạn sử dụng một vi điều khiển lõi ARM khác thì cũng có thể tham khảo được chuỗi bài viết này để áp dụng FOTA. Continue Reading

Bài viết này giúp các bạn nắm được những nội dung cơ bản về chức năng, tổ chức và bản đồ không gian nhớ (Memory Map) của Vi xử lý ARM Cortex – M. Một vi xử lý được sử dụng phổ biến nhất hiện nay trong hệ thống nhúng. Continue Reading

Trong hệ thống nhúng, hiểu được các khái niệm Processor Core (lõi vi xử lý), Processor (CPU/Vi xử lý) và Microcontroller (MCU/Vi điều khiển) thật sự rất quan trọng, những từ này được sử dụng rất nhiều và sẽ dẫn đến không ít nhầm lẫn nếu chúng ta sử dụng không đúng.Continue Reading

Bộ giao tiếp USART được dùng để trao đổi dữ liệu giữa MCU với các thiết bị bên ngoài dựa trên định dạng dữ liệu nối tiếp bất đồng bộ NRZ tiêu chuẩn công nghiệp. Bộ USART có hai chế độ truyền là truyền dữ liệu đồng bộ (Synchronous) và truyền dữ liệu không đồng bộ (Asynchronous)Continue Reading

Bên cạnh khả năng phát hiện nhiễu hay lỗi phần mềm làm chương trình nhúng bị treo hoặc thực hiện lệnh trễ hơn bình thường như tính năng của khối Independent Watchdog (IWDG), thì Window Watchdog Timer (WWDG) còn có khả năng phát hiện được lỗi làm cho lệnh bị thực thi sớm hơn dự kiến. Khối watchdog này sẽ tạo tín hiệu reset MCU khi gặp các trường hợp trên. Không chỉ vậy, một yêu cầu ngắt để MCU thực hiện một số lệnh an toàn hay lưu trữ các thông tin cần thiết trước khi reset cũng được hỗ trợ nếu được người dùng cấu hình cho phép Early wakeup interrupt (EWI)Continue Reading