亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? dsp_reg_access.c

?? 運(yùn)行在Nios上的通過(guò)串行rapidio接口訪問(wèn)dsp的參考代碼
?? C
字號(hào):
#include <stdio.h>
//#include <alt_types.h>
#include <io.h>
#include <string.h>

#include "sys/alt_dma.h"
#include "system.h"


#define CMD_LEN     128
#if 0
OUT_RTY_ENC   20  RW1C Output port has encountered a retry condition 1'b0
OUT_RETRIED   19  RO Output port has received a packet-retry control symbol
                  and cannot make forward progress.
OUT_RTY_STOP  18  RO Output port has been stopped due to a retry and is
                  trying to recover.
OUT_ERR_ENC   17  RW1C Output port has encountered (and possibly recovered
                  from) a transmission error.

OUT_ERR_STOP  16  RO Output port has been stopped due to a transmission
                  error and is trying to recover.

IN_RTY_STOP   10  RO Input port has been stopped due to a retry. 1'b0
IN_ERR_ENC    9   RW1C Input port has encountered (and possibly recovered
                  from) a transmission error.
IN_ERR_STOP   8   RO Input port has been stopped due to a transmission
                  error.
PWRITE_PEND   4   RO This register is not implemented and is reserved. It
                  is always set to zero.
PORT_ERR      2   RW1C Input or output port has encountered an unrecoverable
                  error and has shut down (turned off both port enables).
PORT_OK       1   RO Input and output ports a initialized and can
                  communicate with the adjacent device.
PORT_UNINIT   0   RO Input and output ports are not initialized and is in
                  training mode.

#endif

// SRIO Status Register Mask
#define SRIO_PORT_UNINT   0x00000001
#define SRIO_PORT_OK      0x00000002
#define SRIO_PORT_ERR     0x00000004
#define SRIO_PWRITE_PEND  0x00000010
#define SRIO_IN_ERR_STOP  0x00000100
#define SRIO_IN_ERR_ENC   0x00000200


#define IN_RTY_STOP       0x00000400
#define OUT_ERR_STOP      0x00010000
#define OUT_ERR_ENC       0x00020000
#define OUT_RTY_STOP      0x00040000
#define OUT_RETRIED       0x00080000
#define OUT_RTY_ENC       0x00100000


void get_cmd();
void parse_cmd(char *);
void parse_status(unsigned int s_val);
// refer to serial user manual page #142
// 
int main(void)
{
  unsigned int ret_val;
 ///////////////////////////////////////////////////////////////////////////////
 ////// **** Setting up the maintenance window address translation ***///////
 ///////////////////////////////////////////////////////////////////////////////
 ret_val = IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x158);
 printf("CSR : %x\n", ret_val);  //

 IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x60, 0x00aa0000);  // write Source ID
 IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x13c, 0x60000000);  // 
 IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x1010c, 0x00abff00);  // write Tx Maintenance Control
 IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10104, 0xfffffffc);  //write Tx Maintenance Mask
 IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10088, 0x05000000);  //write Rx Maintanance Base Address
 
 printf("Source ID : %x\n", IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x60));  
 printf("Response Time : %x\n", IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x13c)); 
 printf("M Control : %x\n", IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x1010c));  
 printf("M Mask : %x\n", IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10104));  
 
 
 IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10300, 0x04040000);  // IO master base
 //IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10304, 0xfffffffc);  // IO Master window mask (enable)
 IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10304, 0x4);  // IO Master window mask (enable)
 IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10308, 0x00000000);  // IO Master window Offset

 printf("IO master base : %x\n", IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10300));  
 printf("Master window Offset : %x\n", IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10308)); 

// IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10400, 0x0);  // IO Slave base
// IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10404, 0x00fffffc);  // IO Slave window mask (enable)
// IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x10408, 0x04040000);  // IO Slave window Offset
// IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x1040c, 0x00AB0002);  // IO Slave window Control 
                                                          // nwrite_r, enable
 
  //Tx Port Write Buffer n : 0x10210 - 0x1024c
  //Rx Port Write Buffer n : 0x10260 - 0x1029c
  printf("\ndone...\n");

  while(1)
     get_cmd();
        
  
  return (0);
}


void parse_status(unsigned int s_val)
{
    if ((s_val & SRIO_PORT_UNINT) == SRIO_PORT_UNINT) printf("SRIO_PORT_UNINT|");
    if ((s_val & SRIO_PORT_OK) == SRIO_PORT_OK) printf("SRIO_PORT_OK|");
    if ((s_val & SRIO_PORT_ERR) == SRIO_PORT_ERR) printf("SRIO_PORT_ERR|");
    if ((s_val & SRIO_PWRITE_PEND) == SRIO_PWRITE_PEND) printf("SRIO_PWRITE_PEND|");
    if ((s_val & SRIO_IN_ERR_STOP) == SRIO_IN_ERR_STOP) printf("SRIO_IN_ERR_STOP|");
    if ((s_val & SRIO_IN_ERR_ENC) == SRIO_IN_ERR_ENC) printf("SRIO_IN_ERR_ENC|");
    if ((s_val & IN_RTY_STOP) == IN_RTY_STOP) printf("IN_RTY_STOP|");
    if ((s_val & OUT_ERR_STOP) == OUT_ERR_STOP) printf("OUT_ERR_STOP|");
    if ((s_val & OUT_ERR_ENC) == OUT_ERR_ENC) printf("OUT_ERR_ENC|");
    if ((s_val & OUT_RTY_STOP) == OUT_RTY_STOP) printf("OUT_RTY_STOP|");
    if ((s_val & OUT_RETRIED) == OUT_RETRIED) printf("OUT_RETRIED|");
    if ((s_val & OUT_RTY_ENC) == OUT_RTY_ENC) printf("OUT_RTY_ENC|");
    printf("\n");
}



void get_cmd()
{
  char cmd_buffer[CMD_LEN];
  unsigned i = 0;
  printf("cmd > ");

  for(i=0; i<CMD_LEN; i++)
  {
    scanf("%c", &cmd_buffer[i]);
    if (cmd_buffer[i] == '\n')
      break;
  }
  
  cmd_buffer[i]= '\0';
  parse_cmd(cmd_buffer);
  
  // command parsing.
  
}

void parse_cmd(char *cmd_buffer)
{
  char cmd[2];
  unsigned int val1, val2, offset, ret_val;
  unsigned int temp;
  
  sscanf(cmd_buffer, "%s %x %x\n", cmd, &val1, &val2);
  //printf("cmd : %c\n", cmd);
  //printf("val1 : %x\n", val1);
  //printf("val2 : %x\n", val2);
  
  switch(cmd[0])
  {
  case 'c' :
        ret_val = IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x158);
        printf("CSR : %x\n", ret_val);  //
        parse_status(ret_val);
        break;
  case 'p' :
        ret_val = IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, 0x15c); // Port 0 Control CSR
        printf("PCtrl : %x\n", ret_val);  //
        break;
  case 'w' :
        if (cmd[1] == 'r')
        {
          IOWR_32DIRECT(RIO_MNT_SLAVE_BASE, val1, val2); // read ti address at     ti id addr : 0x2d01060
          printf("remote write 0x%x=0x%x\n", val1, val2);
        }
        else if (cmd[1] == 's')
        {
          IOWR_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, val1, val2); // read ti address at     ti id addr : 0x2d01060
          printf("sys write 0x%x=0x%x\n", val1, val2);
        }
        else if (cmd[1] == 'b')
        {
          IOWR_32DIRECT(SRIO_BUF_BASE, val1, val2); // read ti address at     ti id addr : 0x2d01060
          printf("sys write 0x%x=0x%x\n", val1, val2);
        }
        else
          printf("unknow write\n");        
        //IOWR_32DIRECT(RIO_MNT_SLAVE_BASE, 0x60, (ret_val & 0x0000ffff) | 0x00AB0000); // read ti address at     
        break;

  case 'd' :
         printf("Dumping the RapidIO Registers of the DSP ....\n");
         for(offset=0; offset < 0x200; offset = offset + 4)
          printf("%8x : %8X\n", offset, IORD_32DIRECT(RIO_MNT_SLAVE_BASE, offset));
         printf("------- read compeleted\n");
         break;
        
  case 'r' :
        if (cmd[1] == 'r')
        {
          ret_val = IORD_32DIRECT(RIO_MNT_SLAVE_BASE, val1); // read ti address at     ti id addr : 0x2d01060
          printf("Remote Read 0x%x : 0x%x\n", val1, ret_val);  //
        }
        else if (cmd[1] == 's')
        {
          ret_val = IORD_32DIRECT(RIO_SYS_MNT_SLAVE_BASE, val1);// read ti address at     ti id addr : 0x2d01060
          printf("Sys Read 0x%x : 0x%x\n", val1, ret_val);  //
        }
        else if (cmd[1] == 'b')
        {
         for(temp=0; temp < 0x200; temp = temp + 4)
            {
         // ret_val = IORD_32DIRECT(SRIO_BUF_BASE, offset);// read ti address at     ti id addr : 0x2d01060
          printf("Sys Read 0x%x : 0x%x\n", temp, ret_val);  //
          }
        }
        else
          printf("unknow read\n");        


         // Port 0 Control CSR
        
        break;
  case 'h' :
      printf("--------- help -----------\n");
      printf(" c           : show current RIO port status\n");
      printf(" w[r/s] add value : write value into add (eg. w 0x60 0x1234) r:remote, s:sys\n");
      printf(" r[r/s] add       : read value from add(eg. r 0x60) r:remote, s:sys\n");
      printf("----- register address -----\n");
      printf("CSR register       : 0x158\n");
      printf("BASE ID register   : 0x60\n");
      break;       
  default:
    printf("unknow command\n");
    break;
  }
        
  
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久九九视频| 91精品国产综合久久久久久久 | 狠狠狠色丁香婷婷综合激情| 日韩视频一区二区| 麻豆91免费看| 国产午夜亚洲精品不卡| 成人激情免费视频| 一卡二卡欧美日韩| 欧美一级在线免费| 成人免费看视频| 亚洲综合自拍偷拍| 欧美一区二区三区爱爱| 国产69精品久久久久毛片| 亚洲精品免费看| 欧美一卡二卡三卡| av综合在线播放| 婷婷久久综合九色国产成人| 久久精品人人做人人爽人人| 91小视频免费看| 免费欧美在线视频| 国产精品久久久久久久裸模| 欧美女孩性生活视频| 国产老肥熟一区二区三区| 亚洲精品国产视频| 精品嫩草影院久久| 91久久线看在观草草青青| 麻豆精品精品国产自在97香蕉| 国产精品久久久久久妇女6080| 欧美日韩一卡二卡三卡| 国产成人在线视频网站| 午夜国产精品一区| 国产精品久久久久一区二区三区 | 亚洲成av人**亚洲成av**| 欧美一区2区视频在线观看| 成人av电影免费在线播放| 亚洲国产精品天堂| 国产精品区一区二区三| 欧美丰满少妇xxxbbb| 不卡的av中国片| 久久99久国产精品黄毛片色诱| 亚洲精品成a人| 国产日韩欧美不卡在线| 91精品国产色综合久久不卡蜜臀 | 国产乱理伦片在线观看夜一区| 亚洲欧美色综合| 久久亚洲一区二区三区四区| 精品视频123区在线观看| 懂色av中文一区二区三区| 蜜臀精品一区二区三区在线观看 | 欧美三级中文字幕在线观看| 国产成人av自拍| 精品影视av免费| 污片在线观看一区二区| 亚洲精品水蜜桃| 中文字幕乱码日本亚洲一区二区| 日韩一本二本av| 欧美视频在线一区二区三区| 99精品视频在线观看免费| 国产麻豆成人精品| 狂野欧美性猛交blacked| 亚洲国产精品欧美一二99| 亚洲精品福利视频网站| 亚洲丝袜自拍清纯另类| 国产精品午夜在线观看| 国产欧美一区二区三区网站 | 国产成人av电影在线| 久久99精品久久久久久久久久久久 | 日韩三级av在线播放| 91精品欧美久久久久久动漫| 欧美日韩成人高清| 欧美日韩国产片| 在线播放欧美女士性生活| 欧美日韩精品一区二区三区蜜桃| 在线视频亚洲一区| 欧美一a一片一级一片| 欧洲中文字幕精品| 欧美日韩精品欧美日韩精品一 | 中文字幕中文在线不卡住| 国产精品欧美一级免费| 国产精品丝袜黑色高跟| 国产精品你懂的在线欣赏| 国产精品伦一区| 亚洲精品五月天| 午夜影视日本亚洲欧洲精品| 午夜av一区二区三区| 视频一区中文字幕| 久久99精品久久久久久动态图 | 亚洲情趣在线观看| 一区二区三区精品在线| 亚洲小说春色综合另类电影| 丝袜诱惑亚洲看片| 乱中年女人伦av一区二区| 国产一区二区看久久| 国产黑丝在线一区二区三区| 成人va在线观看| 欧洲av一区二区嗯嗯嗯啊| 91精品国产色综合久久不卡电影 | 欧美一区二区三区小说| 精品乱人伦小说| 国产精品久久久久久久久免费丝袜 | 国产精品久久久久一区二区三区共| 亚洲三级在线播放| 日日嗨av一区二区三区四区| 国精品**一区二区三区在线蜜桃| 粉嫩嫩av羞羞动漫久久久| 91成人网在线| 日韩精品一区国产麻豆| 国产精品电影一区二区| 亚洲国产精品视频| 国产一区二区美女诱惑| 在线一区二区观看| 日韩一级免费观看| 亚洲同性gay激情无套| 日韩福利视频网| 成人高清免费在线播放| 在线观看91av| 国产精品麻豆久久久| 日韩成人免费看| 99r国产精品| 日韩免费电影一区| 一区二区三区中文字幕在线观看| 久久草av在线| 在线观看欧美精品| 国产香蕉久久精品综合网| 偷拍自拍另类欧美| 91蝌蚪国产九色| 久久综合99re88久久爱| 亚洲图片欧美色图| 成人国产精品免费网站| 日韩欧美国产综合在线一区二区三区| 综合在线观看色| 精品一区二区三区在线视频| 欧美专区亚洲专区| 国产精品午夜春色av| 久久精品国产一区二区三| 91福利精品第一导航| 国产精品美女视频| 国产一区二区中文字幕| 777xxx欧美| 亚洲午夜在线观看视频在线| 成人午夜伦理影院| 日韩女优av电影| 亚洲国产视频a| 色菇凉天天综合网| 国产精品卡一卡二| 国产黄色精品视频| 欧美xxx久久| 美腿丝袜亚洲一区| 欧美精品日韩精品| 亚洲国产综合人成综合网站| av亚洲精华国产精华| 日本一区二区三区免费乱视频| 久久精品99国产精品| 91精品麻豆日日躁夜夜躁| 亚洲成a人v欧美综合天堂下载| 99久久综合国产精品| 国产精品少妇自拍| 岛国精品在线播放| 国产精品久久久久精k8| 成人蜜臀av电影| 国产精品无码永久免费888| 国模大尺度一区二区三区| 精品国产网站在线观看| 久久成人麻豆午夜电影| 精品国产免费一区二区三区四区 | www.久久久久久久久| 亚洲一区二区三区视频在线播放| 天天操天天色综合| 欧美日韩在线观看一区二区 | 亚洲三级免费观看| zzijzzij亚洲日本少妇熟睡| 中文字幕欧美区| va亚洲va日韩不卡在线观看| 国产精品沙发午睡系列990531| 成人黄页在线观看| 一区在线观看视频| 91蝌蚪porny| 洋洋成人永久网站入口| 欧美久久久久中文字幕| 美女高潮久久久| 国产日韩欧美亚洲| 色综合欧美在线| 午夜久久福利影院| 日韩欧美精品在线视频| 国产成人av在线影院| 国产精品进线69影院| 欧美亚洲国产一区在线观看网站| 亚洲18女电影在线观看| 欧美一二三在线| 国产ts人妖一区二区| 樱花影视一区二区| 欧美一区二区三区人| 国产高清不卡一区| ...xxx性欧美| 91精品国模一区二区三区| 国产精品自在在线| 亚洲伊人伊色伊影伊综合网| 日韩一本二本av| 97久久精品人人爽人人爽蜜臀| 亚洲第一av色|