Để thiết lập kết nối thiết bị với máy chủ FTP chứa tập tin firmware, người thiết kế cần kiểm tra hoạt động của module SIM 3G/4G, mở kết nối TCP/IP cho module SIM để module có thể truy cập Internet, từ đó thông qua các thông tin của máy chủ để thiết lập kết nối FTP và tải tập tin. Bài viết này sẽ hướng dẫn các bước cơ bản cho quá trình kết nối thiết bị với máy chủ để phụ vụ cho quá trình tải và kiểm tra tính toàn vẹn của tập tin trước khi thay thế chương trình ứng dụng sẽ thực thi tại thiết bị. Continue Reading

Yêu cầu sản phẩm trên thị trường các thiết bị Nhúng có kết nối Internet đang thay đổi nhanh hơn yêu cầu đối với các sản phẩm truyền thống. Ngoài ra, mạng 3G/4G được áp dụng rộng rãi và đang phát triển. Các áp lực về thời gian để tiếp cận thị trường nhanh hơn, có khả năng ảnh hưởng đến thời gian thử nghiệm của sản phẩm. Vì những lý do này, việc nâng cấp firmware có thể tăng thêm giá trị đáng kể cho các sản phẩm bằng cách cho phép các nhà phát triển nâng cao chức năng sản phẩm theo thời gian và triển khai sửa lỗi sau khi sản phẩm được triển khai.Với mục tiêu nghiên cứu và chia sẻ các kiến thức và thực nghiệm về nhật chương trình từ xa cho các thiết bị nhúng kết nối Internet, nhóm nghiên cứu tại Cộng đồng Kỹ thuật TAPIT rút ra những kết luận và một số hướng phát triển tiếp theo.Continue Reading

Tải tập tin Firmware chương trình và ghi chương trình vào bộ nhớ Flash là hai bước quan trọng cần được thiết kế kỹ  trong ứng dụng cập nhật chương trình từ xa FOTA. Trong bài viết này, mình chia sẻ thiết kế thực tế mà mình đã thực hiện và thử nghiệm thành công. Continue Reading

ARM cung cấp hàm NVIC_SystemReset() để thực hiện khởi động lại vi xử lý. Trong ứng dụng cập nhật chương trình từ xa, hàm này sẽ được gọi tại chương trình ứng dụng khi phát hiện một phiên bản chương trình mới và tại chương trình OTA khi thực hiện xong quá trình OTA. Sau khi hàm NVIC_SystemReset() được thực thi thì vi xử lý sẽ khởi động lại và thực hiện chương trình Bootloader. Trong bài viết này, mình sẽ trình bày cho các bạn về thiết kế Bootloader cho vi điều khiển STM32 trong ứng dụng cập nhật chương trình từ xa theo thiết kế thực tế mà mình đã thực hiện.Continue Reading

Các tính năng bootloader hay cập nhật chương trình từ xa (FOTA) cần áp dụng “in-application programming”. Khi đó, firmware của thiết bị không được nạp trực tiếp qua các chuẩn nạp chương trình như JTAG/SWD. Firmware có thể được truyền trực tiếp từ phần mềm máy tính hoặc qua môi trường internet xuống thiết bị, các chuẩn giao tiếp phổ biến được sử dụng ở vi điều khiển nhận dữ liệu tập tin firmware là UART hoặc USB,… Việc không sử dụng một chuẩn nạp chương trình chính thống được tích hợp sẵn và tập tin firmware có thể đi qua nhiều quá trình/ môi trường khác nhau như qua phần mềm máy tính, qua Internet…vv…có thể làm xuất hiện lỗi. Vì vậy để đảm bảo độ tin cậy cho firmware trước khi ghi vào bộ nhớ Flash của vi điều khiển và thực thi nó như một chương trình chính thì việc kiểm tra lỗi tập tin là một công đoạn quan trọng cần thực hiện. Continue Reading

Bộ nhớ chương trình của một thiết bị IoT khi tích hợp tính năng cập nhật chương trình từ xa (FOTA) cần được thiết kế một các hợp lý để lưu trữ cá thành phần như Bootloader, Chương trình OTA, Chương trình ứng dụng và các biến liên kết. Bài viết này sẽ trình bày cơ bản về một số cấu trúc phân bố chương trình trong bộ nhớ, phân tích ưu nhược điểm của các cấu trúc để các bạn có thể lựa chọn phù hợp cho ứng dụng của các bạn. Continue Reading

Có rất nhiều hãng thiết kế vi điều khiển dựa trên những kiến trúc vi xử lý, số lượng ngoại vi, kích cỡ và tổ chức bộ nhớ khác nhau. Đồng thời, tuỳ vào ứng dụng thực tế mà thiết bị nhúng có thiết kế ngoại vi kết nối Internet và phương thức truyền nhận dữ liệu khác nhau. Để các bạn có thể tiếp cận và tích hợp được tính năng cập nhật chương trình từ xa vào thiết bị nhúng một cách đơn giản và hiệu quả, bài viết này sẽ trình bày về nền tảng phần cứng cập nhật chương trình từ xa bao gồm các nội dung về tổng quan phần cứng thử nghiệm.Continue Reading

Trong một mô hình cập nhật chương trình từ xa cho thiết bị sẽ có sự tham gia của các thành phần sau: Thiết bị nhúng/ thiết bị IoT, chương trình ứng dụng (Firmware) và máy chủ quản lý tập tin chương trình. Bài viết này sẽ giúp chúng ta cùng tìm hiểu rõ hơn về từng thành phần của mô hình cập nhật chương trình từ xa và quá trình thực hiện điều này.Continue Reading