CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.Nghiên cứu khảo sát bài toán Với sự phát triển mạnh mẽ của thị trường thế giới số nhất là các thiết bị di động máy tính thông minh, máy tính bảng trong thời gian gần đây, đã đem đến những trải nghiệm mới mẻ cho người sử dụng. Máy tính bảng với những ưu điểm về tính di động, có kết nối đa dạng, màn hình cảm ứng, giải trí tiện lợi, phong phú về ứng dụng. Các nhà sản xuất có tên tuổi cũng khuấy động phong trào bằng cách liên tục cho ra các sản phẩm để phục vụ người tiêu dùng. Đặc biệt là các nhà sản xuất đã đưa ra sự lựa chọn mà được coi là chiếm ưu thế nhất cho thị trường hiện nay là sử dụng hệ điều hành Android cho nó.
Tuy nhiên những máy tính bảng này vẫn đang có nhược điểm cơ bản là quá đa dụng và chưa hướng tới đối tượng chuyên gia, học sinh, không phù hợp với đại đa số người học ở Việt Nam là giá thành của chúng còn tương đối cao (khoảng 500USD), chính vì vậy việc thiết kế, chọn lựa các chức năng cần thiết và cấu hình phù hợp, giá thành thấp để phục vụ cho đối tượng người học là một đề tài cấp thiết và có ý nghĩa khoa học, thực tiễn. Hệ điều hành Android là một hệ điều hành mã nguồn mở, miễn phí và khả năng tương thích cao. Là là một hệ điều hành mã nguồn mở di động kết hợp và xây dựng dựa trên các phần của nhiều dự án mã nguồn mở khác nhau được phát triển bởi Google và Open Hadset Alliance (Liên minh thiết bị cầm tay mã nguồn mở) [10]. Người sử dụng có thể tùy chỉnh Android theo mình và có thể phát triển các phần mềm ứng dụng dựa trên ngôn ngữ Java trên đó.
Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của 78 công ty liên minh phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai. Trong một số phiên bản của Android, máy tính bảng có thể sử dụng thay thế điện thoại di động, và tiếp tục giảm chi phí cho người dùng.x là hệ điều hành do công ty Google phát triển cho các thiết bị cầm tay sẽ phù hợp với xu hướng phát triển các dịch vụ cung cấp dữ liệu và phần mềm qua Internet. Dựa vào lợi thế đó của hệ điều hành Android, mà thông qua đề tài “ Nghiên cứu phát triển phần mềm nhúng cho các thiết bị cầm tay trên nền tảng Android”. Tôi hướng tới việc người dùng cuối có thể làm chủ cả về công nghệ tích hợp hệ điều hành Android cho phần cứng của nhiều nhà cung cấp thiết bị, cũng như việc phát triển các phần mềm ứng dụng đáp ứng nhu cầu người sử dụng.
Sở dĩ, phần mềm nhúng là phần mềm do nhà sản xuất thiết bị cài sẵn vào sản phẩm và chúng được sử dụng ngay cùng với đồ điện tử đó mà không cần có sự cài đặt của người thứ ba [19]. Tuy nhiên, phần mềm ứng dụng chạy trên thiết bị cầm tay có hệ điều hành Android cũng được coi là phần mềm nhúng. Vì trên thị trường hiện nay, cũng có khá nhiều bộ vi xử lý hỗ trợ 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com chạy trên hệ điều hành Android như bộ vi xử lý ARM, Qualcomm, telechip, nên phần mềm ứng dụng có thể thông qua hệ điều hành để chạy trên thiết bị phần cứng. Phân tích bài toán Phần mềm ứng dụng nhúng hiện nay chủ yếu được thực hiện trên các dòng điện thoại thông minh, các máy tính bảng, không chỉ là các hệ thống điều khiển thay thế máy tính, mà nó còn là các ứng dụng mang tính chất hỗ trợ và giải trí cho người sử dụng.
Vì vậy trong đề tài chủ yếu là nghiên cứu cách tích hợp ứng dụng Android cho thiết bị phần cứng và phát triển ứng dụng trên nền Android. Với tính năng nổi bật của mình cộng với các phiên bản mới, từ phiên bản 3.0 trở đi đã được phát triển cho các thiết bị cầm tay máy tính bảng sẽ phù hợp với xu hướng phát triển các phầm mềm qua Internet và dịch vụ cung cấp dữ liệu. Hiện nay sản phẩm nhúng rất đa dạng bởi nhiều công ty tham gia sản xuất và chế tạo, nhưng hiện nay chip được cung cấp phần lớn dựa trên bộ vi xử lý ARM. Các công ty sản xuất mua lõi vi xử lý của ARM sản xuất và phát triển để đưa vào tích hợp chipset, nên có nhiều công ty khác nhau có thể dùng chung một loại vi xử lý.
Đối với ARM, do có đặc điểm tiết kiệm được năng lượng, tiêu tán công suất thấp nên nó được coi là sản phẩm chiếm ưu thế trong các sản phẩm điện thoại di động. Vì vậy, trong toàn bộ luận văn này, tôi sẽ trình bày nội dung nghiên cứu dựa trên vi xử lý ARM. Do phần mềm nhúng chạy trên nền tảng Android, sẽ chạy trên phần cứng thông qua hệ điều hành. Do vậy đề tài chủ yếu tập trung vào cơ chế tích hợp hệ điều hành Android với phần cứng đề xuất và cách phát triển phần mềm nhúng trên hệ điều hành Android.
- Với nội dung tích hợp hệ điều hành Android: được đưa ra thông qua việc phân tích tìm hiểu và thiết lập cấu hình cho các bộ điều khiển phần cứng. - Với nội dung phát triển phần mềm nhúng trên hệ điều hành Android: đưa ra thông qua quy trình phát triển ứng dụng trên Android, phân tích thiết kế hệ thống ứng dụng, xây dựng code, demo ứng dụng tạo ghi chú minh họa. Hệ điều hành di động 1. Đặc điểm của hệ điều hành di động Hệ điều hành là “một chương trình chạy trên máy tính, nó điều phối mọi hoạt động về phần cứng và phần mềm trong máy tính”.
Hệ điều hành di động là “hệ điều hành chạy trên các thiết bị có tính di động cao”. Với một số các đặc điểm đặc thù mà các hệ điều hành chạy trên máy tính thường không có như: - Tối ưu về bộ nhớ: Trong thiết bị di động thì hệ điều hành được cài đặt sẽ ảnh hưởng nhiều đến dung lượng bộ nhớ, vì chúng thường có kích thước nhỏ gọn để có thể sử dụng thuận lợi và chạy nhanh hơn. 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - Tối ưu về điện năng: Với thiết bị di động thì việc tiêu thụ điện năng là điều cũng đáng nói, với mức độ sử dụng có thể đạt mức tối đa của người sử dụng, độ sáng tối của màn hình. Khi đó hệ điều hành cũng cần phải tối ưu hoạt động của mình để tiết kiệm năng lượng một cách tối đa.
- Tính tương thích cao: Với khả năng thích nghi tích hợp với nhiều thiết bị phần cứng của hệ điều hành không kén chọn, đó cũng là một trong những tiêu chuẩn mà các nhà sản xuất quan tâm. Ngoài ra, nó còn phải hỗ trợ các kết nối mạng tốt để đem lại năng suất cho người sử dụng. So sánh hệ điều hành Android với các hệ điều hành iOS Hệ điều hành Android và hệ điều hành iOS đều là hai hệ điều hành di động, chiếm ưu thế sử dụng nhiều nhất trên thị trường điện thoại, smartphone, máy tính bảng hiện nay. Hệ điều hành Android được phát triển chủ yếu được sử dụng trong hãng Samsung, LG, còn hệ điều hành iOS được sử dụng chủ yếu trên các dòng điện thoại của Apple, Nokia.
Do đặc thù của từng loại hệ điều hành mà mỗi hãng có thể lựa chọn để phù hợp với hãng sản suất của mình, dưới đây là bảng so sánh về một số đặc điểm tính năng của hai hệ điều hành này.1: So sánh hệ điều hành Android với hệ điều hành iOS Tính năng Android iOS Nhân của HĐH Linux 2.6 iOS Bao gồm 4 tầng Bao gồm 4 tầng - Linux kernel - Core Services - Android Runtime and - Graphics & Media Kiến trúc phân tầng Libraries - Application Framework - Application Framework - User Experience - Applications Máy ảo Có Không Có khả năng chạy đa nhiệm Phiên bản mới nhất hỗ trợ chạy Đa nhiệm nhiều ứng dụng một thời đa nhiệm nhưng hạn chế. Chỉ điểm không phân biệt loại cho phép chạy một số loại ứng ứng dụng dụng Xử lý đồ họa và âm Sử dụng Media Framework Sử dụng tầng Graphics & Media thanh và OpenGL/ES nằm trong để tập trung các tác vụ xử lý tầng Libraries để xử lý 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Mã nguồn mở Mã nguồn mở được biết tới dưới tên FOSS (Free and Open Source Software) là “những phần mềm mà người dùng có thể sửa đổi, cải tiến, phát triển và nâng cấp theo một số nguyên tắc chung đã được quy định từ trước”. Là thuật ngữ rất quen thuộc với những người trong ngành Công nghệ thông tin, nhưng vẫn còn xa lạ với những ai mới tìm hiểu về tin học.
Với những người chú ý đến vần đề kinh phí thì phần mềm hay hệ điều hành mã nguồn mở thì rất được họ quan tâm. Ngoài ưu điểm về giá thành sản phẩm thì mã nguồn mở còn có rất nhiều điểm hấp dẫn khác nữa như: -Chất lượng: Chất lượng luôn là điều mà chúng ta quan tâm. Khi một sản phẩm phần mềm đưa ra nếu chỉ làm việc với một nhóm người sẽ không thể nào bằng một sản phẩm được đưa ra với sự góp sức của rất nhiều người với những đóng góp hoàn thiện về sản phẩm, sáng tạo về các tính năng nhiều hơn. Chính vì thế người phát triển phần mềm cũng chính là người sử dụng nó, nên những sai phạm rất hiếm khi gặp phải.
- Bảo mật: Chính nhờ vào tính mở của nó mà với sản phẩm nguồn mở khi gặp vấn đề về bảo mật sẽ được nhiều người chung tay vào làm sẽ sớm được phát hiện và sửa chữa nhanh hơn. - Tính tùy biến: tùy biến nguồn dữ liệu trong mã nguồn mở rất đa dạng. Người sử dụng có thể tùy chỉnh lại các đoạn mã lại cho phù hợp với sản phẩm của riêng mình dựa trên các đoạn mã công khai. Như với hệ điều hành Android đã và đang sử dụng rất nhiều trên thiết bị cầm tay nhờ tính mở của hệ điều hành này mà người sử dụng, các doanh nghiệp có thể tinh chỉnh và biến nó thành sản phẩm của mình.
- Chi phí: Ngoài chất lượng và bảo mật ra thì chi phí cũng được đặt lên hàng đầu. Người sử dụng có thể trả rất nhiều tiền để có một phần mềm tiện ích, nhưng nếu sử dụng một sản phẩm mã nguồn mở như vậy thì họ sẽ tiết kiệm được tiền nhiều hơn.