Guest User

Untitled

a guest
Jan 15th, 2024
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.88 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdint.h>
  3. #include <stddef.h>
  4. #include "pru_uart.h"
  5. #include "pru_ecap.h"
  6. #include "sys_gpio.h"
  7.  
  8. // define some r30 bits
  9. #define CW  (1 << 3)
  10. #define CCW (1 << 7)
  11. #define delay_us(n) __delay_cycles((n) * 200u)
  12. #define delay_ms(n) delay_us((n) * 1000u)
  13.  
  14. struct Message {
  15.     uint32_t test_message;
  16. };
  17.  
  18. // layout of shared ddr3 memory (filled in by loader)
  19. struct DDRLayout {
  20.         Message volatile *msgbuf;
  21.         uint16_t num_msgs;
  22.         uint16_t msg_size;
  23. };
  24.  
  25. struct UserControlVars {
  26.         uint16_t pru0_counter;
  27.         uint16_t pru1_counter;
  28.     uint32_t shared_counter;
  29. };
  30.  
  31. far struct DDRLayout ddr __attribute__((location(0x10000))) = {};
  32. far struct UserControlVars volatile shmem __attribute__((location(0x10100))) = {};
  33.  
  34. void main() {
  35.  
  36.     while(1){
  37.         shmem.pru1_counter++;
  38.         delay_ms(633);
  39.         shmem.shared_counter++;
  40.     }
  41.  
  42. }
  43.  
  44.  
Add Comment
Please, Sign In to add comment