
454496988


0 访问量
0 原创专栏
0 资料
1 粉丝
个性签名:此E友还没有留下个性签名哦~
加入易百纳时间:2017-03-22
-
目前我在sys_config.c文件中将SPI的管脚复用与时钟修改了,打开SPI设备不能与GV7704通信,能帮忙看下哪里有问题吗 //管脚复用 static void spi_pin_mux(void) { SYS_WRITEL(g_reg_iocfg_base + 0x010c, 0x1403); /* SPI_CSN0 */ SYS_WRITEL(g_reg_iocfg_base + 0x0110, 0x1403); /* SPI_CSN1 */ SYS_WRITEL(g_reg_iocfg_base + 0x0114, 0x1403); /* SPI_CSN2 */ SYS_WRITEL(g_reg_iocfg_base + 0x0118, 0x1403); /* SPI_CSN3 */ SYS_WRITEL(g_reg_iocfg_base + 0x011C, 0x1403); /* SPI_SDI */ SYS_WRITEL(g_reg_iocfg_base + 0x0120, 0x1403); /* SPI_SDO */ SYS_WRITEL(g_reg_iocfg_base + 0x0124, 0x1403); /* SPI_CLK */ } //时钟 static void spi_clk_cfg_3531dv200(void) { SYS_WRITEL(g_reg_crg_base + 0x4480, 0x1); SYS_WRITEL(g_reg_crg_base + 0x4480, 0x10); } //打开SPI设备 int app_per_spi_init(const char* device) { int fd = -1; fd = open(device, O_RDWR); if(fd < 0) { printf("----open spidev failed!----\n"); return -1; } int ret = 0; ret = ioctl(fd, SPI_IOC_WR_MODE, &spi_mode); if(ret == -1) { printf("set spi WR mode error\n"); return -1; } ret = ioctl(fd, SPI_IOC_RD_MODE, &spi_mode); if(ret == -1) { printf("set spi RD mode error\n"); return -1; } ret = ioctl(fd, SPI_IOC_WR_BITS_PER_WORD, &bits); if(ret == -1) { printf("set spi write bits per word error\n"); return -1; } ret = ioctl(fd, SPI_IOC_RD_BITS_PER_WORD, &bits); if(ret == -1) { printf("set spi read bits per word error\n"); return -1; } ret = ioctl(fd, SPI_IOC_WR_MAX_SPEED_HZ, &speed); if(ret == -1) { printf("set spi write Max speed error\n"); return -1; } ret = ioctl(fd, SPI_IOC_RD_MAX_SPEED_HZ, &speed); if(ret == -1) { printf("set spi write Max speed error\n"); return -1; } return fd; } void app_per_spi_sendData(int fd, unsigned char *ptrBuf, int bufLen) { int i; int retval = 0; int mode = spi_mode; retval = ioctl(fd, SPI_IOC_WR_MODE, &mode); if (retval < 0) { printf("ioctl error \n"); close(fd); return ; } struct spi_ioc_transfer mesg[1]; unsigned char buf[SSP_BUF_LEN]; memset(mesg, 0, sizeof mesg); // mesg[0].rx_buf = (unsigned long)buf, mesg[0].tx_buf = (unsigned long)buf; mesg[0].len = bufLen; mesg[0].delay_usecs = delay; mesg[0].speed_hz = speed; mesg[0].bits_per_word = bits; mesg[0].cs_change = 1; memset(buf, 0, SSP_BUF_LEN); reverse8(buf, mesg[0].len); retval = ioctl(fd, SPI_IOC_MESSAGE(1), &mesg); if(retval != mesg[0].len) { printf("SPI_IOC_MESSAGE error \n"); } return ; } void app_per_spi_recvData(int fd, unsigned char *ptrBuf, int bufLen) { int i; int retval = 0; uint32_t mode = spi_mode; struct spi_ioc_transfer mesg[1]; memset(mesg, 0, sizeof mesg); mesg[0].rx_buf = (unsigned long)ptrBuf, // mesg[0].tx_buf = (unsigned long)ptrBuf; mesg[0].len = bufLen; mesg[0].speed_hz = speed; mesg[0].delay_usecs = delay; mesg[0].bits_per_word = bits; mesg[0].cs_change = 1; retval = ioctl(fd, SPI_IOC_MESSAGE(1), &mesg); if(retval < 1) { printf("SPI_IOC_MESSAGE error \n"); } return ; }2021-02-203 0 3364
-
现在3521A做混搭模式,前面4路接模拟摄像头,后面4路接720P或1080P摄像头。我将Dev0~1配置4路960H模式,Dev2~3配置成2路720P或1080P模式。现在的情况是高清摄像头完全没问题,都能出图像,而模拟摄像头好像有的不支持,一些420线的摄像头每次都能出图像,VI调试信息都正确,一些700线的摄像头有时能出图像,有时不能出图像,查看VI调试信息,显示丢失中断。有没有人遇见类似的情况,指点一下。2017-09-302 0 2351
-
我们以前的图形层osd都是灰底白字,现在想把灰底去掉,然后在同一种颜色的情况下osd回看不清,想做成反色,可行吗2017-09-221 0 3429
-
现在我把NVP6114单独配置为4路720P和960H也是可以的,但如果一组配置成720P、一组配置成960H,就出不了图像,求助该怎么修改。2017-07-185 0 2806
-
因为用的是switch芯片,网卡芯片初始化寄存器配置不一样,要修改寄存器配置,但是找不到在哪里初始化网卡的,用的是hi3521a自带的网卡驱动,求高手指点一下。2017-05-080 0 2251
-
hi3521a下移植bcm53101交换芯片将其扩成5个百兆网口,现在uboot下ping不通,修改phy地址和接口模式都没用, 修改phy地址为0~4,都只有其中一个网口能link up,但ping不通。 不知道还有什么需要修改的不,有没有谁做过的指点下。2017-04-068 0 4383

共6条