Đăng ký Đăng nhập
Trang chủ Nghiên cứu và đề xuất thư viện cập nhật chương trình từ xa cho các thiết bị nhún...

Tài liệu Nghiên cứu và đề xuất thư viện cập nhật chương trình từ xa cho các thiết bị nhúng kết nối internet

.PDF
102
6
87

Mô tả:

ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC BÁCH KHOA -----  ----- C C R L T. NGUYỄN HUỲNH NHẬT THƢƠNG U D NGHIÊN CỨU VÀ ĐỀ XUẤT THƢ VIỆN CẬP NHẬT CHƢƠNG TRÌNH TỪ XA CHO CÁC THIẾT BỊ NHÚNG KẾT NỐI INTERNET LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ ĐẠ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 CHO CÁC THIẾT BỊ NHÚNG KẾT NỐI INTERNET C C R L T. Chuyên ngành : Kỹ thuật điện tử Mã số: 8520203 U D LUẬN VĂN THẠC SĨ NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. Võ Tuấn Minh TS. Nguyễn Duy Nhật Viễn Đà Nẵng – Năm 2020 C C DU R L T. ii MỤC LỤC Lời cam đoan ......................................................................................................................... i MỤC LỤC ...........................................................................................................................ii MỞ ĐẦU .............................................................................................................................. 1 1. Tính cấp thiết của đề tài .......................................................................................... 1 2. Mục đích nghiên cứu............................................................................................... 1 3. Đối tượng và phạm vi nghiên cứu .......................................................................... 2 4. Phương pháp nghiên cứu ........................................................................................ 2 5. Ý nghĩa khoa học và thực tiễn của đề tài ................................................................ 2 6. Cấu trúc của luận văn .............................................................................................. 3 Chương 1: Tổng quan về cập nhật chương trình từ xa ......................................................... 4 C C 1.1. Giới thiệu chương ................................................................................................... 4 R L T. 1.2. Ứng dụng của cập nhật chương trình từ xa ............................................................. 4 1.3. Mô hình cập nhật chương trình từ xa ...................................................................... 5 U D 1.3.1. Thiết bị nhúng ............................................................................................... 5 1.3.2. Chương trình chạy trên thiết bị nhúng .......................................................... 6 1.3.3. Máy chủ quản lý tập tin chương trình........................................................... 6 1.3.4. Quá trình cập nhật chương trình từ xa .......................................................... 7 1.4. Kết luận chương ...................................................................................................... 8 Chương 2: Nền tảng phần cứng cập nhật chương trình từ xa............................................... 9 2.1. Giới thiệu chương ................................................................................................... 9 2.2. Tổng quan về phần cứng ......................................................................................... 9 2.3. Tổ chức bộ nhớ của vi điều khiển và cấu trúc chương trình ................................ 11 2.3.1. Tổ chức bộ nhớ chương trình ..................................................................... 12 2.3.2. Tổ chức bộ nhớ dữ liệu ............................................................................... 14 2.3.3. Cấu trúc tập tin chương trình ...................................................................... 15 2.3.4. Cấu trúc chương trình trong bộ nhớ ........................................................... 18 2.4. Bộ xử lý trung tâm ARM Cortex – M................................................................... 22 2.5. Quá trình khởi động của vi điều khiển.................................................................. 23 2.6. Module truyền nhận dữ liệu 4G ............................................................................ 24 2.7. Kết luận chương .................................................................................................... 25 iii 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 ...... 27 3.1. Giới thiệu chương ................................................................................................. 27 3.2. Phương pháp cập nhật chương trình từ xa ............................................................ 27 3.3. Thuật toán nhận, kiểm tra lỗi tập tin chương trình ............................................... 29 3.3.1. Thuật toán kết nối thiết bị với máy chủ ...................................................... 29 3.3.2. Thuật toán tải tập tin ................................................................................... 33 3.3.3. Thuật toán kiểm tra lỗi tập tin..................................................................... 37 3.3.4. Thuật toán ghi tập tin vào bộ nhớ ............................................................... 41 3.3.5. Thuật toán khởi động lại vi điều khiển ....................................................... 42 3.4. Kết luận chương .................................................................................................... 50 Chương 4: Kết quả thực hiện và đánh giá .......................................................................... 51 C C 4.1. Giới thiệu chương ................................................................................................. 51 R L T. 4.2. Kết quả thực hiện .................................................................................................. 51 4.3. Đánh giá hiệu quả ................................................................................................. 54 U D 4.3.1 Về chiếm dụng tài nguyên bộ nhớ ..................................................................... 54 4.3.2 Về độ tin cậy, tỉ lệ cập nhật thành công ......................................................... 55 4.3.3. Thời gian cập nhật chương trình ................................................................. 56 4.4. Kết luận chương .................................................................................................... 67 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI TÀI LIỆU THAM KHẢO PHỤ LỤC iv NGHIÊN CỨU VÀ ĐỀ XUẤT THƢ VIỆN CẬP NHẬT CHƢƠNG TRÌNH TỪ XA CHO CÁC THIẾT BỊ NHÚNG KẾT NỐI INTERNET Học viên: Nguyễn Huỳnh Nhật Thương Chuyên ngành: Kỹ thuật điện tử Mã số:8520203 Khóa: K38.KĐT Trường Đại học Bách khoa – ĐHĐN Tóm tắt – Cùng với sự phát triển không ngừng của công nghệ và đặc biệt là xu thế vạn vận kết nối Internet, ngày càng nhiều thiết bị nhúng kết nối vào Internet được sử dụng khắp nơi trên thế giới trong rất nhiều lĩnh vực khác nhau. Dưới áp lực của sự phát triển, các thiết bị sau khi đưa vào sử dụng thì mới phát hiện các lỗi hay cần nâng cấp thêm để bổ sung, tối ưu các tính năng. Trong đó, nhiều thiết bị được lắp đặt sử dụng tại những nơi mà con người hay đội ngũ kỹ thuật khó có thể tiếp cận được, điều nay dẫn đến những khó khăn trong quá trình thay đổi chương trình chạy trên thiết bị. Trong đề tài này nghiên cứu các yếu tố kỹ thuật liên quan đến quá trình cập nhật từ xa cho thiết bị nhúng. Từ đó, đề xuất phương pháp cập nhật chương trình từ xa, xây dựng thử nghiệm và đánh giá thư viện chương trình cập nhật từ xa trên mô hình cụ thể. Thư viện và phương pháp đề xuất có độ tin cậy cao, ít chiếm dụng bộ nhớ và thời gian thực hiện cập nhật chương trình nhanh. Cấu trúc thư viện được thiết kế cho phép dễ dàng kế thừa, áp dụng cho nhiều hệ thống nhúng có kết nối Internet được thiết kế dựa trên nền tảng vi xử lý ARM Cortex –M để thực hiện việc cập nhật chương trình nhằm vá lỗi, nâng cấp, tối ưu các tính năng của một hệ thống từ xa, trong một thời gian ngắn mà không cần can thiệp trực tiếp vào thiết bị. C C R L T. Từ khóa – cập nhật chương trình từ xa; thiết bị nhúng; vạn vật kết nối Internet; vi xử lý ARM Cortex - M; vi điều khiển STM32. U D A STUDY AND PROPOSAL OF OVER-THE-AIR FIRMWARE UPDATE LIBRARY FOR INTERNET-CONNECTED EMBEDDED DEVICES Abstract - With the continuous development of technologies and especially the trend of Internet of Things, more and more Internet-connected embedded devices are being used all over the world in many different use cases. Development teams are always under pressure to deliver faster, however, after being put into use, devices are found to have errors or need to be upgraded to add and optimize features. In fact, many embedded systems are deployed in places that are difficult for human operators or technical staff to access, which leads to difficulties in the process of changing programs running on the device. In this thesis, technical factors related to the remote update process for embedded devices are studied. From there, proposing the method of updating the program remotely, checking and evaluating the remote update program on specific model. The proposed library and method are highly reliable, consume less memory usage, and have fast program update execution times. Designed library structure allows easy inheritance, applicable to many Internet-connected embedded systems designed on ARM Cortex –M platform in order to update the program remotely to patch, upgrade and optimize the features in a short time without intervention directly to the device. Keywords – Firmware over the air; Embedded device; Internet of things; ARM Cortex –M Processor; STM32 Microcontroller. v Danh mục các kí hiệu các chữ viết tắt OTA Over The Air FOTA Firmware Over The Air DNS Domain Name System FTP File Transfer Protocol TCP/IP Transmission Control Protocol RSSI Received Signal Strength Indicator CPU Central Processing Unit RTC Real time clock LCD Liquid Crystal Display USB Universal Serial Bus UART Universal Asynchronous Receiver Transmitter ADC Analog-to-digital Converter SRAM Static Ramdom-Access Memory RAM Ramdom-Access Memory NVIC Nested Vector Interrupt Control CRC Cyclic Redundancy Check SP Stack Pointer PSP Processor Stack Pointer MSP Main Stack Pointer PC Program Counter VTOR Vector Table Offset Register UMTS Universal Mobile Telecommunication System HSPA High Speed Packet Access C C R L T. U D vi USB Universal Serial Bus LED Light Emitting Diode GSM Symbol Stock Images GPRS General Packet Radio Service PCIe Peripheral Component Interconnect Express HAL Hardware Abstraction Layer C C U D R L T. vii Danh mục các bảng Bảng 3.1 Mô tả tập tin thư viện Bảng 3.2 Danh sách các hàm trong thư viện cập nhập chương trình từ xa Bảng 4.1 Các phân vùng trong bộ nhớ Flash Bảng 4.2 Tỉ lệ thử nghiệm cập nhập chương trình từ xa thành công Bảng 4.3 Kích cỡ tập tin định dạng HEX và tập tin định dạng BIN các chương trình ứng dụng Bảng 4.4 Kết quả thời gian thực hiện OTA với tập tin định dạng HEX và định dạng BIN C C U D R L T. viii Danh mục các hình Hình 1.1 Sơ đồ khối tổng quát của thiết bị nhúng có kết nối Internet Hình 1.2 Quá trình tạo tập tin chương trình ứng dụng Hình 1.3 Quá trình cập nhập chương trình từ xa Hình 2.1 Sơ đồ khối phần cứng thử nghiệm Hình 2.2 Sơ đồ khối vi điều khiển STM32F411 Hình 2.3 Sơ đồ khối nguyên lý LCD, USB-UART, LEDs và Buttons Hình 2.4 Bản đồ bộ nhớ của Vi xử lý ARM Cortex M4 Hình 2.5 Vùng bộ nhớ chương trình Hình 2.6 Tổng quan về tổ chức bộ nhớ chương trình Hình 2.7 Tổ chức bộ nhớ dữ liệu Hình 2.8 Ví dụ về nội dung và cấu trúc tập tin HEX Hình 2.9 Ví dụ về nội dung và cấu trúc tập tin BIN Hình 2.10 Cấu trúc chương trình trong bộ nhớ Hình 2.11 Cấu trúc chương trình trong bộ nhớ khi thêm tính năng OTA – C1A Hình 2.12 Cấu trúc chương trình trong bộ nhớ khi thêm tính năng OTA – C1B Hình 2.13 Cấu trúc chương trình trong bộ nhớ khi thêm tính năng OTA – C2A Hình 2.14 Quá trình hoạt động tương ứng với bố trí bộ nhớ C2A Hình 2.15 Cấu trúc chương trình trong bộ nhớ khi thêm tính năng OTA – C2B Hình 2.16 Các thanh ghi của Vi xử lý ARM Cortex - M4 Hình 2.17 Cấu trúc một chương trình trong bộ nhớ vi điều khiển Hình 2.18 Quectel EC21 vad Quectel EC21 PCIe Mini card Hình 2.19 Sơ đồ nguyên lý của Module Quectel EC21 Hình 3.1 Phương pháp phân vùng bộ nhớ và quá trình hoạt động được chọn Hình 3.2 Giản đồ quy trình kiểm tra hoạt động module Internet Hình 3.3 Giản đồ quy trình cấu hình thông số và kết nối Internet Hình 3.4 Giản đồ quy trình cấu hình thông số của giao thức FTP C C R L T. U D ix Hình 3.5 Giản đồ quy trình kết nối FTP server Hình 3.6 Giản đồ quy trình cấu hình đường dẫn chứa tập tin chương trình Hình 3.7 Giản đồ quy trình chọn tập tin tải về Hình 3.8 Giản đồ quy trình xác định kích thước tập tin tải về Hình 3.9 Giản đồ quy trình tải tập tin định dạng BIN Hình 3.10 Giản đồ quy trình tải tập tin định dạng HEX Hình 3.11 Giản đồ quy trình kiểm tra checksum Hình 3.12 Khối tính toán CRC trong vi điều khiển STM32 Hình 3.13 Giản đồ quy trình kiểm tra CRC Hình 3.14 Giản đồ quy trình tải và ghi chương trình vào bộ nhớ FLASH Hình 3.15 Sơ đồ trạng thái các chương trình trong vi điều khiển Hình 3.16 Giản đồ quy trình kiểm tra và làm việc với biến fwfailtime Hình 3.17 Giản đồ quy trình lựa chọn chương trình cần thực thi Hình 3.18 Giản đồ quy trình nhảy đến một chương trình khác từ bootloader Hình 4.1 Giao diện phần mềm FOTA Supporting Tool Hình 4.2 Giao diện webserver quản lý thiết bị Hình 4.3 Sản phẩm thực tế sử dụng thư viện OTA của đề tài Hình 4.4 Kết quả biên dịch các chương trình ứng dụng Hình 4.5 Biểu đồ đường số clock cycle quá trình OTA chương trình 15KByte định dạng HEX Hình 4.6 Biểu đồ tròn tỉ lệ thời gian thành phần quá trình OTA chương trình 15KByte định dạng HEX Hình 4.7 Biểu đồ đường số clock cycle quá trình OTA chương trình 15KByte định dạng BIN Hình 4.8 Biểu đồ tròn tỉ lệ thời gian thành phần quá trình OTA chương trình 15KByte định dạng BIN Hình 4.9 Biểu đồ đường số clock cycle quá trình OTA chương trình 30KByte định dạng HEX C C R L T. U D x Hình 4.10 Biểu đồ tròn tỉ lệ thời gian thành phần quá trình OTA chương trình 30KByte định dạng HEX Hình 4.11 Biểu đồ đường số clock cycle quá trình OTA chương trình 30KByte định dạng BIN Hình 4.12 Biểu đồ tròn tỉ lệ thời gian thành phần quá trình OTA chương trình 30KByte định dạng BIN Hình 4.13 Biểu đồ đường số clock cycle quá trình OTA chương trình 60KByte định dạng HEX Hình 4.14 Biểu đồ tròn tỉ lệ thời gian thành phần quá trình OTA chương trình 60KByte định dạng HEX Hình 4.15 Biểu đồ đường số clock cycle quá trình OTA chương trình 60KByte định dạng BIN Hình 4.16 R L T. C C Biểu đồ tròn tỉ lệ thời gian thành phần quá trình OTA chương trình 60KByte định dạng BIN U D 1 MỞ ĐẦU 1. Tính cấp thiết của đề tài Cùng với sự phát triển không ngừng của công nghệ, các thiết bị nhúng được sử dụng ở khắp mọi nơi trên thế giới trong rất nhiều lĩnh vực khác nhau với số lượng ngày càng gia tăng nhanh chóng. Trong đó, nhiều thiết bị được lắp đặt sử dụng tại những nơi mà con người hay đội ngũ kỹ thuật khó có thể tiếp cận được, nhiều thiết bị sau khi đưa đến tay người dùng và trong quá trình sử dụng thì phát hiện được các lỗi hay cần nâng cấp bổ sung, tối ưu các tính năng. Từ xu thế vạn vật kết nối Internet và những nhu cầu cần thiết trên, ngày càng nhiều các thiết bị nhúng được thiết kế hỗ trợ kết nối vào Internet. Điều này sẽ đặt ra nhiều cơ hội cũng như các bài toán mới cho những nhà nghiên cứu và phát triển, đặc biệt là vấn đề cập nhật chương trình từ xa đang được quan tâm phát triển như một tính năng quan trọng cho các thiết bị để có thể thay đổi chương trình chỉ trong thời gian ngắn mà không cần thao tác trực tiếp lên thiết bị. C C R L T. 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. Để người phát triể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ả, đề tài sẽ cung cấp các nền tảng cơ sở khoa học kỹ thuật về các yếu tố liên quan đến tính năng trên. U D Theo thống kê năm 2019, trong 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 và số lượng vi điều khiển trên thế giới được thiết kế trên kiến trúc lõi ARM chiếm 25% thị phần [2], trong đó dòng Cortex-M chiếm tỉ lệ cao nhất. Vì vậy, thư viện cập nhật chương trình từ xa được đề xuất trong đề này sẽ được thử nghiệm trên mô hình thiết bị là một bảng mạch vi điều khiển 32 bit của hãng STMicroelectronics sử dụng CPU lõi ARM Cortex – M và bộ nhớ chương trình Flash, mô hình này có khả năng kết nối vào Internet thông qua module truyền nhận dữ liệu không dây 4G. 2. Mục đích nghiên cứu - - Cung cấp nền tảng cơ sở khoa học kỹ thuật về cập nhật chương trình từ xa cho các thiết bị nhúng có kết nối Internet với các yếu tố: Cấu trúc tập tin chương trình, tổ chức bộ nhớ, giao thức truyền nhận dữ liệu, tính toàn vẹn dữ liệu và quy trình khởi động thiết bị nhúng. Đề xuất phương pháp cập chương trình từ xa, xây dựng thử nghiệm và đánh giá thư viện chương trình cập nhật từ xa trên mô hình cụ thể. 2 3. Đối tƣợng và 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 các giao thức Internet HTTP, FTP Kỹ thuật phát hiện lỗi trong truyền nhận dữ liệu. 3.2. Phạm vi nghiên cứu - Kiến trúc lõi ARM Cortex - M, tổ chức bộ nhớ và quy trình khởi động của dòng vi điều khiển STM32 - Giao thức truyền nhận dữ liệu giữa server và thiết bị, kỹ thuật kiểm tra lỗi - Thuật toán và thư viện cập nhật chương trình từ xa cho mô hình thiết bị. 4. Phƣơng pháp nghiên cứu C C R L T. Phương pháp luận của luận văn là 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ể như sau: - U D Nghiên cứu các yếu tố kỹ thuật liên quan đến quá trình cập nhật chương trình từ xa cho các thiết bị nhúng Xem xét các đề tài nghiên cứu liên quan, so sánh và đánh giá các ưu điểm, khuyết điểm của các phương pháp cập nhật chương trình từ xa Đề xuất phương pháp và thiết kế thư viện cập nhật chương trình từ xa dựa trên các ngôn ngữ lập trình và giao thức 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 quả thực hiện. 5. Ý nghĩa khoa học và thực tiễn của đề tài Ý nghĩa khoa học: Từ các yếu tố liên quan đến quá trình cập nhật chương trình từ xa của các thiết bị nhúng có kết nối Internet, đề tài này đề xuất phương pháp, xây dựng thư viện và thử nghiệm trực tiếp trên mô hình phần cứng. Từ các kết quả thử nghiệm, đề tài sẽ đưa ra những đánh giá kết luận có ý nghĩa khoa học trong lĩnh vực hệ thống nhúng. Ý nghĩa thực tiễn: Kết quả của đề tài có khả năng áp dụng cho các hệ thống nhúng có kết nối Internet để thực hiện việc cập nhật chương trình nhằm vá lỗi, nâng cấp, tối ưu các tính năng của một hệ thống từ xa, trong một thời gian ngắn mà không cần can thiệp vào thiết bị. 3 6. Cấu trúc của luận văn Ngoài phần mở đầu, kết luận và tài liệu tham khảo, luận văn gồm có 4 chương Chƣơng 1: TỔNG QUAN VỀ CẬP NHẬT CHƢƠNG TRÌNH TỪ XA Trong chương này sẽ trình bày về ứng dụng của 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 trên thiết bị nhúng, máy chủ quản lý tập tin chương trình và quá trình cập nhật chương trình từ xa. Chƣơng 2: NỀN TẢNG PHẦN CỨNG CẬP NHẬT CHƢƠNG TRÌNH TỪ XA Chương này sẽ trình bày về tổng quan về phần cứng, tổ chức bộ nhớ của vi điều khiển và cấu trúc chương trình, bộ xử lý trung tâm ARM Cortex – M, quá trình khởi động của vi điều khiển và module truyền nhận dữ liệu 3G/4G. C C 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 R L T. Chương này đề 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 các thuật toán nhận, kiểm tra lỗi tập tin chương trình, thuật toán ghi tập tin vào bộ nhớ và thuật toán khởi động lại vi điều khiển U D Chƣơng 4: KẾT QUẢ THỰC HIỆN VÀ ĐÁNH GIÁ HIỆU QUẢ Chương này nêu lên các kết quả thực hiện được của đề tài và đánh giá hiệu quả dựa trên các tiêu chí về chiếm tài nguyên bộ nhớ khi triển khai tính năng OTA, tỉ lệ thành công khi thực hiện OTA, độ tin cậy khi thự hiện OTA và thời gian thời gian thực hiện quá trình OTA. 4 Chƣơng 1: Tổng quan về cập nhật chƣơng trình từ xa 1.1. Giới thiệu chƣơng Cập nhật chương trình từ xa cho các thiết bị nhúng có kết nối Internet là tính năng mang lại nhiều lợi ích thiết thực và được quan tâm nhiều hiện nay. Để thiết kế được tính năng cập nhật nhật chương trình từ xa thì cần có sự tham gia của nhiều thành phần kèm với một quá trình cụ thể. Chương một sẽ trình bày về ứng dụng của 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 các thành phần thiết bị nhúng, chương trình ứng dụng chạy trên thiết bị và máy chủ quản lý tập tin chương trình. Đồng thời, quá trình cập nhật chương trình từ xa cũng sẽ được trình bày tại chương này. 1.2. Ứng dụng của cập nhật chƣơng trình từ xa C C Cùng với sự phát triển không ngừng của công nghệ và xu thế vạn vật kết nối Internet trong cuộc CMCN 4.0, các thiết bị nhúng được sử dụng ở khắp mọi nơi trên thế giới trong rất nhiều lĩnh vực khác nhau với số lượng ngày càng gia tăng nhanh chóng. Ngày càng nhiều các thiết bị nhúng được thiết kế hỗ trợ kết nối vào Internet mở ra hàng loạt các cơ hội và thách thức mới cho người tiêu dùng, các công ty và cả chính phủ. Điều này cũng đặt ra các bài toán mới cho những nhà nghiên cứu và phát triển:  Yêu cầu thay đổi và bổ sung tính của các thiết bị nhúng có kết nối Internet nhiều hơn so với những yêu cầu của các thiết bị truyền thống.  Thị trường mới và thay đổi nhanh chóng, thiết bị dựa trên những công nghệ mới nên các mối đe dọa bảo mật và vi phạm quyền riêng tư là một trong những yếu tố lớn cần quan tâm để bảo vệ, chống lại các cuộc tấn công qua môi trường Internet.  Thời gian thiết kế và cung cấp thiết bị ra thị trường là rất ngắn. Phần cứng của thiết bị cần được thiết kế dự phòng để đáp ứng được yêu cầu thị trường trong một khoảng thời gian dài hơn. Phần mềm có thể được triển khai theo từng giai đoạn. Để giải quyết được những bài toán trên thì vấn đề cập nhật chương trình từ xa đang được quan tâm phát triển như một tính năng quan trọng cho các thiết bị có kết nối vào Internet. Tính năng này cho phép nhà phát triển có thể thay thế chương trình hiện tại đang chạy trên vi điều khiển của một hệ thống nhúng bằng một chương trình mới với những thay đổi, bổ sung các tính năng của thiết bị, hay cập nhật những thiếu sót về bảo mật chỉ trong thời gian ngắn mà không cần thao tác trực tiếp lên thiết bị. U D R L T. 5 1.3. Mô hình cập nhật chƣơng trình từ xa 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, chương trình ứng dụng, máy chủ quản lý tập tin chương trình. 1.3.1. Thiết bị nhúng Thiết bị nhúng là những thiết bị có khả năng tự hoạt động, tích hợp cả phần cứng và phần mềm, được thiết kế để thực hiện một chức năng chuyên dụng nào đó. Thiết bị nhúng hiện nay được sử dụng trong nhiều lĩnh vực khác nhau như công nghiệp, tự động hoá, điều khiển, quan trắc, truyền tin... Thiết bị nhúng rất đa dạng, phong phú về chủng loại và mức độ phức tạp khác nhau tùy vào thiết bị. Có thiết bị nhúng rất đơn giản với một vi điều khiển hoặc có thể rất phức tạp với nhiều vi điều khiển, nhiều thiết bị ngoại vi và khả năng kết nối Internet được thiết kế trong một thiết bị. Thông thường, trong một thiết bị nhúng, vi điều khiển là nơi chạy các chương trình, nó là một máy tính nhỏ với giới hạn về bộ nhớ và tốc độ xử lý. Một vi điều khiển thường bao gồm một vi xử lý đi kèm với bộ nhớ và các khối chức năng thường được gọi là ngoại vi, tất cả được liên kết với nhau thông qua hệ thống bus. Để thiết bị nhúng có thể kết nối được với Internet thì cần có một module với chức năng thực hiện các kết nối Wifi, Ethernet hoặc 3G,4G,…. Vi điều khiển sẽ kết nối và giao tiếp với module đó thông qua ngoại vi. Vậy nếu quan tâm thiết bị nhúng với góc độ tính năng cập nhật chương trình từ xa thì thiết bị sẽ được mô tả dưới với ba thành phần cơ bản là vi điều khiển, Internet module và các khối chức năng khác như hình bên dưới. C C R L T. U D Hình 1.1 Sơ đồ khối tổng quát của thiết bị nhúng có kết nối Internet 6 1.3.2. Chương trình chạy trên thiết bị nhúng Thông qua các giai đoạn của quá trình biên dịch, chương trình ứng dụng được người dùng phát triển trên ngôn ngữ bậc cao như C/C++ sẽ được chuyển thành ngôn ngữ máy để thiết bị nhúng có thể hiểu và thực thi được. Hình 1.2 Quá trình tạo tập tin chương trình ứng dụng Chương trình ứng dụng sau khi biên dịch xong sẽ được nạp trực tiếp vào bộ nhớ chương trình của vi điều khiển thông qua các thiết bị nạp chương trình (programmer) hoặc nội dung của chương trình sẽ được chuyển thành tập tin ở định dạng hex hoặc bin để có thể đưa lên máy chủ quản lý tập tin phục vụ cho quá trình cập nhật chương trình từ xa. Một cách tổng quát thì các tập tin này là một chuỗi các byte dữ liệu theo địa chỉ bộ nhớ của vi điều khiển. C C R L T. U D 1.3.3. Máy chủ quản lý tập tin chương trình Quá trình cập nhập chương trình từ xa sẽ thay thế chương trình ứng dụng hiện tại trên thiết bị bằng một chương trình ứng dụng mới. Mà chương trình ứng dụng này thường phải được tải về từ một máy chủ quản lý tập tin. Máy chủ quản lý tập tin này có thể đặt tại công ty của đơn vị nghiên cứu và sản xuất thiết bị nhúng hoặc có thể thuê các dịch vụ máy chủ đám mây từ các nhà cung cấp trong nước hoặc các nhà cung cấp quốc tế. Nhưng đặc điểm chung là máy chủ phải được định danh trên môi trường Internet thông qua IP hoặc có thể sử dụng tên miền và dịch vụ phân giải tên miền (DNS). Để thiết bị có thể kết nối với máy chủ và thực hiện tải tập tin về được thì trên máy chủ phải cài sẵn ứng dụng quản lý tập tin và phải cấu hình mở cổng (port) kết nối liên quan đến dịch vụ tập tin. Giao thức thường được sử dụng để làm việc với tập tin là giao thức truyền tải tập tin FTP (File Transfer Protocol), đây là một giao thức thuộc lớp ứng dụng của tập giao thức mạng TCP/IP được sử dụng rộng rãi hiện nay trên máy chủ và cũng được hỗ trợ trên các module chức năng internet thường được sử dụng cho thiết bị nhúng [1]. 7 1.3.4. Quá trình cập nhật chương trình từ xa Một cách tổng quát, quá trình cập nhật chương trình từ xa thường trải qua các bước sau: C C R L T. U 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 ra chương trình ứng dụng mới cho thiết bị nhúng.  Bước 2: Đưa tập tin chứa chương trình ứng dụng mới 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 các lệnh AT để Module Internet thực thi, kiểm tra phiên bản mới của chương trình ứng dụng trên máy chủ.  Bước 4: Module Internet tải tập tin chương trình mới từ FTP server về cho vi điều khiển  Bước 5: Vi điều khiển thay thế chương trình ứng dụng đang chạy bằng chương trình ứng dụng mới 8 1.4. Kết luận chƣơng Cập nhật chương trình từ xa là một tính năng quan trọng cho các thiết bị nhúng có kết nối vào Internet giúp giải quyết được nhiều vấn đề và gia tăng thêm giá trị của thiết bị. Chính vì vậy, việc nghiên cứu và đề xuất một thư viện cập nhật chương trình từ xa sẽ mang lại nhiều đóng góp cho các nhà nghiên cứu và phát triển thiết bị. Yêu cầu đặt ra là nghiên cứu và đề xuất phải dựa trên một nền tảng phần cứng vi xử lý, vi điều khiển, công nghệ truyền thông được sử dụng phổ biến hiện nay và mô hình đề xuất phải mang tính tổng quát, áp dụng được cho nhiều dòng thiết bị khác nhau. C C U D R L T.
- Xem thêm -

Tài liệu liên quan