Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
dma.h
См. документацию.
1 
29 #ifndef DMA_H_
30 #define DMA_H_
31 
32 #include "types.h"
33 
37 typedef struct
38 {
39  __RO uint32_t STATUS;
40  __WO uint32_t CFG;
41  __RW uint32_t CTRL_BASE_PTR;
44  __WO uint32_t CHNL_SW_REQUEST;
49  __RW uint32_t CHNL_ENABLE_SET;
50  __WO uint32_t CHNL_ENABLE_CLR;
55  __RW uint32_t RESERVED_0[3];
56  __RW uint32_t ERR_CLR;
57  __RW uint32_t RESERVED_1[875];
58 }DMA_T;
59 
63 #define DMA_CCTRL_STOP ((uint32_t)(0 << 0))
64 #define DMA_CCTRL_BASIC ((uint32_t)(1 << 0))
65 #define DMA_CCTRL_AUTOREQUEST ((uint32_t)(2 << 0))
66 #define DMA_CCTRL_PINGPONG ((uint32_t)(3 << 0))
67 #define DMA_CCTRL_MEMSG_PRIM ((uint32_t)(4 << 0))
68 #define DMA_CCTRL_MEMSG_ALT ((uint32_t)(5 << 0))
69 #define DMA_CCTRL_PERIPHSG_PRIM ((uint32_t)(6 << 0))
70 #define DMA_CCTRL_PERIPHSG_ALT ((uint32_t)(7 << 0))
73 #define DMA_NEXT_USEBURST_EN ((uint32_t)(1 << 3))
74 #define DMA_NEXT_USEBURST_DIS ((uint32_t)(0 << 3))
76 #define DMA_N_MINUS_1(n) ((uint32_t)((n & 0x07FF) << 4))
77 #define DMA_R_POWER(n) ((uint32_t)((n & 0x000F) << 14))
79 #define DMA_SRC_PROT_CACHE_EN ((uint32_t)(1 << 18))
80 #define DMA_SRC_PROT_CACHE_DIS ((uint32_t)(0 << 18))
82 #define DMA_SRC_PROT_BUFFER_EN ((uint32_t)(1 << 19))
83 #define DMA_SRC_PROT_BUFFER_DIS ((uint32_t)(0 << 19))
85 #define DMA_SRC_PROT_PRIVILEGE_EN ((uint32_t)(1 << 20))
86 #define DMA_SRC_PROT_PRIVILEGE_DIS ((uint32_t)(0 << 20))
88 #define DMA_DST_PROT_CACHE_EN ((uint32_t)(1 << 21))
89 #define DMA_DST_PROT_CACHE_DIS ((uint32_t)(0 << 21))
91 #define DMA_DST_PROT_BUFFER_EN ((uint32_t)(1 << 22))
92 #define DMA_DST_PROT_BUFFER_DIS ((uint32_t)(0 << 22))
94 #define DMA_DST_PROT_PRIVILEGE_EN ((uint32_t)(1 << 23))
95 #define DMA_DST_PROT_PRIVILEGE_DIS ((uint32_t)(0 << 23))
97 #define DMA_SRC_DATA_SIZE_BYTE ((uint32_t)(0 << 24))
98 #define DMA_SRC_DATA_SIZE_HALFWORD ((uint32_t)(1 << 24))
99 #define DMA_SRC_DATA_SIZE_WORD ((uint32_t)(2 << 24))
101 #define DMA_SRC_ADDR_INC_BYTE ((uint32_t)(0 << 26))
102 #define DMA_SRC_ADDR_INC_HALFWORD ((uint32_t)(1 << 26))
103 #define DMA_SRC_ADDR_INC_WORD ((uint32_t)(2 << 26))
104 #define DMA_SRC_ADDR_INC_NULL ((uint32_t)(3 << 26))
106 #define DMA_DST_DATA_SIZE_BYTE ((uint32_t)(0 << 28))
107 #define DMA_DST_DATA_SIZE_HALFWORD ((uint32_t)(1 << 28))
108 #define DMA_DST_DATA_SIZE_WORD ((uint32_t)(2 << 28))
110 #define DMA_DST_ADDR_INC_BYTE ((uint32_t)(0 << 30))
111 #define DMA_DST_ADDR_INC_HALFWORD ((uint32_t)(1 << 30))
112 #define DMA_DST_ADDR_INC_WORD ((uint32_t)(2 << 30))
113 #define DMA_DST_ADDR_INC_NULL ((uint32_t)(3 << 30))
118 typedef struct
119 {
120  uint32_t src_data_end_ptr;
121  uint32_t dst_data_end_ptr;
122  volatile uint32_t ctrl;
123  uint32_t reserved;
125 
129 typedef struct
130 {
131  DMA_CHNL_CTRL_T prim_chan[32];
132  DMA_CHNL_CTRL_T alt_chan[32];
133 }DMA_CTRL_T;
134 
135 
136 #endif /* DMA_H_ */
__RW uint32_t CTRL_BASE_PTR
Definition: dma.h:41
Структура для доступа к управлющим данным всех каналов
Definition: dma.h:129
Этот файл содержит структуры, макросы и функции необходимые для работы с дополнительными типами...
uint32_t src_data_end_ptr
Definition: dma.h:120
#define __RW
Definition: types.h:39
__RW uint32_t CHNL_ENABLE_SET
Definition: dma.h:49
#define __RO
Definition: types.h:37
#define __WO
Definition: types.h:38
__WO uint32_t CHNL_SW_REQUEST
Definition: dma.h:44
__RW uint32_t CHNL_PRI_ALT_SET
Definition: dma.h:51
uint32_t reserved
Definition: dma.h:123
volatile uint32_t ctrl
Definition: dma.h:122
__WO uint32_t CHNL_REQ_MASK_CLR
Definition: dma.h:48
__WO uint32_t CFG
Definition: dma.h:40
__WO uint32_t CHNL_PRIORITY_CLR
Definition: dma.h:54
__WO uint32_t CHNL_ENABLE_CLR
Definition: dma.h:50
Структура управляющих данных
Definition: dma.h:118
__RW uint32_t CHNL_USEBURST_SET
Definition: dma.h:45
__RO uint32_t STATUS
Definition: dma.h:39
__WO uint32_t CHNL_USEBURST_CLR
Definition: dma.h:46
uint32_t dst_data_end_ptr
Definition: dma.h:121
__RW uint32_t CHNL_PRIORITY_SET
Definition: dma.h:53
__WO uint32_t CHNL_PRI_ALT_CLR
Definition: dma.h:52
Структура для доступа к регистрам контроллера DMA.
Definition: dma.h:37
__RO uint32_t ALT_CTRL_BASE_PTR
Definition: dma.h:42
__RW uint32_t CHNL_REQ_MASK_SET
Definition: dma.h:47
__RO uint32_t WAITONREQ_STATUS
Definition: dma.h:43
__RW uint32_t ERR_CLR
Definition: dma.h:56