Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
511,7 KB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN HUỲNH NHẬT THƢƠNG NGHIÊN CỨU VÀ ĐỀ XUẤT THƢ VIỆN CẬP NHẬT CHƢƠNG TRÌNH TỪ XA C C R UT.L CHO CÁC THIẾT BỊ NHÚNG KẾT NỐI INTERNET D Chuyên ngành: Kỹ thuật điện tử Mã số: 8520203 TÓM TẮT LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH KỸ THUẬT ĐIỆN TỬ Đà Nẵng – Năm 2020 Cơng trình hồn thành TRƯỜNG ĐẠI HỌC BÁCH KHOA Người hướng dẫn khoa học: TS Võ Tuấn Minh Người hướng dẫn khoa học 2: TS Nguyễn Duy Nhật Viễn Phản biện 1: TS Hoàng Lê Uyên Thục Phản biện 2: TS Trần Thế Sơn Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ ngành Kỹ thuật điện tử họp Trường Đại học Bách khoa vào ngày 25 tháng 10 năm 2020 C C R UT.L Có thể tìm hiểu luận văn tại: D Trung tâm học liệu truyền thông Trường Đại học Bách khoa Thư viện Khoa Điện tử - Viễn thông, Trường Đại học Bách khoa – ĐHĐN MỞ ĐẦU Tính cấp thiết đề tài Cùng với phát triển không ngừng công nghệ, thiết bị nhúng sử dụng khắp nơi giới nhiều lĩnh vực khác với số lượng ngày gia tăng nhanh chóng Trong đó, nhiều thiết bị lắp đặt sử dụng nơi mà người hay đội ngũ kỹ thuật khó tiếp cận được, nhiều thiết bị sau đưa đến tay người dùng trình sử dụng phát lỗi hay cần nâng cấp bổ sung, tối ưu tính Từ xu vạn vật kết nối Internet nhu cầu cần thiết trên, ngày nhiều thiết bị nhúng thiết kế hỗ trợ kết nối C C R UT.L vào Internet Điều đặt nhiều hội toán cho nhà nghiên cứu phát triển, đặc biệt vấn đề cập D nhật chương trình từ xa quan tâm phát triển tính quan trọng cho thiết bị để thay đổi chương trình thời gian ngắn mà không cần thao tác trực tiếp lên thiết bị Có nhiều hãng thiết kế vi điều khiển dựa kiến trúc vi xử lý, số lượng ngoại vi, kích cỡ tổ chức nhớ khác Đồ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 phương thức truyền nhận liệu khác Để người phát triển tiếp cận tích hợp tính cập nhật chương trình từ xa vào thiết bị nhúng cách đơn giản hiệu quả, đề tài cung cấp tảng sở khoa học kỹ thuật yếu tố liên quan đến tính Theo thống kê năm 2019, lĩnh vực hệ thống nhúng, số lượng thiết bị IoTs sử dụng lõi ARM chiếm 90% thị phần số lượng vi điều khiển giới thiết kế kiến trúc lõi ARM chiếm 25% thị phần, dịng Cortex-M chiếm tỉ lệ cao Vì vậy, thư viện cập nhật chương trình từ xa đề xuất đề thử nghiệm mơ hình thiết bị bảng mạch vi điều khiển 32 bit hãng STMicroelectronics sử dụng CPU lõi ARM Cortex – M nhớ chương trình Flash, mơ hình có khả kết nối vào Internet thông qua module truyền nhận liệu khơng dây 4G Mục đích nghiên cứu - Cung cấp tảng sở khoa học kỹ thuật cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet với yếu tố: Cấu trúc tập tin chương trình, tổ chức nhớ, C C R UT.L giao thức truyền nhận liệu, tính tồn vẹn liệu quy trình khởi động thiết bị nhúng - D Đề xuất phương pháp cập chương trình từ xa, xây dựng thử nghiệm đánh giá thư viện chương trình cập nhật từ xa mơ hình cụ thể Đối tƣợng phạm vi nghiên cứu 3.1 Đối tƣợng nghiên cứu - Vi xử lý ARM Cortex - M - Vi điều khiển STM32 - Mạng thơng tin máy tính với giao thức Internet HTTP, FTP - Kỹ thuật phát lỗi truyền nhận liệu 3.2 Phạm vi nghiên cứu - Kiến trúc lõi ARM Cortex - M, tổ chức nhớ quy trình khởi động dịng vi điều khiển STM32 - Giao thức truyền nhận liệu server thiết bị, kỹ thuật kiểm tra lỗi - Thuật toán thư viện cập nhật chương trình từ xa cho mơ hình thiết bị Phƣơng pháp nghiên cứu Phương pháp luận luận văn kết hợp nghiên cứu lý thuyết kết hợp với thực tiễn để làm rõ nội dung đề tài Cụ thể sau: - Nghiên cứu yếu tố kỹ thuật liên quan đến trình cập nhật chương trình từ xa cho thiết bị nhúng - Xem xét đề tài nghiên cứu liên quan, so sánh đánh giá ưu điểm, khuyết điểm phương pháp cập nhật chương trình từ xa - C C R UT.L Đề xuất phương pháp thiết kế thư viện cập nhật chương trình từ xa dựa ngơn ngữ lập trình giao thức D truyền thơng - Thiết kế, thi cơng mơ hình phần cứng phù hợp để thử nghiệm thư viện Đánh giá kết thực Ý nghĩa khoa học thực tiễn đề tài Ý nghĩa khoa học: Từ yếu tố liên quan đến trình cập nhật chương trình từ xa thiết bị nhúng có kết nối Internet, đề tài đề xuất phương pháp, xây dựng thư viện thử nghiệm trực tiếp mơ hình phần cứng Từ kết thử nghiệm, đề tài đưa đánh giá kết luận có ý nghĩa khoa học lĩnh vực hệ thống nhúng Ý nghĩa thực tiễn: Kết đề tài có khả áp dụng cho hệ thống nhúng có kết nối Internet để thực việc cập nhật chương trình nhằm vá lỗi, nâng cấp, tối ưu tính hệ thống từ xa, thời gian ngắn mà không cần can thiệp vào thiết bị Cấu trúc luận văn Ngoài phần mở đầu, kết luận tài liệu tham khảo, luận văn gồm có chương Chƣơng 1: TỔNG QUAN VỀ CẬP NHẬT CHƢƠNG TRÌNH TỪ XA Trong chương trình bày ứng dụng cập nhật chương trình từ xa, mơ hình cập nhật chương trình từ xa gồm thiết bị nhúng, chương trình chạy thiết bị nhúng, máy chủ quản lý tập tin chương trình trình cập nhật chương trình C C R UT.L từ xa Chƣơng 2: NỀN TẢNG PHẦN CỨNG CẬP NHẬT D CHƢƠNG TRÌNH TỪ XA Chương trình bày tổng quan phần cứng, tổ chức nhớ vi điều khiển cấu trúc chương trình, xử lý trung tâm ARM Cortex – M, trình khởi động vi điều khiển module truyền nhận liệu 3G/4G Chƣơng 3: ĐỀ XUẤT PHƢƠNG PHÁP VÀ XÂY DỰNG THƢ VIỆN CẬP NHẬT CHƢƠNG TRÌNH TỪ XA Chương đề xuất phương pháp cập nhật chương trình từ xa, xây dựng thư viện cập nhật chương trình từ xa với thuật toán nhận, kiểm tra lỗi tập tin chương trình, thuật tốn ghi tập tin vào nhớ thuật toán khởi động lại vi điều khiển Chƣơng 4: KẾT QUẢ THỰC HIỆN VÀ ĐÁNH GIÁ HIỆU QUẢ Chương nêu lên kết thực đề tài đánh giá hiệu dựa tiêu chí chiếm tài nguyên nhớ triển khai tính OTA, tỉ lệ thành cơng thực OTA, độ tin cậy thự OTA thời gian thời gian thực trình OTA D C C R UT.L Chƣơng 1: Tổng quan cập nhật chƣơng trình từ xa 1.1 Giới thiệu chƣơng Chương trình bày ứng dụng cập nhật chương trình từ xa, mơ hình cập nhật chương trình từ xa với thành phần thiết bị nhúng, chương trình ứng dụng chạy thiết bị máy chủ quản lý tập tin chương trình Đồng thời, trình cập nhật chương trình từ xa trình bày chương 1.2 Ứng dụng cập nhật chƣơng trình từ xa Vấn đề cập nhật chương trình từ xa quan tâm phát triển tính quan trọng cho thiết bị có kết nối vào Internet Tính cho phép nhà phát triển thay C C R UT.L chương trình chạy vi điều khiển hệ thống nhúng chương trình với thay đổi, bổ sung D tính thiết bị, hay cập nhật thiếu sót bảo mật thời gian ngắn mà không cần thao tác trực tiếp lên thiết bị 1.3 Mô hình cập nhật chƣơng trình từ xa 1.3.1 Thiết bị nhúng Thiết bị nhúng thiết bị có khả tự hoạt động, tích hợp phần cứng phần mềm, thiết kế để thực chức chun dụng 1.3.2 Chương trình chạy thiết bị nhúng Chương trình ứng dụng sau biên dịch xong nạp trực tiếp vào nhớ chương trình vi điều khiển thơng qua thiết bị nạp chương trình (programmer) nội dung chương trình chuyển thành tập tin định dạng hex bin để đưa lên máy chủ quản lý tập tin phục vụ cho trình cập nhật chương trình từ xa 1.3.3 Máy chủ quản lý tập tin chương trình Máy chủ quản lý tập tin đặt cơng ty đơn vị nghiên cứu sản xuất thiết bị nhúng thuê dịch vụ máy chủ đám mây từ nhà cung cấp nước nhà cung cấp quốc tế Nhưng đặc điểm chung máy chủ phải định danh môi trường Internet thông qua IP sử dụng tên miền dịch vụ phân giải tên miền (DNS) Giao thức thường sử dụng để làm việc với tập tin giao thức truyền tải tập tin FTP (File Transfer Protocol) 1.3.4 Quá trình cập nhật chương trình từ xa C C R UT.L D Hình 1.3 Quá trình cập nhật chương trình từ xa Bước 1: Người phát triển tạo chương trình ứng dụng cho thiết bị nhúng Bước 2: Đưa tập tin chứa chương trình ứng dụng lên máy chủ quản lý tập tin chương trình (FTP Server) Bước 3: Trong thiết bị nhúng, định kỳ vi điều khiển gửi lệnh AT để Module Internet thực thi, kiểm tra phiên chương trình ứng dụng máy chủ Bước 4: Module Internet tải tập tin chương trình từ FTP server cho vi điều khiển Bước 5: Vi điều khiển thay chương trình ứng dụng chạy chương trình ứng dụng C C R UT.L 1.4 Kết luận chƣơng Cập nhật chương trình từ xa tính quan trọng cho D thiết bị nhúng có kết nối vào Internet giúp giải nhiều vấn đề gia tăng thêm giá trị thiết bị Chính vậy, việc nghiên cứu đề xuất thư viện cập nhật chương trình từ xa mang lại nhiều đóng góp cho nhà nghiên cứu phát triển thiết bị 10 Hình 2.1 Sơ đồ khối phần cứng thử nghiệm 2.3 Tổ chức nhớ vi điều khiển cấu trúc chƣơng trình 2.3.1 Tổ chức nhớ chương trình C C R UT.L Theo thiết kế vi xử lý lõi ARM Cortex M, vùng nhớ chương trình có độ rộng 32 bit địa D 0x0000_0000, tối đa đến địa 0x1FFF_FFFF, địa 0x0000_0000 chứa giá trị khởi tạo stack pointer, bảng vector chứa địa exception handler phần lớn lại vùng chứa mã máy chương trình Tổng cộng, vùng code có kích thước 512 MB Các hoạt động với nhớ chương trình: Hoạt động đọc, hoạt động ghi hoạt động xoá 2.3.2 Tổ chức nhớ liệu Vùng nhớ liệu SRAM hay gọi đơn giản vùng RAM, thường nằm sau vùng nhớ chương trình Tùy thuộc vào tài nguyên phần cứng thuật toán thiết kế, việc lưu trữ tạm thời chương trình vào nhớ RAM phân làm ba loại sau: 11 - Lƣu trữ phần: Mỗi nhận gói liệu chứa phần chương trình ứng dụng, ghi phần liệu vào vùng nhớ chương trình nhớ Flash - Lƣu trữ nhiều phần: Chừa vùng nhớ RAM để lưu trữ liệu có gói tin đến Khi vùng đầy ghi phần liệu vào vùng nhớ chương trình nhớ Flash làm trống vùng nhớ RAM để tiếp tục nhận gói tin khác - Lƣu trữ tồn phần: Lưu trữ tồn chương trình ứng dụng RAM ghi vào nhớ flash tải xuống đầy đủ từ máy chủ 2.3.3 Cấu trúc tập tin chương trình C C R UT.L Chương trình ứng dụng truyền thành chuỗi byte sau chuyển thành định dạng tập tin *.hex *.bin từ D ngôn ngữ lập trình C/C++ Chuỗi byte có liên quan tới địa nhớ vi điều khiển Tập tin chƣơng định dạng Intel HEX: tập tin chứa nội dung chương trình thơng tin dẫn với loại HEX record khác theo định dạng Intel HEX Mỗi record bao gồm nhiều ký tự ASCII biểu diễn giá trị theo mã hexadecimal Mỗi hàng (record) hàng thường có trường (field), trường có nhiệm vụ riêng Mỗi hàng kết thúc kí tự CR(0x13)/LF(0x0A)/NULL(0x00) Tập tin chƣơng trình định dạng Intel BIN: Tập tin chương trình định dạng BIN tập tin chứa nội dung chương trình có bin Đây dạng tệp tin phi văn bản, lưu trữ định dạng mã nhị phân gồm giá trị 1, liệu tập 12 tin chương trình ứng dụng lưu cách liên tục theo địa nhớ, không chia thành dịng, khơng chứa ký tự kết thúc câu, kí tự xuống dịng, khơng chứa địa chỉ, trường dẫn khơng có giá trị Checksum 2.3.4 Cấu trúc chương trình nhớ Để có thêm thêm tính OTA cho thiết bị khối nhớ vi điều khiển chia thành nhiều vùng khác để lưu trữ chương trình Bootloader tự phát triển; Chương trình OTA, Chương trình ứng dụng Các biến liên kết 2.4 Bộ xử lý trung tâm ARM Cortex – M Dòng vi xử lý ARM Cortex M dòng vi xử lý thiết kế tối ưu cho giá thành lượng tiêu thụ vi điều khiển, C C R UT.L sử dụng nhiều ứng dụng nhúng khác Vi xử lý ARM Cortex-M bao gồm lõi vi xử lý, nhiều ngoại vi chuyên D dụng xung quanh NVIC, System Control Block, Flash Patch Breakpoint, Memory protection, Data watchpoint and trace, Bus Matrix,… 2.5 Quá trình khởi động vi điều khiển Mỗi thiết bị cấp nguồn, người dùng nhấn nút khởi động lại thiết bị chương trình ứng dụng phát có phiên cập nhật vi điều khiển thực khởi động lại Việc vi điều khiển khởi động ghi Program Counter (PC) nạp giá trị 0x0000_0000 Tiếp theo vi xử lý khởi tạo Stack Pointer cách đọc giá trị nhớ địa nhớ chương trình 0x0000_0000 nạp cho ghi Main Stack Pointer Sau vi xử lý đọc giá trị nhớ địa 0x0000_0004 để nạp cho ghi PC Giá trị đọc địa 13 Reset_Handler Lúc PC nhảy tới Reset_Handler Reset_Handler có chức thực số khởi tạo từ Reset_Handler gọi hàm main() chương trình 2.6 Module truyền nhận liệu 4G Ngày nay, thiết bị 4G có mặt hầu hết nơi chi phí giá thành khơng cao, tính khả dụng rộng rãi làm cho trở thành lựa chọn ưu tiên vai trò kết nối vào Internet thiết bị nhúng Quectel EC21 loại module 4G LTE Cat1 có tốc độ liệu tối đa 10Mbps download upload 5Mbps, tiết kiệm lượng, phù hợp sử dụng cho ứng dụng nhúng không yêu cầu kết nối tốc độ cao Module hỗ trợ tương thích ngược với mạng UMTS/HSPA+ GSM/GPRS/EDGE Vi điều khiển giao tiếp C C R UT.L với module sử dụng giao thức UART thông qua tập lệnh AT 2.7 Kết luận chƣơng D Vi xử lý ARM Cortex – M, vi điều khiển STM32 vi xử lý, vi điều khiển sử dụng phổ biến ứng dụng nhúng Nền tảng phần cứng phục vụ cho việc nghiên cứu thử nghiệm cập nhật chương trình từ xa luận văn thiết kế dựa Vi điều khiển STM32F411 sử dụng lõi ARM Cortex –M4 14 Chƣơng 3: Đề xuất phƣơng pháp xây dựng thƣ viện cập nhật chƣơng trình từ xa 3.1 Giới thiệu chƣơng Chương đề xuất phương pháp cập nhật chương trình từ xa đảm bảo tiêu chí quan trọng Từ thư viện cập nhật chương trình từ xa xây dựng dựa thuật toán nối thiết bị với máy chủ, tải tập tin, kiểm tra lỗi tập tin, ghi tập tin vào nhớ, khởi động thiết bị 3.2 Phƣơng pháp cập nhật chƣơng trình từ xa Phương pháp cập nhật chương trình từ xa xây dựng phải đảm bảo tiêu chí: C C R UT.L Đảm bảo tỉ lệ thực thành cơng cao Ít tốn tài ngun nhớ Quá trình cập nhật chương trình từ xa diễn thời D gian ngắn Đảm bảo thiết bị sử dụng trường hợp: o Mất nguồn trình cập nhật chương trình từ xa o Phiên chương trình tồn lỗi o Lỗi trình nhận tập tin chương trình o Mất kết nối Internet trình cập nhật chương trình từ xa Lựa chọn phƣơng pháp phân vùng nhớ: Trong vi điều khiển tồn phân vùng cho bootloader tự phát triển, phân vùng chương trình OTA, biến liên kết hai phân vùng cho hai phiên 15 chương trình ứng dụng khác nhằm luân phiên cập nhật chương trình cho vị trí A/B để thiết bị ln trì hai phiên chương trình Lựa chọn phƣơng pháp lƣu trữ liệu tạm thời: Lưu trữ phần lưu trữ tồn phần Mỗi nhận gói liệu chứa phần chương trình ứng dụng, ghi phần liệu vào vùng nhớ chương trình nhớ Flash Một tập tin chương trình tải lần nhiều lần tùy thuộc vào kích cỡ tập tin so với kích cỡ nhớ đệm khai báo RAM Nếu đệm khai báo nhỏ so với kích cỡ tập tin phương pháp lưu trữ liệu tạm thời lưu trữ phần Nếu đệm khai báo lớn so với kích cỡ tập tin chương trình ứng dụng phương C C R UT.L pháp lưu trữ liệu tạm thời lưu trữ tồn phần Thư viện chương trình cập nhật từ xa phát triển D ngôn ngữ lập trình C dựa thư viện HAL (Hardware Abstraction Layer) hãng STM32 để làm việc với ngoại vi vi điều khiển, dựa thư viện Sim tự phát triển dựa tập lệnh AT để làm việc với module Internet EC21 Các thư viện chuẩn C để chuẩn hóa kiểu liệu (stdint.h) xử lý chuỗi (string.h) Thư viện thiết kế thành khối chức cụ thể, dễ dàng hiệu chỉnh, sửa chữa cho phù hợp với nhu cầu người sử dụng Các tập tin liên quan đến thư viện xây dựng: Tập tin thư viện fota_stm32.h Mô tả Header fota_stm32.c, tập tin cho phép người dùng hiệu chỉnh thơng số tính cập nhật chương trình từ xa 16 cho phù hợp với ứng dụng họ bao gồm thông số định danh thiết bị, thông số để làm việc với FTP Server, cấu hình thiết bị phân vùng nhớ Tập tin chứa hàm sử dụng fota_stm32.c trình cập nhật chương trình từ xa sử dụng cho chương trình Bootloader, chương trình OTA chương trình ứng dụng gồm hàm chức để thực việc nối thiết bị với máy chủ, tải tập tin, kiểm tra lỗi tập tin, ghi tập tin vào nhớ C C R UT.L Flash, Khởi động thiết bị hàm kiểm tra phiên cập nhật D 3.3 Thuật toán nhận, kiểm tra lỗi tập tin chƣơng trình 3.3.1 Thuật tốn kết nối thiết bị với máy chủ Chương trình ứng dụng A/B định kỳ kết nối đến máy chủ kiểm tra phiên cập nhật dành cho thiết bị Nếu có phiên cập nhật cấu hình lại biến liên kiết để lựa chọn chương trình OTA chương trình thực thi để thực trình cập nhật phiên mới, sau cấu hình xong biến liên kết, chương trình ứng dụng thực thi hàm NVIC_SystemReset để khởi động lại thiết bị 3.3.2 Thuật toán tải tập tin Phương án cập nhật chương trình từ xa lựa chọn sử dụng hai phân vùng A B chứa hai chương trình với phiên gần 17 cập nhật xen kẽ Trong trường hợp cập nhật thất bại thiết bị quay phiên gần 3.3.3 Thuật toán kiểm tra lỗi tập tin Đối với tập tin định dạng HEX: Sau tải phần tồn tập tin chương trình lưu trữ tạm thời SRAM, dòng liệu kiểm tra độ toàn vẹn trước lưu vào nhớ Flash Kiểm tra lỗi tập tin chất kiểm tra trường checksum dòng tập tin Đối với tập tin định dạng BIN: Giá trị CRC tính tốn thêm vào cuối tập tin định dạng BIN Sau tập tin tải ghi vào nhớ chương trình, sử dụng phần cứng tính tốn CRC tích hợp sẵn STM32 để kiểm tra lỗi Khối phần cứng CRC thiết kế C C R UT.L dựa CRC-32/MPEG-2, có giá trị POLY=0x04c11db7 Initial_Crc=0xFFFFFFFF 3.3.4 D Thuật toán ghi tập tin vào nhớ Trước ghi chương trình vào nhớ Flash cần thực xóa nội dung chương trình cũ có tại 3.3.5 Thuật toán khởi động lại vi điều khiển ARM cung cấp hàm NVIC_SystemReset() để thực khởi động lại vi xử lý Hàm sử dụng tại chương trình ứng dụng phát phiên chương trình chương trình OTA thực xong trình OTA 3.4 Kết luận chƣơng Chương trình bày thuật tốn thư viện cập nhật chương trình từ xa xây dựng phương pháp đề xuất Thư viện thiết kế thành khối chức cụ thể, dễ dàng hiệu chỉnh, sửa chữa cho phù hợp với nhu cầu người sử dụng 18 Chƣơng 4: Kết thực đánh giá 4.1 Giới thiệu chƣơng Tiêu chí thứ việc chiếm tài nguyên nhớ triển khai tính OTA, tiêu chí thứ hai tỉ lệ thành cơng thực OTA, độ tin cậy thực OTA, tiêu chí thứ ba thời gian thực q trình OTA 4.2 Kết thực Kết thực đề tài tạo sản phẩm sau: Thiết kế phần cứng thử nghiệm với Vi điều khiển sử dụng Vi xử lý ARM Cortex M3 ARM Cortex M4 Thiết kế thử nghiệm thành công chương trình Bootloader, chương trình OTA cho tập tin định dạng C C R UT.L HEX tập tin định dạng BIN Thư viện hàm hỗ trình cập nhật chương trình từ xa D Bên cạnh số sản phẩm phụ tạo để phục vụ cho đề tài như: Phần mềm hiệu chỉnh TAPIT_FTOA_Supporting_Tool_v1.0.exe Firmware chạy máy tính Windows Webserver giúp triển khai quản lý tính cập nhật từ xa cho thiết bị 4.3 Đánh giá hiệu 4.3.1 Về chiếm dụng tài nguyên nhớ Từ kết thơng báo trình biên dịch, kết hợp với tập tin Linker Map (*.map) chương trình gồm chương trình 19 Bootloader, chương trình OTA ta có thơng tin chiếm nhớ chương trình sau: Đối với nhớ Flash: o Chương trình Bootloader tự xây dựng chiếm 10,48 KByte o Chương trình OTA cho tập tin định dạng HEX chiếm 22.05 KByte o Chương trình OTA cho tập tin định dạng BIN chiếm 22.16KByte Đối với nhớ RAM o Chương trình Bootloader chiếm 1.71 KByte o Chương trình OTA chiếm 2.4 KByte kích cỡ C C R UT.L Buffer Download người dùng tự khai báo tùy tài nguyên phần cứng vi điều khiển D Vậy thấy chương trình Bootloader Chương trình OTA chiếm dung lượng nhớ tổng cộng lượng 32.53 KByte nhớ Flash vi điều khiển cho trường hợp cập nhật chương trình từ xa sử dụng tập tin định dạng HEX 32.64 KByte cho trường hợp cập nhật chương trình từ xa sử dụng tập tin định dạng BIN 4.3.2 Về độ tin cậy, tỉ lệ cập nhật thành cơng Sau hồn thành thiết kế phần cứng hồn thành chương trình thực nghiệm sử dụng thư viện cập nhật chương trình từ xa tỉ lệ cập nhật chương trình kiểm thử với 03 chương trình ứng dụng với 03 kích cỡ khác 15KByte, 30KByte 60KByte Mỗi chương trình biên dịch tạo thành tập tin dạng Hex 20 tập tin dạng Bin Mỗi tập tin thử nghiệm 100 lần cho kết tỉ lệ cập nhật thành công 100% Hai định dạng phổ biến thường sử dụng để cập nhật chương trình từ xa tập tin định dạng HEX tập tin định dạng BIN quan tâm đến vấn đề toàn vẹn liệu 4.3.3 Thời gian cập nhật chương trình Từ kết thử nghiệm với tập tin, thấy thời gian thực FOTA phụ thuộc nhiều vào thời gian tải tập tin chương trình Với chương trình tập tin định dạng BIN chứa nội dung chương trình nên kích thước nhỏ thời gian tải nhanh, tập tin định dạng HEX có chứa thêm dẫn nên kích thước lớn thời gian tải lâu Bảng 4.4 Kết thời gian thực OTA với tập tin định dạng HEX định dạng BIN C C R UT.L D Kích cỡ chương Thời gian FOTA Thời gian FOTA trình ứng dụng với tập tin HEX với tập tin BIN 15KByte 158237974 cycles 85840094 cycles 9.9 giây 5.4 giây 264065064 cycles 119395522 cycles 16.5 giây 7.5 giây 499840662 cycles 184158711 cycles 31.2 giây 11.5 giây 30KByte 60KByte 4.4 Kết luận chƣơng Đề tài kết cụ thể phần cứng phần mềm, thử nghiệm thực để đánh giá, kết cho 21 thấy chương trình bootloader chương trình OTA chiếm tài ngun nhớ, tỉ lệ thành công 100% 600 lần thử nghiệm, thời gian thực trình cập nhật đánh giá dựa đơn vị số cycles thực vi xử lý tỉ lệ chiếm thời gian hoạt động thành phần trình OTA D C C R UT.L 22 KẾT LUẬN Yêu cầu sản phẩm thị trường thiết bị Nhúng có kết nối Internet thay đổi nhanh yêu cầu sản phẩm truyền thống Ngoài ra, mạng 3G/4G áp dụng rộng rãi phát triển Các áp lực thời gian để tiếp cận thị trường nhanh hơn, có khả ảnh hưởng đến thời gian thử nghiệm sản phẩm Vì lý này, việc nâng cấp firmware tăng thêm giá trị đáng kể cho sản phẩm cách cho phép nhà phát triển nâng cao chức sản phẩm theo thời gian triển khai sửa lỗi sau sản phẩm triển khai.Với mục tiêu nghiên cứu đề xuất thư viện cập nhật chương trình từ xa cho thiết bị nhúng kết nối C C R UT.L Internet, đề tài thực hồn thiện rút kết luận sau: D Đề tài trình bày cập nhật chương trình từ xa tính quan trọng quan tâm phát triển, mang lại khả thay chương trình chạy vi điều khiển hệ thống nhúng chương trình với thay đổi, bổ sung tính thiết bị, hay cập nhật thiếu sót bảo mật thời gian ngắn mà không cần thao tác trực tiếp lên thiết bị Đề tài cung cấp tảng sở khoa học kỹ thuật cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet với yếu tố: Cấu trúc tập tin chương trình, tổ chức nhớ, giao thức truyền nhận liệu, tính tồn vẹn liệu quy trình khởi động thiết bị nhúng 23 Đề tài trình bày thiết kế phần cứng thử nghiệm, sử dụng dòng vi điều khiển STM32, vi xử lý ARM Cortex – M sử dụng phổ biến thị trường Thiết bị có khả kết nối vào Internet sử dụng công nghệ mạng 4G thông qua module EC21 hãng Quectel Đề tài đề xuất phương pháp cập nhật chương trình từ xa hỗ trợ nhiều thiết bị nhúng với lựa chọn khác biện pháp tổ chức bố trí chương trình nhớ Flash, biện pháp lưu trữ nội dung tập tin chương trình tạm thời nhớ SRAM trước ghi vào nhớ Flash Đề tài có phân tích biện pháp giúp người phát triển lựa chọn biện pháp phù C C R UT.L hợp tùy theo thiết bị nhu cầu thực tế họ Đề tài trình bày thiết kế thư viện cập nhật chương D trình từ xa, thuật toán áp dụng thư viện chương trình thực nghiệm dựa thư viện xây dựng Các kết thực nghiệm mơ hình cụ thể cho thấy thư viện xây dựng có tỉ lệ cập nhật thành cơng 100%, tốn tài nguyên nhớ, thời gian thực q trình OTA nhanh áp dụng vào dự án thực tế Định hướng phát triển đề tài tiếp tục nghiên cứu bổ sung thêm tính bảo mật truyền tập tin chương trình qua mơi trường Internet cách tích hợp xác thực server/ xác thực client TLS/SSL mã hóa liệu tập tin chương trình [14][15][16]; nghiên cứu bổ sung hàm chức thư viện hỗ trợ cho hệ thống tiết kiệm lượng 24 Trong trình thực đề tài, tơi nhận thấy tính OTA thật mang lại nhiều lợi ích cho thiết bị nhúng, bên cạnh có số cạm bẫy mà nhóm phát triển sản phẩm cần nhận thức nên tránh Nhu cầu thị trường cạnh tranh dẫn đến việc phát hành chương trình ứng dụng phải thực thời gian ngắn Điều dẫn đến việc chương trình sản phẩm khơng ổn định khơng kiểm tra kĩ lưỡng tối ưu Và OTA khơng phải tính sản phẩm nên nhiều trường hợp người dùng cuối không nhận cập nhật Vì nhóm phát triển sản phẩm nên cân nhắc cẩn thận, tránh không lạm dụng OTA D C C R UT.L ... 3G/4G Chƣơng 3: ĐỀ XUẤT PHƢƠNG PHÁP VÀ XÂY DỰNG THƢ VIỆN CẬP NHẬT CHƢƠNG TRÌNH TỪ XA Chương đề xuất phương pháp cập nhật chương trình từ xa, xây dựng thư viện cập nhật chương trình từ xa với thuật... chương trình từ xa tính quan trọng cho D thiết bị nhúng có kết nối vào Internet giúp giải nhiều vấn đề gia tăng thêm giá trị thiết bị Chính vậy, việc nghiên cứu đề xuất thư viện cập nhật chương trình. .. dựng thƣ viện cập nhật chƣơng trình từ xa 3.1 Giới thiệu chƣơng Chương đề xuất phương pháp cập nhật chương trình từ xa đảm bảo tiêu chí quan trọng Từ thư viện cập nhật chương trình từ xa xây dựng