main.c 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "eclib.h"
  2. #include <unistd.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. int print_all()
  6. {
  7. uint8_t value = 0;
  8. for (int i = 0; i <= 0x0F; i ++) {
  9. for (int j = 0; j <= 0x0F; j ++) {
  10. value = read_ec_ram(i * 16 + j);
  11. printf("%02X ", value);
  12. }
  13. printf("\n");
  14. }
  15. }
  16. int main(int argc, char **argv)
  17. {
  18. uint8_t value = 0;
  19. uint8_t addr = 0;
  20. bool isread = true;
  21. int ch;
  22. if (!port_dev_init()) {
  23. printf("Please run as root user!\n");
  24. return -1;
  25. }
  26. if (argc > 1)
  27. {
  28. while ((ch = getopt(argc, argv, "a:rw:l")) != -1)
  29. {
  30. switch (ch)
  31. {
  32. case 'a':
  33. addr = strtol(optarg, NULL, 16);
  34. break;
  35. case 'r':
  36. isread = true;
  37. break;
  38. case 'w':
  39. isread = false;
  40. value = strtol(optarg, NULL, 16);
  41. break;
  42. case '?':
  43. printf("-a [address] -r read -w [value] write\n");
  44. return -1;
  45. }
  46. }
  47. if(isread)
  48. {
  49. printf("0x%02X", read_ec_ram(addr));
  50. }
  51. else
  52. {
  53. printf("write 0x%02X=0x%02X\n", addr, value);
  54. write_ec_ram(addr, value);
  55. }
  56. }
  57. else
  58. {
  59. print_all();
  60. }
  61. port_dev_exit();
  62. return 0;
  63. }