Báo cáo lập trình nhúng

163 1.8K 4
Báo cáo lập trình nhúng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo lập trình nhúng Gồm 6 Topic cơ bản liên quan đến quá trình sử dụng, biên dịch, làm quen với các phần mềm để sử dụng cho KIT KM9260

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN – ĐIỆN TỬ BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN SVTH : HOÀNG VĂN THƯƠNG 12341113 NGUYỄN ĐỨC HUY 12341045 Tp. Hồ Chí Minh, Tháng 5 Năm 2013 Trang 1 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN LỜI NÓI ĐẦU Thế giới ngày nay với khoa học kĩ thuật phát triển mạnh mẽ cuộc sống con người ngày càng được phát triển tốt hơn. Khoa học kỹ thuật đem lại nhiều tiện ích thiết thực hơn cho cuộc sống con người. Góp phần to lớn trong quá trình phát triển của khoa học kỹ thuật là sự phát triển mạnh mẽ của vi xử lý. Từ bộ vi xử lý đầu tiên Intel 4004 được sản xuất bởi công ty Intel vào năm 1971, đến nay ngành công nghiệp vi xử lý đã phát triển vượt bậc và đa dạng với nhiều loại như: 8951, PIC, AVR, ARM, Pentium,Core i7,…. Cùng với sự phát triển đa dạng về chủng loại thì tài nguyên của vi xử lý cũng được nâng cao. Các vi xử lý ngày nay cung cấp cho người dùng một nguồn tài nguyên rộng lớn và phong phú. Có thể đáp ứng được nhiều yêu cầu khác nhau trong thưc tế. Để giúp cho người dùng sử dụng hiệu quả và triệt để các tài nguyên này thì hệ thống nhúng ra đời. Hệ thống nhúng (Embedded system) là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ. Đó là các hệ thống tích hợp cả phần cứng và phần phềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin. Cùng với sự ra đời của hệ thống nhúng, vi xử lý ngày càng được ứng dụng rộng rãi trong đời sống cũng như trong công nghiệp vì khả năng xử lý nhanh, đa dạng, tiết kiệm năng lượng và độ ổn định của hệ thống nhúng. Những năm gần đây, sự năng động và tích cực hội nhập quốc tế đã đem về hơi thở mới cho Việt Nam về mọi mặt: kinh tế, xã hội, văn hóa, nghệ thuật … Lĩnh vực kỹ thuật nói chung và kỹ thuật điện tử nói riêng cũng có những thay đổi theo chiều hướng tích cực. Bên cạnh việc áp dụng những kỹ thuật mới (chủ yếu mua từ nước ngoài) vào sản xuất, nhiều công ty ở Việt Nam đã chú trọng đến việc phát triển đội ngũ R&D (Research And Development) để tự chế tạo sản phẩm hoàn thiện cung ứng cho thị trường. Một trong những sản phẩm đó là NHÓM 29 Trang 2 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN kit KM9260 là một kit nhúng được tích hợp cao trên nền vi điều khiển AT91SAM9260. Tuy hệ thống nhúng rất phổ biến trên toàn thế giới và là hướng phát triển của ngành Điện tử sau này nhưng hiện nay ở Việt Nam đội ngũ kỹ sư hiểu biết về hệ thống nhúng còn rất hạn chế không đáp ứng được nhu cầu nhân lực trong lĩnh vực này. Trước tình hình thiếu nhân lực như thế này, trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh với tư cách là một trong những trường sư phạm kỹ thuật đứng đầu của Việt Nam đã nghiên cứu về lĩnh vực hệ thống nhúng và sẽ đưa vào hệ thống môn học đào tạo trong tương lai gần nhất. Vì vậy nhóm chúng em đã viết bài báo cáo này để củng cố lại kiến thức sau thời gian tiếp xúc với bộ môn nhúng này. Bài viết gồm 6 TOPIC cơ bản liên quan đến quá trình sử dụng, biên dịch, làm quen với các phần mềm để sử dụng cho KIT KM9260 này. Mặc dù nhóm chúng em đã cố gắng hoàn thành nhiệm vụ đặt ra và đúng thời hạn nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, mong thầy và các bạn sinh viên thông cảm. Nhóm chúng em mong nhận được những ý kiến đóng góp của thầy và các bạn sinh viên. TP.HCM, Ngày 13 tháng 05 năm 2013 Nhóm 29 NHÓM 29 Trang 3 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN LỜI CẢM ƠN Lời đầu tiên, nhóm chúng em xin được phép chân thành gửi lời cảm ơn đến thầy Đậu Trọng Hiển, giáo viên hướng dẫn bộ môn Lập Trình Nhúng, đã định hướng và trao đổi những kinh nghiệm quý báu để nhóm chúng em thực hiện những nội dung trong cuốn tiểu luận này một cách hoàn chỉnh. TP.HCM, Ngày 15 tháng 05 năm 2013 NHÓM 29 Trang 4 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN MỤC LỤC TOPIC 1: Phần cứng KIT nhúng KM 9260 Sơ đồ khối của kit Km9260 trang 1 Một số đặc điểm chung trang 2 TOPIC 2 :Các Gói Nhân Linux ( Phần Mềm) cho KIT. Các gói nhân, quá trình boot, cách nạp OS cho KIT. Các gói nhân của hệ điều hành LINUX trang 13 Quá trình boot hệ điều hành LINUX trang 15 TOPIC 3: Phương pháp biên dịch trên KIT KM 9260 Giới thiệu sơ lượt trang 25 Cách thức cài công cụ trên PC trang 25 Cách thức chép file, truyền file, thư viện vào kit trang 26 Thực thi chương trình trên Kit trang 28 TOPIC 4 : Giới thiệu QT Tổng quan sơ lược về QT trang 31 Cài đặt thư viên Tslib trang 32 Cài đặt thư viện Opensource everywhere trang 34 TOPIC 5 : Phương pháp biên dịch QT sang KIT hoặc thiết bị nhúng hoặc điện thoại TOPIC 6 : Giới thiệu về lập trình driver và phương pháp lập trình driver Giới thiệu tổng quan về lập trình driver trang52 Số định danh character driver trang 56 Cấu trúc mô tả tập tin của character driver trang 63 Cấu trúc tập tin của character driver trang65 Cài đặt character device driver vào hệ thống Linux trang 66 Tổng quan về giao diện trong cấu trúc lệnh file_operations trang 68 Giao diện read() & write() trang 68 Giao diện ioctl() trang 71 NHÓM 29 Trang 5 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN Lập trình mã lệnh trong character driver trang 77 Cài đặt driver vào hệ thống linux trang 90 Phương pháp lập trình driver trang 91 Biên dịch chương trình driver trang 106 NHÓM 29 Trang 1 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN TOPIC 1 PHẦN CỨNG KIT NHÚNG KM9260 Một hệ thống nhúng bao gồm hai phần: phần cứng và phần mềm. Trong đó phần cứng là nền tản, là điều kiện cần để một hệ thống nhúng có thể tồn tại. Để có thể sử dụng được một hệ thống nhúng thì chúng ta phải hiểu được phần cứng của nó Trong hệ thống nhúng ngoài vi xử lý là nồng cốt thì bên cạnh đó còn có nhiều linh kiện khác: chíp nhớ, các thiết bị ngoại vi, … Trong phần này chúng ta sẽ tìm hiểu phần cứng của Kit KM9260 gồm những linh kiện nào, chức năng của các linh kiện, vị trí của từng linh kiện trên board. Vì phần cứng hệ thống nhúng đa số là do các công ty sản xuất thiết kế, thi công nên với tư cách là một người nghiên cứu để sử dụng thì trong giáo trình này chúng ta không đi sâu vào mạch nguyên lý của kit nhúng. Sơ đồ khối của kit Km9260 Sơ đồ khối của kit Km9260 NHÓM 29 Trang 2 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN I. MỘT SÔ ĐẶC ĐIỂM CHUNG 1.1 Bộ xử lý - Sử dụng các bộ xử lý 32 bit, các vi điều khiển 32 bit đa dụng (General purpose microcontroller) - Tốc độ xử lý: Vài trăm Mhz - Độ tin cậy cao, tiêu thụ năng lượng thấp - Hỗ trợ giao tiếp nhiều ngoại vi 1.2 Nguồn cung cấp - Nguồn cung cấp phải tuyệt đối ổn định, chuẩn - Có khả năng cung cấp nhiều mức điện áp cho hệ thống như: 5v, 3.3v, 2.5v, 1.8v - Sử dụng các bộ ổn áp switching chuyên dụng. - Tiêu hao năng lượng thấp để có thể sử dụng các battery (nguồn pin) cho hệ thống. Các thành phần trên board bao gồm: Ảnh của kit Km9260 NHÓM 29 Trang 3 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN ST T KÝ HIỆU TÊN 1 J3 Cổng USB (loại A) 2 J7 Cổng USB Devices (loại B) 3 U2 MT48LC16M16A2, SDRAM 256Mb (32MB) 133Mhz 4 J17 Kết nối mở rộng SCI 5 J10 Cổng truyền dữ liệu nối tiếp BD9 6 U8 K9F2G08UOM, NAND Flash (256MB) 7 J5 Giao tiếp JTAG ICE 8 U9 Serial dataflash (512kB) 9 U1 AT91SAM9260, 16/32 bit ARM926EJ-S 180Mhz 10 J12 Jack nguồn 5VDC 11 U5 DM9161EA, Ethernet 10/100 Full-Duplex 12 RJ1 Cổng Giao tiếp Ethernet (RJ45) 13 S1, S2, S3, S4 Các nút nhấn 14 U10 Khe thẻ nhớ MicroSD 15 U11 I2C EEPROM 16 J12 Công tắt nguồn 17 J16 Kết nối mở rộng Uart, Adc, Twi 18 J14 Kết nối mở rộng SPI Bảng các linh kiện trên kit Km9260 1.3 Bộ nhớ 1.3.1 Bộ nhớ SDRAM NHÓM 29 Trang 4 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN - Bộ nhớ chính sử dụng SDRAM bus 133Mhz, SDRAMC được cấu hình với bus data 16 bit. Mã số linh kiện MT48LC16M16A2 TC75 Chân chọn chip NCS1 Địa chỉ đoạn 0x20000000 Dung lượng 0x2000000 (32MB) - Bảng sau trình bày thông số bảng đồ vùng nhớ của SDRAM trong hệ thống. Thông số của SDRAM - Mã số linh kiện là số được in trên chân của chip, mã này do nhà sản xuất qui định. - Chân chọn chip NCS1 có nghĩa là chân CS của chip được nối với chân SDCS_NCS1 của vi xử lý. - Địa chỉ đoạn là địa chỉ mà vi xử lý gán cho chip tương ứng với NCS1. - Dung lượng của SDRAM là 32 MB 1.3.2 Serial dataflash NHÓM 29 [...]... thống: QUÁ TRÌNH BOOT LOADER TRONG HỆ THỐNG NHÚNG  Boot loader có vai trò quan trọng trong hệ thống nhúng Boot loader là trình tự thực thi các phần mềm của vi xử lý trong quá trình khởi động của hệ thống  Tùy theo loại vi xử lý khác nhau mà ta có cơ chế, trình tự boot khác nhau * Đây là sơ đồ quá trình Boot Loader NHÓM 29 Trang 18 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN Bước 1: Chương trình. .. GND - 17 NC - 18 GND - 19 NC - 20 GND - Bảng Sơ đồ chân của khe cắm giao tiếp JTAG ICE Cổng JTAG ICE theo chuẩn 20 pin cho phép nạp chương trình và debug hệ Trang 10 NHÓM 29 BÁO CÁO LẬP TRÌNH NHÚNG thống NHÓM 29 GVHD : ĐẬU TRỌNG HIỂN Trang 11 BÁO CÁO LẬP TRÌNH NHÚNG 1.5 Nút nhấn 1.5.1 Nút Reset (S2) GVHD : ĐẬU TRỌNG HIỂN Nút reset Reset hệ thống, tích cực mức thấp 1.5.2 Nút Wake up (S1) Nút Wake up... động AT45DB041D SPI serial dataflash NHÓM 29 Trang 22 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN Bước 3: Trong list box "script" chọn "Send Boot File", ấn nút Execute, browse đến thư mục chứa AT91BootStrap.bin (đính kèm theo đĩa CD) và chọn file này Chương trình SAMBA sẽ tự động nạp AT91BootStrap vào SPI dataflash NHÓM 29 Trang 23 BÁO CÁO LẬP TRÌNH NHÚNG Bước 4: Trong text GVHD : ĐẬU TRỌNG HIỂN box... Trang 25 BÁO CÁO LẬP TRÌNH NHÚNG Thêm 1 dòng vào cuối file bashrc GVHD : ĐẬU TRỌNG HIỂN PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin Lưu và đóng file bashrc Sau khi thiết lập biến môi trường cần tắt cửa sổ terminal, mở cửa sổ mới để thiết lập có hiệu lực Bước 3 : kiểm tra thiết lập 3 Cách thức chép file, truyền file, thư viện vào kit: Để nạp file chương trình ( đã biên dịch trên máy tính bằng trình. .. 26 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN Gồm các bước: Bước 1 : Cài đặt gFTP Thông thường gFTP đã được cài đặt sẵn trên Ubuntu (Mở Application/Internet/gFTP ) Nếu chưa có, có thể cài đặt từ internet dùng lệnh: sudo apt-get install gftp Bước 2: Cấu hình cổng LAN trên máy tính Linux KIT KM9260 có địa chỉ IP mặc định là 192.168.3.29, netmask: 255.255.255.0 NHÓM 29 Trang 27 BÁO CÁO LẬP TRÌNH NHÚNG... NHÓM 29 Trang 24 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN TOPIC 3 PHƯƠNG PHÁP BIÊN DỊCH TRÊN KIT KM9260 1 Giới thiệu sơ lượt Trình biên dịch chéo cho phép biên dịch ứng dụng viết bằng ngôn ngữ C biên dịch cho AT91SAM chạy trên môi trường Linux Thực hành biên dịch chương trình và nạp chương trình xuống KIT để thực thi 2.Cách thức cài công cụ trên PC * Gồm 3 bước: Bước 1 : Cài đặt trình biên dịch... 19 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN Bước 3: Kiểm tra sự tồn tại của chương trình AT91BootStrap trong SPI serial dataflash device (NPCS1) hay không  Nếu tồn tại, MPU thực hiện chép mã thực thi của AT91BootStrap từ SPI serial dataflash device vào SRAM nội của MPU, sau đó thực thi lệnh nhảy đến địa chỉ đầu tiên của SRAM để thực thi chương trình AT91BootStrap  Nếu không tồn tại chương trình. .. chương trình Hello  Dùng trình soạn thảo mã nguồn thích hợp (ví dụ: gedit)  Soạn thảo file mã nguồn C như sau (Chương trình có tính chất minh họa) #include int main (int argc, char *argv[]) { printf (“Hello World!\n”); return 0; }  Lưu file mã nguồn Hello.c NHÓM 29 Trang 28 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN Bước 2: Biên dịch file mã nguồn sử dụng trình biên dịch chéo  Chuyển... có  Biên dịch bằng lệnh: $ gcc –o hello hello.c NHÓM 29 Trang 29 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN Bước 3: Nạp chương trình và thực thi chương đã biên dịch xuống KIT Username: root Password: km9260 Gán thuộc tính thực thi: chmod 777 hello - Trên KIT, di chuyển đến thư mục chứa chương trình chạy (/ktmt/bin), thực hiện chương trình: Ví dụ /Hello NHÓM 29 Trang 30 ... Cổng USB Device Với USB device connector, ta có thể biến board nhúng thành các thiết bị USB MCU AT91SAM9260 cho phép ta truy xuất đến tất cả các vùng nhớ trong hệ thống thông qua chương trình ứng dụng trên máy tính SAMBA, khi đó dây cable USB này được dùng đến 1.4.3 Cổng truyền dữ liệu nối tiếp BD9 (J10): NHÓM 29 Trang 7 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN Cổng truyền dữ liệu nối tiếp DB9 AT91SAM9260 . chuẩn 20 pin cho phép nạp chương trình và debug hệ NHÓM 29 Trang 11 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN thống. NHÓM 29 Trang 12 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN 1.5 Nút. ĐIỆN – ĐIỆN TỬ BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN SVTH : HOÀNG VĂN THƯƠNG 12341113 NGUYỄN ĐỨC HUY 12341045 Tp. Hồ Chí Minh, Tháng 5 Năm 2013 Trang 1 BÁO CÁO LẬP TRÌNH NHÚNG GVHD :. 71 NHÓM 29 Trang 5 BÁO CÁO LẬP TRÌNH NHÚNG GVHD : ĐẬU TRỌNG HIỂN Lập trình mã lệnh trong character driver trang 77 Cài đặt driver vào hệ thống linux trang 90 Phương pháp lập trình driver trang

Ngày đăng: 19/04/2014, 23:06

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan