Cybersecurity Project / Mbed 2 deprecated sd_duplicator

Dependencies:   mbed-rtos mbed wolfSSL

Fork of sd_duplicator by Titi Asrat

Committer:
jlharper
Date:
Tue Dec 06 13:27:55 2016 +0000
Revision:
3:57cbfc7d9b62
Parent:
2:166e98bcd1cc
Child:
4:2bcb836ba0de
12-6

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tmasrat 0:b453be3137c7 1 #include "mbed.h"
jlharper 1:7827a11dc627 2 #include "SDBlock.h"
jlharper 1:7827a11dc627 3 #include "Crypto.h"
jlharper 1:7827a11dc627 4
jlharper 1:7827a11dc627 5 DigitalOut led1(LED1);
jlharper 2:166e98bcd1cc 6 DigitalOut led4(LED4);
jlharper 3:57cbfc7d9b62 7
jlharper 3:57cbfc7d9b62 8 uint8_t hash[32];
jlharper 3:57cbfc7d9b62 9 uint8_t buffer[512];
jlharper 3:57cbfc7d9b62 10 SHA256 h;
jlharper 3:57cbfc7d9b62 11
jlharper 1:7827a11dc627 12 int main()
jlharper 1:7827a11dc627 13 {
jlharper 1:7827a11dc627 14 SDBlock original(p5, p6, p7, p22);
jlharper 1:7827a11dc627 15 const int x = original.disk_initialize();
jlharper 1:7827a11dc627 16 printf("************\n");
jlharper 1:7827a11dc627 17 printf("%d\n", x);
jlharper 3:57cbfc7d9b62 18 SDBlock duplicate(p11, p12, p13, p21);
jlharper 3:57cbfc7d9b62 19 const int z = duplicate.disk_initialize();
jlharper 1:7827a11dc627 20 printf("%d\n", z);
jlharper 1:7827a11dc627 21 const int y = original.disk_status();
jlharper 3:57cbfc7d9b62 22 printf("original status: %d\n", y);
jlharper 3:57cbfc7d9b62 23 const int t = duplicate.disk_status();
jlharper 3:57cbfc7d9b62 24 printf("duplicate status: %d\n", t);
jlharper 1:7827a11dc627 25 //s is sector
jlharper 1:7827a11dc627 26 const uint32_t s = original.disk_sectors();
jlharper 3:57cbfc7d9b62 27 printf("sector size %d\n", s);
jlharper 1:7827a11dc627 28 printf("buffer %d\n", buffer);
jlharper 3:57cbfc7d9b62 29
jlharper 3:57cbfc7d9b62 30
jlharper 1:7827a11dc627 31 //start time
jlharper 3:57cbfc7d9b62 32 //time_t time_start = time(NULL);
jlharper 3:57cbfc7d9b62 33 for (int i = 0; i <= 100; ++i)
jlharper 1:7827a11dc627 34 {
jlharper 1:7827a11dc627 35 const int r = original.disk_read(buffer, i, 1);
jlharper 1:7827a11dc627 36 if (r !=0)
jlharper 1:7827a11dc627 37 {
jlharper 1:7827a11dc627 38 printf("%d\n", r);
jlharper 1:7827a11dc627 39 }
jlharper 3:57cbfc7d9b62 40 printf("disk read ");
jlharper 3:57cbfc7d9b62 41 /* const int rd2 = duplicate.disk_write(buffer, i, 1);
jlharper 1:7827a11dc627 42 if (rd2 != 0)
jlharper 1:7827a11dc627 43 {
jlharper 1:7827a11dc627 44 printf("%d\n", rd2);
jlharper 3:57cbfc7d9b62 45 }*/
jlharper 3:57cbfc7d9b62 46
jlharper 3:57cbfc7d9b62 47 h.update(buffer, 512);
jlharper 3:57cbfc7d9b62 48 printf("digest updated, block %d",i);
jlharper 3:57cbfc7d9b62 49
jlharper 3:57cbfc7d9b62 50 /* if(i % 1000 == 0)
jlharper 1:7827a11dc627 51 {
jlharper 3:57cbfc7d9b62 52 status update
jlharper 3:57cbfc7d9b62 53 double percentage = (i/s) * 100;
jlharper 1:7827a11dc627 54 printf("percent copied: %d\n", percentage);
jlharper 3:57cbfc7d9b62 55 time elapsed
jlharper 1:7827a11dc627 56 time_t time_current = time(NULL);
jlharper 1:7827a11dc627 57 int time_working = time_start - time_current;
jlharper 1:7827a11dc627 58 double speed = (i * 512) / time_working;
jlharper 1:7827a11dc627 59
jlharper 1:7827a11dc627 60 printf("speed (bytes/s): %d\n", speed);
jlharper 3:57cbfc7d9b62 61 } */
jlharper 1:7827a11dc627 62 }
jlharper 3:57cbfc7d9b62 63 h.finalize(hash);
jlharper 3:57cbfc7d9b62 64 printf("finished\n");
jlharper 3:57cbfc7d9b62 65 printf("hash: ");
jlharper 3:57cbfc7d9b62 66 for(int i = 0; i < 32; ++i)
jlharper 3:57cbfc7d9b62 67 printf("%02x", hash[i]);
jlharper 3:57cbfc7d9b62 68 printf("\n");
tmasrat 0:b453be3137c7 69
jlharper 3:57cbfc7d9b62 70 //when finished do this light pattern
jlharper 3:57cbfc7d9b62 71 while(true)
jlharper 3:57cbfc7d9b62 72 {
jlharper 3:57cbfc7d9b62 73 led1=0;
jlharper 3:57cbfc7d9b62 74 led4=1;
jlharper 3:57cbfc7d9b62 75 wait(.5);
jlharper 3:57cbfc7d9b62 76 led1=1;
jlharper 3:57cbfc7d9b62 77 led4=0;
jlharper 3:57cbfc7d9b62 78 wait(.5);
jlharper 3:57cbfc7d9b62 79 }
jlharper 3:57cbfc7d9b62 80 }//end main