Câu hỏi Làm thế nào tôi có thể cố ý phá vỡ / hỏng một khu vực trên một thẻ SD?


Tôi cần phải kiểm tra khả năng phục hồi của một số mã đọc / ghi cho một số phần cứng được nhúng. Làm thế nào tôi có thể hy sinh một vài thẻ SD và phá vỡ một số lĩnh vực được biết đến cho một nghiên cứu kiểm soát?

Điều duy nhất tôi có thể nghĩ đến là để ghi đè lên một lĩnh vực duy nhất một vài triệu lần. Tôi tự hỏi nếu một kịch bản badblocks Linux có thể được tạo ra để chạy thử nghiệm phá hoại của nó trên một lĩnh vực duy nhất liên tục trong vài giờ.


137
2017-09-11 07:28


gốc


Bạn có thể thay đổi trình điều khiển SD cấp thấp để giả vờ có một khối xấu, hoặc là ra khỏi câu hỏi? - Mark Yisri
@MarkYisri, tôi không nghĩ rằng người lái xe là rất dễ tiếp cận. Bất kỳ trình điều khiển nào chúng tôi đang sử dụng là cực kỳ thô sơ để tối đa hóa việc cấp phát bộ nhớ cho phần còn lại của chương trình cơ sở. Ngoài ra, nếu có thể, điều đó có khả năng vượt quá khả năng của tôi. - Gabe Krause
Bạn có thể xây dựng trình mô phỏng thẻ SD không? Không phải là dự án đơn giản nhất, hãy nhớ bạn. - user20574
Với mục tiêu, bạn có thể mua một số thẻ SD cũ với ít tiền và bạn có thể dễ dàng bị lỗi, hoặc đặt "tìm kiếm ..." thông báo cụ thể để tìm các thẻ bị lỗi. Hoặc tìm kiếm eBay cho các thẻ bị lỗi. Sau đó, bạn kiểm tra thẻ và bạn sẽ biết vị trí của các khu vực bị lỗi. - FarO
Hỏi bất kỳ nhiếp ảnh gia chuyên nghiệp nào. Họ chắc chắn sẽ có một đống thẻ SD sơ sài. - J...


Các câu trả lời:


Một cách tiếp cận thay thế có thể có ích.

Nếu mã của bạn chạy dưới Linux thì có thể bạn có thể kiểm tra nó bằng thiết bị logic "bị lỗi". dmsetup có thể tạo thiết bị trả về lỗi I / O. Chỉ cần tạo thiết bị của bạn bằng error và / hoặc flakey Mục tiêu. Từ man 8 dmsetup:

error
  Lỗi bất kỳ I / O nào đi vào khu vực này. Hữu ích để thử nghiệm hoặc tạo thiết bị có lỗ hổng trong đó.

flakey
  Tạo một ánh xạ tương tự cho linear nhắm mục tiêu nhưng thể hiện hành vi không đáng tin cậy theo định kỳ. Hữu ích cho việc mô phỏng các thiết bị thất bại khi thử nghiệm.

Chú thích: flakey mục tiêu sử dụng được ghi lại đây. Ví dụ cơ bản đây.

Theo như tôi biết một lỗi I / O sẽ được báo cáo ngay lập tức, vì vậy điều này khác với hành vi thẻ SD thực sự, nơi bạn có thể mong đợi trì hoãn, trì hoãn vv Tuy nhiên tôi nghĩ rằng phương pháp này có thể hữu ích trong một số trường hợp, ít nhất là để thực hiện nhanh kiểm tra sơ bộ.


167
2017-09-11 08:33



Tôi đánh giá cao tư duy out-of-box! Chúng tôi đang giao tiếp trên mức độ khối với SD thông qua một chip Atmel 80MHz và không có hệ điều hành thực sự. - Gabe Krause
@GabeKrause Trong trường hợp này, tính hữu ích của câu trả lời này phụ thuộc vào cách API thiết bị khối Linux tương tự như thế nào đối với API của trình điều khiển thiết bị nhúng của bạn. - Qsigma
dmsetup lệnh để thiết lập một error thiết bị luôn trả về lỗi đọc: stackoverflow.com/questions/1870696/… - Peter Cordes
Tôi đồng ý rằng điều này nghe giống như một giải pháp tốt hơn. Trước tiên, bạn có thể sao chép trên bất kỳ phần cứng nào. Và bạn cũng có thể mô phỏng các chế độ lỗi khác nhau. Ví dụ tôi có một ổ USB flash 16GB hoạt động tốt. Sau một thời gian, mặc dù một khu vực cụ thể trên đó bắt đầu trả về dữ liệu sai. Không có lỗi FS của bất kỳ loại nào. Bạn đọc tệp nhưng nội dung thì khác. Một số lĩnh vực rõ ràng là không ổn định. Nhưng làm thế nào một số thiết bị cụ thể sẽ hành xử không thể được biết trước. - akostadinov


Anh chàng này đã tấn công vi điều khiển bên trong thẻ SD được sử dụng để đánh dấu các khối xấu: https://www.bunniestudios.com/blog/?p=3554

Bạn có thể làm như vậy và tự ý đánh dấu các khối là bị lỗi.

Hôm nay tại Đại hội Máy tính Chaos (30C3), các tên xob và tôi đã tiết lộ   thấy rằng một số thẻ SD chứa lỗ hổng cho phép   thực thi mã tùy ý - trên chính thẻ nhớ. Vào bóng tối   bên, thực thi mã trên thẻ nhớ cho phép một lớp MITM   (những kẻ tấn công ở giữa), nơi mà thẻ dường như đang hành xử   nhưng trên thực tế nó lại làm điều gì đó khác. Về phía ánh sáng, nó cũng   cho phép những người đam mê phần cứng truy cập vào   nguồn vi điều khiển rất rẻ và phổ biến.

.

Các thuật toán này quá phức tạp và quá cụ thể cho từng thiết bị để chạy   ở cấp ứng dụng hoặc hệ điều hành, và vì vậy nó chỉ ra rằng mọi flash   bộ nhớ đĩa tàu với một vi điều khiển hợp lý mạnh mẽ để chạy một   tập hợp các thuật toán trừu tượng hóa đĩa. Ngay cả microSD nhỏ bé   thẻ không chứa một, nhưng ít nhất hai chip - một bộ điều khiển, và tại   ít nhất một chip flash (thẻ mật độ cao sẽ ngăn xếp nhiều flash   chết).

.

Vi điều khiển nhúng thường được sửa đổi rất nhiều 8051 hoặc   CPU ARM. Trong việc triển khai hiện đại, vi điều khiển sẽ tiếp cận   Mức hiệu suất 100 MHz và cũng có một số phần cứng   máy gia tốc khi chết. Thật ngạc nhiên, chi phí thêm các bộ điều khiển này   với thiết bị có thể có thứ tự từ 0,15 đô la đến 0,30 đô la, đặc biệt   cho các công ty có thể kích hoạt cả bộ nhớ flash và bộ điều khiển   trong cùng một đơn vị kinh doanh. Có thể rẻ hơn để thêm những   vi điều khiển hơn là kiểm tra kỹ lưỡng và mô tả từng đèn flash   chip bộ nhớ, giải thích tại sao các thiết bị flash được quản lý có thể rẻ hơn   mỗi bit so với chip flash thô, mặc dù bao gồm   vi điều khiển.

.

Điểm mấu chốt là cơ chế tải và cập nhật firmware hầu như là   bắt buộc, đặc biệt đối với các bộ điều khiển của bên thứ ba. Người dùng cuối là   hiếm khi tiếp xúc với quá trình này, vì tất cả xảy ra trong nhà máy,   nhưng điều này không làm cho cơ chế trở nên kém thực tế hơn. Trong những khám phá của tôi   của các thị trường điện tử ở Trung Quốc, tôi đã thấy những người bán hàng đang đốt   phần mềm trên thẻ "mở rộng" dung lượng của thẻ - trong thẻ khác   từ, họ tải một phần mềm báo cáo năng lực của một thẻ là   lớn hơn nhiều so với dung lượng lưu trữ sẵn có thực tế. Thực tế là đây là   có thể tại điểm bán hàng có nghĩa là rất có thể, bản cập nhật   cơ chế không được bảo đảm.

Trong bài nói chuyện của chúng tôi tại 30C3, chúng tôi báo cáo những phát hiện của chúng tôi khám phá một   thương hiệu vi điều khiển, cụ thể là, Appotech và AX211 và AX215 của nó   dịch vụ. Chúng tôi khám phá một chuỗi "knock" đơn giản được truyền qua   lệnh dành riêng cho nhà sản xuất (cụ thể là, CMD63, tiếp theo là   ‘A’, ’P’, ’P’, ’O’) thả bộ điều khiển vào quá trình tải chương trình cơ sở   chế độ. Tại thời điểm này, thẻ sẽ chấp nhận 512 byte tiếp theo và chạy   nó như mã.


75
2017-09-12 09:21



Trong tất cả các câu trả lời, điều này có lẽ là gần nhất với những gì OP thực sự đã yêu cầu. - Cort Ammon
Đó là một bài đọc tuyệt vời! - Gabe Krause
@Twisty đã sao chép một số phần có liên quan. - FarO
Xuống lỗ thỏ vào thế giới kiến ​​trúc thẻ SD tôi đi. - Tejas Kale


Điều này thường sẽ không hoạt động vì hầu hết các thẻ SD (hoặc eMMC) gần đây sử dụng mức độ hao mòn tĩnh và động, nghĩa là bộ điều khiển thông minh diễn giải lệnh viết của bạn và ánh xạ nó tới một trong các vùng flash ít được sử dụng nhất.

Điều duy nhất bạn có thể làm là cố gắng liên hệ với nhà cung cấp của bạn và yêu cầu thông số kỹ thuật của họ; có thể có một số cách (nhà cung cấp cụ thể) để truy xuất trạng thái thuật toán cân bằng độ hao mòn của chúng. Điều này có khả năng sẽ cho phép bạn truy vấn trạng thái / cách sử dụng của flash bên dưới. Hoặc bạn có thể không may mắn và điều này có thể không tồn tại.

Nếu mục tiêu của bạn thực sự là phá hủy flash, tất cả những gì bạn có thể làm là chạy các chu kỳ đọc và ghi lớn và liên tục kiểm tra xem dữ liệu bạn đang đọc có còn phù hợp hay không. Ví dụ. tạo hai tệp lớn, lưu trữ tổng kiểm tra của chúng và đọc / ghi chúng để xác minh tổng kiểm tra của chúng. Đèn flash càng lớn, quá trình này sẽ mất nhiều thời gian hơn.


38
2017-09-11 07:37



Điều này sẽ không hoạt động nếu thẻ SD được điền đầy đủ dữ liệu, sao cho nó không thể remap nhiều? Tôi không nghĩ rằng họ có rất nhiều lĩnh vực phụ tùng ẩn. - Ruslan
@Ruslan Thiết bị không cần phải biết nếu một khu vực được lấp đầy với bất cứ điều gì. Nó chỉ cần biết nội dung của các lĩnh vực để cung cấp theo yêu cầu và các lĩnh vực để viết theo yêu cầu. Và sau đó có thể có một số lớp trừu tượng tại chỗ làm cho nó sử dụng bộ nhớ vật lý khác để đại diện cho các lĩnh vực sau một số thuật toán không được tiết lộ ... - Và "đầy đủ" chỉ có nghĩa là "ngưỡng cho các khối có thể lấp đầy đạt được", tất nhiên. - Alexander Kosubek
@Ruslan: Ngay cả khi toàn bộ thiết bị có dữ liệu trên đó, mức độ hao mòn vẫn có thể có hiệu quả: ví dụ, nếu sector A đã được viết một lần và sector B đã được viết 1.000 lần, thì khi một lần viết khác xuất hiện sector B có thể trao đổi dữ liệu cho hai ngành, do đó ngành A chứa dữ liệu của ngành B (và có thể sẽ bị ghi đè nhiều lần hơn - nhưng điều đó là OK vì nó mới) và sector B sẽ chứa dữ liệu của sector A (sẽ hy vọng không thay đổi nhiều). Rõ ràng thiết bị cũng cần lưu trữ ánh xạ của khu vực nào được lưu trữ ở đâu. - psmears
@ GabeKrause vâng, đó là bản chất của con thú. Ở mức thấp nhất, bạn có chip nand hoặc flash (ngày nay mọi thứ đang sử dụng nand), và có một bộ điều khiển thông minh phía trước chip nand kết thúc bus (ví dụ usb cho usb stick hoặc mmc cho thẻ sd) ), và chip này chịu trách nhiệm cho việc lập bản đồ / mài mòn, vv, nó tóm tắt đèn flash cách xa bạn. Nếu bạn sẽ sử dụng nand trên Linux nhúng thì đây là những gì mà các ubifs ví dụ sẽ làm cho bạn. - amo-ej1
Thẻ SD có vi điều khiển thực hiện "Lớp dịch Flash" - các yêu cầu chặn được dịch bởi bộ vi điều khiển này thành các lệnh NAND thô. Một số thẻ SD có các lệnh ẩn để thay đổi / cập nhật phần mềm MCU và thậm chí còn có một số nỗ lực kỹ thuật đảo ngược được thực hiện trên đó. Hầu hết các thiết bị lưu trữ flash khác với NAND thô (có thể xuất hiện trong một số trường hợp như nhiều bộ định tuyến gia đình) có thể được "overprovisioned" - nghĩa là thẻ SD 1 GB của bạn có thể có dung lượng NAND 1024MB + 128MB trên đó. và cũng tiết kiệm cho các trang flash xấu. - LawrenceC


Bạn có thể tăng transistor bằng cách tăng nhiệt độ hoạt động. Sử dụng các chu kỳ ghi xóa trên chip gia nhiệt (70-120 ° C); nó sẽ mặc nhanh hơn.


32
2017-09-11 08:59



Nhiệt độ lưu trữ quá mức cũng gây tổn hại, vì vậy có thể thực tế hơn khi "nấu" chip ở 120C ° (hoặc thậm chí nhiều hơn) trong một thời gian, sau đó kiểm tra lỗi. - Dmitry Grigoryev
Cũng có thể có quá áp trên nguồn cung cấp cho thẻ và cũng sẽ cần thử nghiệm. - Chris H
Điện áp thấp cũng có thể gây ra các loại lỗi khác nhau, như khóa điều khiển. - user20574


Lời nói đầu: Tùy chọn này yêu cầu sửa đổi phần cứng và lập trình bổ sung, nhưng nó sẽ cho phép đọc được kiểm soát nhiều khả năng trong suốt đối với máy chủ.

Thẻ SD có nhiều tùy chọn I / O, nhưng nó có thể được điều khiển qua SPI. Nếu bạn đã lấy thẻ SD và sửa đổi nó để bạn có thể gắn các chân vào một vi điều khiển (chẳng hạn như Arduino), bạn có thể có Arduino bắt chước thẻ SD và minh bạch với thiết bị đọc thẻ SD. Mã của bạn trên vi điều khiển có thể cố ý trả về dữ liệu xấu khi cần. Ngoài ra, bạn có thể đặt một thẻ SD trên vi điều khiển để đọc sẽ có thể đi qua bộ vi điều khiển vào thẻ SD để cho phép gigabyte thử nghiệm.


18
2017-09-11 12:55



Hầu hết các thiết bị tốc độ cao (bao gồm cả đầu đọc thẻ PC) sẽ đơn giản từ chối làm việc với một thẻ không hỗ trợ SD 4 bit. - Dmitry Grigoryev
OP cho biết rằng đó là một hệ thống nhúng có thể sử dụng thẻ mà sẽ làm cho nó có nhiều khả năng hỗ trợ SPI cho thẻ sd - Eric Johnson
Một biến thể về điều này, nhưng công việc khó khăn hơn, sẽ là tìm một thẻ SD mà bạn có thể reflash firmware. - Peter Taylor
Đây là siêu thú vị! Hệ thống nhúng của chúng tôi đang chạy I / O thông qua SPI. Tôi không chắc chắn nếu tôi có băng thông để sửa đổi phần cứng của chúng tôi để thực hiện một bổ sung như thế này, nhưng tôi nghĩ rằng đó là suy nghĩ tuyệt vời. - Gabe Krause
Nhận được kiến ​​thức về san lấp mặt bằng năng động khiến tôi tin rằng việc tạo ra một thẻ SD "xấu" có chiến lược với các lĩnh vực xấu được biết là khó khăn hơn nhiều (hoặc không thể) so với khi tôi đặt ra câu hỏi. Mặc dù hiện tại nằm ngoài phạm vi khả năng của tôi, đây dường như là phương pháp tiếp cận có khả năng kiểm soát và kỹ thuật nhất, theo sau có thể là bởi @Olafm. Tùy chỉnh phần cứng trung gian để chặn và dữ liệu "hỏng" ở bất kỳ vị trí nào được xác định trước trong quá trình chuyển dữ liệu có vẻ như là một cách tiếp cận tốt. - Gabe Krause


Tôi sẽ đi đến ebay / aliexpress và mua thẻ SD rẻ nhất tôi có thể tìm thấy từ Trung Quốc, một trong đó là "quá tốt là đúng". Họ thường đi kèm với các lĩnh vực bị lỗi hoặc trong phần mềm được đặt lớn hơn nhiều so với thực tế. Dù bằng cách nào, bạn sẽ kết thúc với thẻ SD bị lỗi để sử dụng để thử nghiệm.


15
2017-09-12 08:05



Cách tiếp cận thú vị, nhưng làm thế nào bạn sẽ viết cho các khu vực xấu để kiểm tra hiệu ứng của các khối xấu trên mã được lưu trữ? - fixer1234
@ fixer1234, tôi đã có một trong những thẻ SD cho biết đó là 32GB nhưng nó thực sự chỉ có 128MB. Tôi đặt nó vào máy ảnh của tôi và có thể chụp ảnh vượt quá 128MB nhưng chỉ những bức ảnh đầu tiên mới có thể đọc được. Phần còn lại được liệt kê nhưng được đọc lại là bị hỏng. Đoán đó là cách họ muốn bạn để ý những vấn đề với thẻ trước khi quá muộn để than phiền ... - GuzZzt


Ngày xửa ngày xưa, nhiều năm trước, tôi được trả tiền để lấy một bộ ảnh và video tốt nghiệp từ một thẻ SD cho một người mẹ khá quẫn trí. Sau khi kiểm tra chặt chẽ, thẻ đã bị hư hại về thể chất với một vết nứt có thể nhìn thấy trong vỏ ngoài và có một số ngành xấu, đáng chú ý nhất là một số lĩnh vực quan trọng, sớm, thậm chí làm cho các chương trình phục hồi đáng tin cậy nhất tại thời điểm hoàn toàn không đọc được thẻ . Ngoài ra, công cụ dữ liệu pháp y trở lại sau đó chi phí một tài sản.

Cuối cùng tôi đã nhận được một thẻ SD / nhãn hiệu giống hệt nhau và ghi dữ liệu thô tùy chỉnh của riêng mình và khôi phục tiện ích để sao chép dữ liệu từ thẻ xấu sang thẻ tốt. Mỗi khi tiện ích đạt một khu vực xấu, nó sẽ thử lại một số lần trước khi viết tất cả các số 0 cho lĩnh vực đó và thay vì từ bỏ và dừng, bỏ qua sự thất bại và chuyển sang lĩnh vực tiếp theo. Những nỗ lực thử lại đã được thực hiện kể từ khi tôi cũng đã nhận thấy rằng một số lĩnh vực vẫn có khoảng 40% tỷ lệ thành công đọc. Một khi dữ liệu đã được trên thẻ SD mới, các công cụ phục hồi đã thất bại trước khi làm việc hoàn hảo với mất dữ liệu tối thiểu / tham nhũng. Nhìn chung, khoảng 98% của tất cả các tập tin đã được phục hồi. Một số mục đã bị xóa trước đó cũng đã được khôi phục vì không có gì thực sự bị xóa - chỉ được đánh dấu là như vậy và từ từ bị ghi đè. Những gì bắt đầu như một bài tập khôi phục dữ liệu hơi nhàm chán trở thành một trong những dự án phát triển phần mềm cá nhân đáng nhớ và thú vị của tôi. Trong trường hợp bạn đang băn khoăn, người mẹ rất vui mừng.

Ở mức độ nào, câu chuyện này cho thấy rằng có thể làm hư hỏng thẻ SD vì vậy dữ liệu vẫn có thể truy cập được nhưng có các lĩnh vực chỉ hoạt động và mọi thứ cố gắng đọc từ đó đều gặp khó khăn. Nhựa thẻ SD có xu hướng khá mỏng manh, do đó, uốn hoặc cắt thành một số giá rẻ có thể làm các trick. Số dặm của bạn có thể thay đổi.

Bạn cũng có thể hỏi xung quanh tại một số địa điểm phục hồi dữ liệu trong khu vực của bạn. Vì chúng chuyên phục hồi dữ liệu từ nhiều thiết bị thất bại hoặc không thành công, nên có một số đầu vào / mẹo hữu ích và thậm chí có thể có sẵn một số thẻ SD đã được xử lý trước (ví dụ: cho mục đích đào tạo) mà bạn có thể lấy từ chúng.


11
2017-09-13 05:43



Bạn đã phát hành tiện ích đó trực tuyến chưa? Đó sẽ là tuyệt vời để thêm vào kho vũ khí của tôi. - Ploni
Tại thời điểm này, nó có thể thậm chí sẽ không hoạt động đúng cách cho cuộc diễu hành của công nghệ (thậm chí không thể biên dịch) và các cuộc gọi hệ thống cấp thấp mà tôi đã sử dụng. Ngoài ra còn có một vài công cụ nhân bản / ổ đĩa mã nguồn mở hiện đại, mã nguồn mở mà tôi muốn sử dụng nhiều hơn là cố gắng kéo phần mềm cũ của tôi ra khỏi băng phiến. - CubicleSoft
Tôi hy vọng bạn có thể chỉ đưa ra một số tham số dd để làm cho nó hoạt động theo cách tương tự như thế này, ngày nay. Tôi không chắc chắn. - wizzwizz4
@ wizzwizz4, nhìn vào ddrescue. - hildred
"Ngoài ra, công cụ dữ liệu pháp y trở lại sau đó chi phí một tài sản." Tôi khá chắc họ vẫn làm. - jpmc26


Câu trả lời này là sự mở rộng về nhận xét của @Ruslan

  1. Điền thẻ SD của bạn lên tới khoảng 99,9%
  2. Liên tục viết lại nội dung của 0,1% còn lại (Viết A -delete-write B-delete - Write A ...)
  3. Kiểm tra (định kỳ) cho dù bạn đã bị hỏng thẻ chưa

Có thể thay thế:

Bạn không chắc chắn liệu điều này có hiệu quả cho mục đích của bạn hay không, nhưng có thể nó sẽ thực sự đủ để làm hỏng thẻ của bạn, điều này có thể nhanh hơn rất nhiều.


5
2017-09-11 12:27



Việc lấp đầy thẻ lên 99% sẽ không giúp ích gì vì toàn bộ mục đích của việc mài mòn là để ngăn chặn chính xác loại sát thương sớm này. Thiệt hại về mặt vật lý thẻ gần như chắc chắn sẽ dẫn đến một thẻ mà không khởi tạo nữa. - Dmitry Grigoryev
@DmitryGrigoryev Làm thế nào sẽ mặc san lấp mặt bằng được giúp đỡ nhiều (cản trở, trong trường hợp này) trừ khi thẻ có nhiều nhiều bộ nhớ hơn khả năng chính thức của nó? - ispiro
@ispiro Ví dụ, lần sau khi một sector có số lượng ghi cao được ghi đè, nội dung của nó có thể được hoán đổi với một sector có số lượng ghi thấp. - Dmitry Grigoryev
@DmitryGrigoryev Nếu tôi giải thích câu trả lời này một cách chính xác thì phải có thẻ SD không làm hao mòn: electronics.stackexchange.com/a/27626/16104 - Dennis Jaheruddin
@ DennisJaheruddin Có, thẻ cũ không làm điều đó. với những thẻ này, nó đủ để tạo ra / xóa liên tục một tệp rỗng cho đến khi khu vực trong bảng phân bổ bị hao mòn. - Dmitry Grigoryev


Bạn có thể thử giới thiệu một nguồn điện không ổn định hoặc tín hiệu điện áp cao hơn.

Một lỗi phổ biến cho một gia đình của các thiết bị tôi biết có một mối tương quan mạnh mẽ giữa tham nhũng thẻ SD và liên hệ với pin liên tục.


3
2017-09-11 19:14





Một số thẻ SD dung lượng thấp hơn (16MB-ish) sử dụng chip flash trong các gói phong cách TSOP / TSSOP. Một hội thảo có khả năng làm lại SMT (nếu bạn đang làm công việc nhúng, bạn có thể có kỹ năng này, nếu không kiểm tra các công ty nhỏ đang sửa chữa điện thoại / máy tính bảng) có thể tách rời và gắn lại chip đó, để nó có thể đọc và viết nguyên (bao gồm cả mã ECC) với một lập trình viên thiết bị.

Tuy nhiên, hãy lưu ý rằng bạn sẽ chủ yếu là thử nghiệm:

  • Cách thiết bị của bạn xử lý quang sai thời gian / trục trặc thời gian có thể được giới thiệu bằng cách sửa lỗi nội bộ

và trong trường hợp xấu nhất

  • cách thiết bị của bạn xử lý thẻ SD không thành công.

Nếu bạn chỉ muốn kiểm tra xem nó hoạt động như thế nào với hành vi thất thường vì bất kỳ lý do gì từ thẻ SD, có lẽ tốt nhất là chỉ giới thiệu nhiễu điện vào các đường giao diện (ví dụ: bằng cách đặt công tắc bus FET ở giữa và tại thời điểm ngẫu nhiên nó đến một nguồn tín hiệu vô nghĩa (của các mức điện phải).


3
2017-09-12 05:48



Cuối cùng không thẻ SD không tạo ra "tiếng ồn điện", họ chỉ trả lại mã lỗi cho các hoạt động ghi. - Dmitry Grigoryev


Liên quan đến câu trả lời của OlafM nhưng khác nhau: bạn có thể lập trình một vi điều khiển của riêng bạn để nói giao thức thẻ SD, và sau đó mô phỏng bất kỳ hành vi nào bạn muốn nó có.


2
2017-09-13 02:51