// /* include path: ..../A2F/root/usr/include */ // #include // #include // #include // //#include // #include // typedef unsigned char uint8_t; // typedef unsigned long uint32_t; // typedef struct { // uint32_t address; // uint8_t data; // } cpld_t; // typedef struct { // uint32_t clockspeed; // uint32_t ownAddr; // uint8_t DevAddr; // uint8_t buf[100]; // uint8_t Size; // } i2c_arg_t; // #define GENERATE_CMD(__MAGIC__, __MAJOR__, __CMD__) \ // ((0x3<<30) | (__MAJOR__<<16) | (__MAGIC__<<8) | __CMD__) // #define SET_ADDR GENERATE_CMD('x', 101, 2) // #define TRANSFER GENERATE_CMD('x', 101, 4) // #define MASTER_RCV GENERATE_CMD('x', 101, 5) // #define SLAVE_RCV GENERATE_CMD('x', 101, 6) // int main() // { // /* //FMC test app // cpld_t cpld_arg; // printf("This is test app!\n"); // int fd; // fd = open("/dev/fmc_cpld", O_RDWR); // if(fd == NULL) // printf("Open failed\n"); // cpld_arg.address = 0x64000000; // cpld_arg.data = 0x55; // ioctl(fd, 0, &cpld_arg); // cpld_arg.data = 0; // ioctl(fd, 1, &cpld_arg); // printf("Read from cpld: %#x\n", cpld_arg.data); // close(fd); // */ // /* //gpio interrup test app // int fd; // uint8_t buf; // int ret = 0; // fd = open("/dev/test_module", O_RDWR); // if(fd == NULL) // printf("open failed\n"); // while(1) // { // ret = read(fd, &buf, 1); // printf("test app read %#x\n", buf); // } // close(fd);*/ // int fd; // int i; // i2c_arg_t i2c_arg; // fd = open("/dev/i2c1", O_RDWR); // if(fd == NULL) // printf("open failed\n"); // i2c_arg.ownAddr = 0; // i2c_arg.DevAddr = 0x92; // i2c_arg.buf[0] = 1; // i2c_arg.buf[1] = 2; // i2c_arg.buf[2] = 3; // i2c_arg.Size = 0; // while(1) // { // // ioctl(fd, 1, &i2c_arg); //get speed // // printf("speed: %d\n", i2c_arg.clockspeed); // // sleep(1); // // // // i2c_arg.clockspeed = 400000; // // ioctl(fd, 0, &i2c_arg); //set speed // // sleep(1); // // // // ioctl(fd, 3, &i2c_arg); //get addr // // printf("addr: %#x\n", i2c_arg.ownAddr); // // sleep(1); // // i2c_arg.ownAddr = 0x42; // // ioctl(fd, SET_ADDR, &i2c_arg); //set addr // // sleep(1); // // ioctl(fd, MASTER_RCV, &i2c_arg); // // printf("Read: %#x, %#x\n", i2c_arg.buf[0], i2c_arg.buf[1]); // // sleep(1); // ioctl(fd, SLAVE_RCV, &i2c_arg); // printf("\ni2c1 rec: "); // for(i=0;i