?? nios_ii_cfunction.txt
字號:
NIOS IIC/C++函數整理
IO操作函數
函數原型:IORD(BASE, REGNUM)
輸入參數:BASE為寄存器的基地址,REGNUM為寄存器號
函數說明:從基地址為BASE的設備中讀取寄存器中偏移量為REGNUM的單元里面的值。寄存器的值在地址總線的范圍之內。
返回值: -
函數原型:IOWR(BASE, REGNUM, DATA)
輸入參數:BASE為寄存器的基地址,REGNUM為寄存器號,DATA為要寫入的數據
函數說明:往偏移量為REGNUM寄存器中寫入數據。寄存器的值在地址總線的范圍之內。
返回值: -
函數原型:IORD_32DIRECT(BASE, OFFSET)
輸入參數:BASE為寄存器的基地址,OFFSET為寄存器的的偏移量
函數說明:從地址位置為BASE+OFFSET的寄存器中直接讀取32Bit的數據
返回值: -
函數原型:IORD_16DIRECT(BASE, OFFSET)
輸入參數:BASE為寄存器的基地址,OFFSET為寄存器的的偏移量
函數說明:從地址位置為BASE+OFFSET的寄存器中直接讀取16Bit的數據
返回值: -
函數原型:IORD_8DIRECT(BASE, OFFSET)
輸入參數:BASE為寄存器的基地址,OFFSET為寄存器的的偏移量
函數說明:從地址位置為BASE+OFFSET的寄存器中直接讀取8Bit的數據
返回值: -
函數原型:IOWR_32DIRECT(BASE, OFFSET, DATA)
輸入參數:BASE為寄存器的基地址,OFFSET為寄存器的偏移量,DATA為要寫入的數據
函數說明:往地址位置為BASE+OFFSET的寄存器中直接寫入32Bit的數據
返回值: -
函數原型:IOWR_16DIRECT(BASE, OFFSET, DATA)
輸入參數:BASE為寄存器的基地址,OFFSET為寄存器的偏移量,DATA為要寫入的數據
函數說明:往地址位置為BASE+OFFSET的寄存器中直接寫入16Bit的數據
返回值: -
函數原型:IOWR_8DIRECT(BASE, OFFSET, DATA)
輸入參數:BASE為寄存器的基地址,OFFSET為寄存器的偏移量,DATA為要寫入的數據
函數說明:往地址位置為BASE+OFFSET的寄存器中直接寫入8Bit的數據
返回值: -
Dma:
函數原型:int alt_dma_rxchan_close (alt_dma_rxchan rxchan)
輸入參數:rxchan為接收信道
函數說明:函數 alt_dma_rxchan_close ()通知系統:應用程序已經完成DMA
接收信道rxchan,目前執行是成功的
返回值: 成功返回為0,反之為-1
函數原型:alt_dma_rxchan_depth(alt_dma_rxchan dma)
輸入參數:dma
函數說明:函數alt_dma_rxchan_depth ()返回傳送到特別DMA的最大數量(深度)的接收請求
返回值: DMA的最大數量
函數原型:int alt_dma_rxchan_ioctl (alt_dma_rxchan dma, int req, void* arg)
輸入參數:dma直接存儲器名, req為請求操作的列舉, arg由請求決定
函數說明:通過DMA接收信道執行設備的具體I/O操作
返回值: 成功返回請求具體值,反之返回為負數
請求類型
請求類型 請求類型說明
ALT_DMA_SET_MODE_8 傳輸以8Bit為單位的數據,arg值忽略
ALT_DMA_SET_MODE_16 傳輸以16Bit為單位的數據,arg值忽略
ALT_DMA_SET_MODE_32 傳輸以32Bit為單位的數據,arg值忽略
ALT_DMA_SET_MODE_64 傳輸以64Bit為單位的數據,arg值忽略
ALT_DMA_SET_MODE_128 傳輸以128Bit為單位的數據,arg值忽略
ALT_DMA_TX_ONLY_ON (1) 軟件控制下只能發送
ALT_DMA_TX_ONLY_OFF (1) 自定義模式,軟件控制下可以接收,發送
ALT_DMA_RX_ONLY_ON (1) 軟件控制下只能接收
ALT_DMA_RX_ONLY_OFF (1) 自定義模式,軟件控制下可以接收,發送
函數原型:alt_dma_rxchan alt_dma_rxchan_open (const char* name)
輸入參數:name為常數字符指針,如/dev/dma_0
函數說明:為DMA接收信道獲得一個alt_dma_rxchan描述符
返回值: 成功返回非0,反之返回為0
函數原型:int alt_dma_rxchan_prepare (alt_dma_rxchan dma, void* data,
alt_u32 length, alt_rxchan_done * done, void* handle)
輸入參數:dma使用的信道;data接收數據位置的指針;length最大的接收數據長度;done一旦數據被接收,調用返回函數;handle,非透明值傳到done
函數說明:發送一個接收請求到DMA接收信道,
返回值: 成功返回0,反之返回為負數
函數原型:int alt_dma_rxchan_reg (alt_dma_rxchan_dev * dev)
輸入參數:dev接收信道設備名
函數說明:給系統寄存DMA接收信道
返回值: 成功返回0,反之返回為負數
函數原型:int alt_dma_txchan_close (alt_dma_txchan txchan)
輸入參數:txchan發送信道名
函數說明:通知系統:應用程序已經完成DMA發送信道txchan
返回值: 成功返回0,反之返回為負數
函數原型:int alt_dma_txchan_ioctl (alt_dma_txchan dma, int req, void* arg)
輸入參數:dma直接存儲器名;req為請求操作的列舉;arg請求的額外參數,由請求決定
函數說明:通過DMA發送信道執行設備的具體I/O操作
返回值: 成功返回請求具體值,反之返回為負數
函數原型:alt_dma_txchan alt_dma_txchan_open (const char* name)
輸入參數:name為常數字符指針,如/dev/dma_0
函數說明:為DMA發送信道獲得一個alt_dma_rxchan描述符
返回值: 成功返回非0,反之返回為0
函數原型:int alt_dma_txchan_reg (alt_dma_txchan_dev* dev)
輸入參數:dev接收信道設備名
函數說明:給系統寄存DMA發送信道
返回值: 成功返回0,反之返回為負數
函數原型:int alt_dma_txchan_send (alt_dma_txchan dma, const void* from,
alt_u32 length, alt_txchan_done* done, void* handle)
輸入參數:dma使用的信道;data接收數據位置的指針;length最大的接收數據長度;done一旦數據被接收,調用返回函數;handle,非透明值傳到done
函數說明:發送一個發送請求到DMA發送信道,
返回值: 發送成功返回0,反之返回為負數
函數原型:int alt_dma_txchan_space (alt_dma_txchan dma)
輸入參數:dma 直接存儲器名
函數說明:返回被傳送到具體DMA發送信道的發送請求數目
返回值: 返回發送請求數目
Flash
函數原型:int alt_erase_flash_block(alt_flash_fd* fd, int offset, int length)
輸入參數:fd為具體的flash設備;offset擦除的flash模塊的偏移量;length擦除的flash模塊的長度
函數說明:擦除單獨的一個flash模塊
返回值: 發送成功返回0,反之返回為負數
函數原型:void alt_flash_close_dev(alt_flash_fd * fd)
輸入參數:fd為具體的flash設備
函數說明:關閉flash設備
返回值: -
函數原型:alt_flash_fd * alt_flash_open_dev(const char* name)
輸入參數:
函數說明:打開flash設備。一旦打開,函數alt_write_flash()用來寫入,函數alt_read_flash()用來讀取數據,或者使用函數alt_get_flash_info(), alt_erase_flash_block(), alt_write_flash_block(),控制單個模塊
返回值: 失敗返回0,成功其他值
函數原型:int alt_get_flash_info(alt_flash_fd* fd, flash_region ** info,
int* number_of_regions)
輸入參數:fd flash設備;info指向flash_region結構體的指針;number_of_regions
函數說明:得到擦除flash區域的細節
返回值: 發送成功返回0,反之返回為負數
函數原型:int alt_read_flash(alt_flash_fd* fd, int offset, void* dest_addr, int length)
輸入參數:dest_addr目標地址指針
函數說明:從flash偏移量為offset字節開始讀取數據,寫入到目標地址dest_addr中
返回值: 成功返回0,反之為非0
函數原型:int alt_write_flash(alt_flash_fd* fd, int offset, const void* src_addr,
int length)
輸入參數:src_addr源地址;fd,flash設備;offset 偏移量;length字節長度
函數說明:寫數據到flsah中,要寫的數據在源地址src_addr中
返回值: 成功返回0,反之為非0
函數原型:int alt_write_flash_block(alt_flash_fd* fd, int block_offset, int data_offset,
const void *data, int length)
輸入參數:fd;data_offset起始寫數據的偏移量;length為要寫數據的長度
函數說明:寫入到一個已擦除的flash模塊
返回值: 成功返回0,反之為非0
Irq
函數原型:alt_irq_context alt_irq_disable_all (void)
輸入參數:void
函數說明:禁止所有中斷
返回值: 傳遞的值作為隨后的函數調用的輸入參數
函數原型:void alt_irq_enable_all (alt_irq_context context)
輸入參數:先前調用函數alt_irq_disable_all (void)的返回值,
函數說明:啟動所有中斷
返回值: -
函數原型:int alt_irq_enabled (void)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -