#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <signal.h> #include <fcntl.h> #include <ftw.h> #include <string.h> #define READ_SIZE 512 #define READ_BUF_LEN 2048 #define DEV_NAME "/sys/bus/spi/devices/spi0.0/fram" int main(int argc, char ** argv) { char read_buffer[READ_SIZE]={0,}; char *device = NULL; int i,j,k; unsigned int fd; unsigned int size; device = argv[1]; if(argc < 3) device = DEV_NAME; fd = open (device, O_RDWR); if(fd < 0) { fputs("Error \n",stderr); exit(1); } printf(" 0 1 2 3 4 5 6 7 8 9 A B C D E F"); for(i=0, k=0; i<4; i++) { size = read(fd, read_buffer, READ_SIZE); for(j=0; j<READ_SIZE; j++) { if( !(k%16) ) printf("\n %03X: ",k&(~0x1)); k++; printf("%02X ",read_buffer[j]); } printf("\n=====================================================\n"); printf("ReadSize: %d\n",size); } close(fd); return 0; }