Thiết bịhỗ trợ:( MTD: memory technologydevices) Hệ thống phụ MTD với hai thiếtbị lưu trữ trạng thái rắn phổ biến nhất là sử dụng trong các hệ thống nhúng Linux: nguồn gốc CFI-compliant flash và DOC thiết bị. Sự phát triển của hệ thống phụ MTD và các công cụ MTD là độc lập của hạt nhân Mainline. III.1 MTD Cách sử dụng cơ bản : III.1.1 Các thiếtbị cần thiết cho MTD. III.1.2 MTD tùy chọn cấu hình hạt nhân cơ bản. III.1.3 Những công cụ có sẵn để thao tác thiếtbị lưu trữ MTD trong Linux. I.1.1 Các thiếtbị cần thiết cho MTD: Bảng 7-1 mô tả từng loại MTD trên 1 thiếtbị nhập cảnh và người sử dụng MTD module tương ứng Thiếtbị nhập Có thể sử dụng MTD người sử dụng mô-đun Loại thiếtbị Số lượng lớn MtdN Char thiếtbị char 90 MtdN Char thiếtbị char 90 mtdblockN khối thiết bị, chỉ đọc khối thiết bị, JFFS, và JFFS2 block 31 NftlLN NFTL block 93 FtlL FTL block 44 Bảng 7-2 Cung cấp phạm vi số lượng nhỏ và mô tả các đề án đặt tên được sử dụng cho từng loại thiết bị. Thiếtbị nhập Số trẻ vị thành niên phạm vi Biểu đồ tên mtdN 0-32 cho mỗi số tăng của 2 N =định thức con / 2 mtdrN 1-33 cho mỗi số tăng của 2 N = (định thức con - 1) / 2 mtdblockN 0-16 cho mỗi số tăng của 1 N = định thức con nftlLN 0-255 cho mỗi bộ 16 L = set; [2] N = định thức con - (tập - 1) x 16; N là không nối vào tên nhập cảnh nếu giá trị của nó là số không. ftlLN 0-255 cho mỗi bộ 16 Tương tự như NFTL. Việc sử dụng của từng loại MTD trên thiếtbị như sau: * mtdN: Mỗi mục là một MTDthiếtbị hoặc phân vùng riêng biệt. Hãy nhớ rằng mỗi phân vùng MTD hoạt động như một thiếtbịMTD riêng biệt. * mtdrN: Mỗi mục là chỉ đọc tương đương với kết hợp các / dev / mtdN nhập cảnh. * mtdblockN: Mỗi mục là thiếtbị khối tương đương với kết hợp các / dev / mtdN nhập cảnh. * nftlLN: Mỗi tập là một thiếtbị NFTL riêng biệt, và mỗi mục trong thiết lập một là một phân vùng trên thiếtbị đó. Mục nhập đầu tiên trong thiết lập một là toàn bộ thiết bị. / dev / nftlb, ví dụ, NFTL thứ hai là thiếtbị toàn bộ, trong khi / dev/nftlb3 là phân vùng thứ ba trên thiếtbị NFTL thứ hai. * ftlLN:Tương tự như NFTL. III.1.2 MTD tùy chọn cấu hình hạt nhân cơ bản. - Cấu hình của hệ thống phụ MTD là một phần của trình đơn chính của các tùy chọn cấu hình hạt nhân. Các menu con MTD có chứa một danh sách các tùy chọn cấu hình mà bạn có thể chọn để xây dựng như một phần của hạt nhân, xây dựng là module riêng biệt, hoặc vô hiệu hóa hoàn toàn. Dưới đây là những lựa chọn chính bạn có thể cấu hình trong menu con MTD: 1/ Công nghệ bộ nhớ thiếtbị (MTD) hỗ trợ, CONFIG_MTD Kích hoạt tính năng tùy chọn này nếu bạn muốn bao gồm hỗtrợ hệ thống phụ lõi MTD. Nếu bạn vô hiệu hoá tuỳ chọn này, hạt nhân này sẽ không có bất kỳ hỗtrợ MTD. Khi tùy chọn này được thiết lập để được xây dựng như một mô-đun, các chức năng kết quả được tìm thấy trong các mtdcore.o gọi là mô-đun. 2/ MTD phân vùng, hỗ trợ, CONFIG_MTD_PARTITIONS Kích hoạt tính năng tùy chọn này nếu bạn muốn có thể chia thiếtbịMTD của bạn vào phân vùng riêng. Nếu bạn biên dịch dạng module này, module của tên tập tin là mtdpart.o. Lưu ý rằng phân vùng MTD không áp dụng cho các thiếtbị DOC. Các thiếtbị này được phân vùng bằng cách sử dụng công cụ phân vùng đĩa thông thường. 3/ Char trực tiếp thiếtbị truy cập vào MTDthiết bị, CONFIG_MTD_CHAR Đây là tùy chọn cấu hình cho thiếtbị char MTD module người dùng đã được nhìn thấy như là / dev / mtdN và / dev / mtdrN. Nếu bạn cấu hình này dạng module, các module của tên tập tin là mtdchar.o. 4/ Caching truy cập thiếtbị chặn để MTDthiết bị, CONFIG_MTD_BLOCK Đây là tùy chọn cấu hình cho đọc-ghi thiếtbị khối MTD module người dùng đã được nhìn thấy như là / dev / mtdblockN. Nếu bạn cấu hình này dạng module, các module của tên tập tin là mtdblock.o. 5/ Chỉ đọc chặn truy cập thiếtbịMTDthiết bị, CONFIG_MTD_BLOCK_RO Đây là tùy chọn cấu hình cho đọc chỉ chặn người sử dụng thiếtbị đun MTD đó là nhìn thấy được sử dụng cùng một / dev mục như đọc-ghi khối thiết bị. Nếu bạn cấu hình chỉ đọc chặn người sử dụng thiếtbị đun dạng module, các module của tên tập tin là mtdblock_ro.o. 6/ FTL (Flash Dịch Layer) hỗ trợ, CONFIG_FTL Thiết lập tùy chọn này nếu bạn muốn bao gồm các phân hệ người dùng FTL trong kernel của bạn. Khi cấu hình dạng module, các module của tên tập tin là ftl.o. Module FTL người dùng có thể truy cập thông qua / dev / ftlLN mục thiết bị. 7/ NFTL (NAND Flash Dịch Layer) hỗ trợ, CONFIG_NFTL Thiết lập tùy chọn này nếu bạn muốn bao gồm các phân hệ người dùng NFTL trong kernel của bạn. Khi cấu hình dạng module, các module của tên tập tin là nftl.o. Module NFTL người dùng có thể truy cập thông qua / dev / nftlLN mục thiết bị. 8/ Hỗtrợ ghi cho NFTL (BETA), CONFIG_NFTL_RW Bạn phải bật tùy chọn này nếu bạn muốn để có thể viết thư cho bạn NFTL định dạng thiết bị. Điều này sẽ chỉ ảnh hưởng đến cách module NFTL người dùng được xây dựng và không phải là một người sử dụng mô-đun riêng biệt của riêng mình. - Các menu con MTD cũng chứa bốn menu con để hỗtrợ các cấu hình cho các trình điều khiển thiếtbịMTD thực tế phần cứng. Sau đây là các menu con tìm thấy trong các menu con MTD: a) RAM / ROM / Flash driver chip: Chứa các tùy chọn cấu hình cho CFI-Compliant flash, JEDEC-compliant flash, tuổi không flash CFI, RAM, ROM, và chip vắng mặt. b) Khép kín MTD điều khiển thiết bị: Chứa các tùy chọn cấu hình cho RAM hệ thống uncached, bài kiểm tra trình điều khiển bộ nhớ ảo, khối thi đua trình điều khiển thiết bị, thiếtbị và DOC. c) NAND Flash Device Drivers: Chứa các tùy chọn cấu hình cho người không DOC thiếtbị flash NAND. III.1.3 Những công cụ có sẵn để thao tác thiếtbị lưu trữ MTD trong Linux. Đây là những công cụ có thể được sử dụng với tất cả các loại thiếtbị MTD: 1) Einfo thiếtbị 2) Cung cấp thông tin liên quan đến một thiếtbị của các khu vực xóa. 3) Xóa number_of_blocks thiếtbị start_address 4) Loại bỏ một số lượng nhất định từ một thiếtbị khối bắt đầu từ một địa chỉ nhất định. 5) Loại bỏ tất cả [tùy chọn] thiếtbị 6) Loại bỏ toàn bộ thiết bị. 7) Mở khóa điện thoại 8) Không khóa tất cả các lĩnh vực của thiếtbị 9) Khóa thiếtbị bù đắp number_of_blocks 10) Khóa một số lượng nhất định của khối trong điện thoại. 11) Fcp [tuỳ chọn] filename flash_device 12) Bản sao một tập tin để flash_device một. 13) Doc_loadbios thiếtbị firmware_file III.1.3.1 Những công cụ này tạo ra hệ thống tập tin mà sau này được sử dụng bởi các module MTD người sử dụng tương ứng: + mkfs.jffs2 [options]-r-o thư mục output_file => Xây dựng một hệ thống tập tin hình ảnh JFFS2 từ một thư mục. + mkfs.jffs [options]-d-o thư mục output_file => Xây dựng một hệ thống tập tin hình ảnh JFFS từ một thư mục. + jffs2reader hình ảnh [tuỳ chọn] đường dẫn => Danh sách nội dung của một con đường trong hệ thống tập tin hình ảnh JFFS2. + NFTL công cụ => Những công cụ này tương tác với các phân vùng NFTL: + Nftl_format thiếtbị [start_address [size]] => Định dạng một thiếtbị để sử dụng với các phân hệ người dùng NFTL. + Nftldump thiếtbị [output_file] => Bãi nội dung của một phân vùng NFTL đến một tập tin. + FTL công cụ => Những công cụ này tương tác với các phân vùng FTL: + FTL_format [tuỳ chọn] thiếtbị => Định dạng một thiếtbị FTL. + FTL _check [tuỳ chọn] thiếtbị => Kiểm tra và cung cấp thông tin liên quan đến một thiếtbị FTL. + NAND chip công cụ => Những công cụ này được cung cấp cho các thao tác NAND chip: + Nandwrite thiếtbị input_file start_address => Viết nội dung của một tập tin vào một chip NAND. + Nandtest thiếtbị => Các thử nghiệm chip NAND, bao gồm cả những người trong các thiếtbị DOC. + Nanddump thiếtbị output_file [bù đắp] [number_of_bytes] => Nội dung của một chip NAND đến một tập tin. III.1.4 Mô tả cách cài đặt những công cụ này trên cả máy chủ: III.1.4.1 DiskOnChip: A. Cấu hình hạt nhân: Bạn sẽ cần phải kích hoạt tính năng hỗtrợ hạt nhân cho các tùy chọn sau đây để sử dụng thiếtbị DOC của bạn: • Công nghệ bộ nhớ thiếtbị (MTD) hỗtrợ • MTD phân vùng, hỗ trợ, nếu bạn muốn phân vùng thiếtbị đèn flash của bạn • Char trực tiếp thiếtbị truy cập vào các thiếtbịMTD • NFTL (NAND Flash Dịch Layer) hỗtrợ • Hỗtrợ ghi cho NFTL (BETA) Bạn cần phải tạo mục thiếtbị cho thiếtbị char và người sử dụng mô-đun NFTL MTD để truy cập DOC thiếtbị của bạn. Tạo char như nhiều mục thiếtbị và tập hợp các mục NFTL như bạn có DOC thiếtbị trong hệ thống của bạn. Đối với mỗi bộ NFTL, tạo ra nhiều mục như là bạn sẽ tạo ra các phân vùng trên thiếtbị của bạn. B) Loại bỏ thiếtbị DOC: Để xóa toàn bộ thiếtbị DOC trong DAQ module : # Eraseall / dev/mtd0 => Erased 32.768 Kibyte @ 0-100% hoàn tất. . vùng thiết bị đèn flash của bạn • Char trực tiếp thiết bị truy cập vào các thiết bị MTD • NFTL (NAND Flash Dịch Layer) hỗ trợ • Hỗ trợ ghi cho NFTL (BETA). tính năng hỗ trợ hạt nhân cho các tùy chọn sau đây để sử dụng thiết bị DOC của bạn: • Công nghệ bộ nhớ thiết bị (MTD) hỗ trợ • MTD phân vùng, hỗ trợ, nếu