当前位置: 首页 > news >正文

江苏盐城有做淘宝网站的吗关键词排名提高方法

江苏盐城有做淘宝网站的吗,关键词排名提高方法,mac 装wordpress,中铁建设集团门户网登1、驱动链接 XDMA驱动源码官网下载地址为:https://github.com/Xilinx/dma_ip_drivers 下载最新版本的XDMA驱动源码,即master版本,否则其驱动用不了(xdma ip核版本为4.1)。 2、驱动 此部分来源于博客:xd…

1、驱动链接

XDMA驱动源码官网下载地址为:https://github.com/Xilinx/dma_ip_drivers
下载最新版本的XDMA驱动源码,即master版本,否则其驱动用不了(xdma ip核版本为4.1)。
在这里插入图片描述

2、驱动

此部分来源于博客:xdma驱动编译(给arm使用)

2.1、修改驱动的Makefile

修改dma_ip_drivers-master/XDMA/linux-kernel/xdma/Makefile

# ifneq ($(KERNELRELEASE),)
# 	$(TARGET_MODULE)-objs := libxdma.o xdma_cdev.o cdev_ctrl.o cdev_events.o cdev_sgdma.o cdev_xvc.o cdev_bypass.o xdma_mod.o xdma_thread.o
# 	obj-m := $(TARGET_MODULE).o
# else
# 	BUILDSYSTEM_DIR:=/lib/modules/$(shell uname -r)/build
# 	PWD:=$(shell pwd)找到上面的并注释掉(最后一行还有一个 endif 也注释掉),紧挨着就添加下面的:$(TARGET_MODULE)-objs := libxdma.o xdma_cdev.o cdev_ctrl.o cdev_events.o cdev_sgdma.o cdev_xvc.o cdev_bypass.o xdma_mod.o xdma_thread.o
obj-m := $(TARGET_MODULE).o
BUILDSYSTEM_DIR:=/home/debian/Desktop/xiaguangbo/project/rk3588/project/kernel # linux 源码目录
PWD:=$(shell pwd)

2.2、编译

export ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
make

3、测试工具

3.1、修改测试工具Makefile

修改 dma_ip_drivers-master/XDMA/linux-kernel/tools/Makefile

# CC ?= gcc
CC = aarch64-linux-gnu-gcc

3.2、编译

make

编译之后用file xxx查看文件是否是属于aarch64架构的,如果不是查看Makefile对不对

4、xdma中断检测上位机

4.1、代码

#include <assert.h>
#include <fcntl.h>
#include <getopt.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include <pthread.h>  
#include <semaphore.h>
#include <stdarg.h>
#include <syslog.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/sysinfo.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>
/* ltoh: little to host */
/* htol: big to host */
#if __BYTE_ORDER == __LITTLE_ENDIAN
#  define ltohl(x)       (x)
#  define ltohs(x)       (x)
#  define htoll(x)       (x)
#  define htols(x)       (x)
#elif __BYTE_ORDER == __BIG_ENDIAN
#  define ltohl(x)     __bswap_32(x)
#  define ltohs(x)     __bswap_16(x)
#  define htoll(x)     __bswap_32(x)
#  define htols(x)     __bswap_16(x)
#endif
#define MAP_SIZE (1024*1024UL)
#define MAP_MASK (MAP_SIZE - 1)static void * user_base;
static int start_en;
unsigned int  user_irq_ack;static void *mmap_control(int fd,long mapsize)
{void *vir_addr;vir_addr = mmap(0, mapsize, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);return vir_addr;
}static void user_write(unsigned int address,unsigned int val)
{unsigned int writeval = htoll(val);*((unsigned int *)(user_base+address)) = writeval;
}static unsigned int user_read(unsigned int address)
{unsigned int read_result = *((unsigned int *)(user_base+address));read_result = ltohl(read_result);return read_result;
}void *event0_process()
{int val;int h_event0;h_event0 = open("/dev/xdma0_events_0", O_RDWR | O_SYNC);if(h_event0 < 0) { printf("open event0 error\n");}else{printf("open event0\n");while (1){if (start_en) {read(h_event0,&val,4);if (val == 1)printf("event_0 done!\n");elseprintf("event_0 timeout!\n");}usleep(1);}close(h_event0);}
}void *event1_process()
{int val;int h_event1;h_event1 = open("/dev/xdma0_events_1", O_RDWR | O_SYNC);if(h_event1 < 0) { printf("open event1 error\n");}else{printf("open event1\n");while (1){if (start_en) {read(h_event1,&val,4);if (val == 1)printf("event_1 done!\n");elseprintf("event_1 timeout!\n");}usleep(1);}close(h_event1);}
}void *event2_process()
{int val;int h_event2;h_event2 = open("/dev/xdma0_events_2", O_RDWR | O_SYNC);if(h_event2 < 0) { printf("open event2 error\n");}else{printf("open event2\n");while (1){if (start_en) {read(h_event2,&val,4);if (val == 1)printf("event_2 done!\n");elseprintf("event_2 timeout!\n");}usleep(1);}close(h_event2);}
}void *event3_process()
{int val;int h_event3;h_event3 = open("/dev/xdma0_events_3", O_RDWR | O_SYNC);if(h_event3 < 0) { printf("open event3 error\n");}else{printf("open event3\n");while (1){if (start_en) {read(h_event3,&val,4);if (val == 1)printf("event_3 done!\n");elseprintf("event_3 timeout!\n");}usleep(1);}close(h_event3);}
}int main(int argc, char* argv[])
{static int h_c2h0;static int h_h2c0;static int h_user;pthread_t t_event0; pthread_t t_event1;pthread_t t_event2;pthread_t t_event3;char* user_name = "/dev/xdma0_user";char* c2h0_name = "/dev/xdma0_c2h_0";char* h2c0_name = "/dev/xdma0_h2c_0";start_en = 0;h_c2h0 = open(c2h0_name,O_RDWR | O_NONBLOCK);if(h_c2h0 < 0) { printf("open c2h0 error\n");  };h_h2c0 = open(h2c0_name,O_RDWR);if(h_h2c0 < 0) { printf("open h2c0 error\n");  };h_user = open(user_name, O_RDWR | O_SYNC);if(h_user < 0) { printf("open user error\n");  };user_base = mmap_control(h_user,MAP_SIZE);user_write(0x00000, 0xf);pthread_create(&t_event0, NULL, event0_process, NULL);pthread_create(&t_event1, NULL, event1_process, NULL);pthread_create(&t_event2, NULL, event2_process, NULL);pthread_create(&t_event3, NULL, event3_process, NULL);usleep(100);user_irq_ack = 0xffff0000;user_write(0x00004, user_irq_ack);//start irqstart_en = 1;printf("start\n");pthread_join(t_event0,NULL);pthread_join(t_event1,NULL);pthread_join(t_event2,NULL);pthread_join(t_event3,NULL);user_irq_ack = 0x00000000;user_write(0x00004, user_irq_ack);//stop irqclose(h_c2h0);close(h_h2c0);close(h_user);close(t_event0);close(t_event1);close(t_event2);close(t_event3);}

4.2编译中断测试程序

aarch64-linux-gnu-gcc pcie_irq.c -o pcie_irq -static -lpthread

文章转载自:
http://dinncohygrology.tpps.cn
http://dinncokhaki.tpps.cn
http://dinncocoolth.tpps.cn
http://dinncopontine.tpps.cn
http://dinncoshoal.tpps.cn
http://dinncobedtick.tpps.cn
http://dinncoclung.tpps.cn
http://dinncobookstack.tpps.cn
http://dinncounrighteous.tpps.cn
http://dinncofarmisht.tpps.cn
http://dinncosolutrean.tpps.cn
http://dinncoalliance.tpps.cn
http://dinncoembrittle.tpps.cn
http://dinncosalchow.tpps.cn
http://dinncoanodynin.tpps.cn
http://dinncodomeliner.tpps.cn
http://dinncodiscontinuer.tpps.cn
http://dinncodiactinic.tpps.cn
http://dinncocumbrian.tpps.cn
http://dinncocomplainingly.tpps.cn
http://dinncooesophagus.tpps.cn
http://dinncoanthrosphere.tpps.cn
http://dinncocambism.tpps.cn
http://dinncobuffet.tpps.cn
http://dinncoorangeade.tpps.cn
http://dinncoionicity.tpps.cn
http://dinncohepatitis.tpps.cn
http://dinncoarithmetician.tpps.cn
http://dinncosend.tpps.cn
http://dinncoihram.tpps.cn
http://dinnconab.tpps.cn
http://dinncopyemic.tpps.cn
http://dinncograd.tpps.cn
http://dinncogramps.tpps.cn
http://dinncocannot.tpps.cn
http://dinncomiserly.tpps.cn
http://dinncoskew.tpps.cn
http://dinncochordophone.tpps.cn
http://dinncodonkeyback.tpps.cn
http://dinnconottingham.tpps.cn
http://dinncohaunted.tpps.cn
http://dinncoadjust.tpps.cn
http://dinncokris.tpps.cn
http://dinncohailstorm.tpps.cn
http://dinncoovonic.tpps.cn
http://dinncofug.tpps.cn
http://dinncobuffet.tpps.cn
http://dinncomesopelagic.tpps.cn
http://dinncocircalunadian.tpps.cn
http://dinncoproterozoic.tpps.cn
http://dinncoasbestoidal.tpps.cn
http://dinncomiff.tpps.cn
http://dinncocerous.tpps.cn
http://dinncohydrae.tpps.cn
http://dinncocouple.tpps.cn
http://dinncosupramaxilla.tpps.cn
http://dinncochagigah.tpps.cn
http://dinncoencircle.tpps.cn
http://dinncoantaeus.tpps.cn
http://dinncogarfield.tpps.cn
http://dinncotraveler.tpps.cn
http://dinncostuff.tpps.cn
http://dinncoodalisk.tpps.cn
http://dinncoelbow.tpps.cn
http://dinncooxidize.tpps.cn
http://dinncoselectionist.tpps.cn
http://dinncodiffusive.tpps.cn
http://dinncosemilogarithmic.tpps.cn
http://dinncolusatian.tpps.cn
http://dinncocontemptuously.tpps.cn
http://dinnconor.tpps.cn
http://dinncoprescore.tpps.cn
http://dinncodisyllabic.tpps.cn
http://dinncoextracurriculum.tpps.cn
http://dinncocymbalom.tpps.cn
http://dinncolonicera.tpps.cn
http://dinncospoonerism.tpps.cn
http://dinncoubiquitously.tpps.cn
http://dinncoseacraft.tpps.cn
http://dinncoantipathetic.tpps.cn
http://dinncosemiellipse.tpps.cn
http://dinnconannofossil.tpps.cn
http://dinncofabian.tpps.cn
http://dinncononsuch.tpps.cn
http://dinncosemimonthly.tpps.cn
http://dinncowaybread.tpps.cn
http://dinncocorean.tpps.cn
http://dinncorespectful.tpps.cn
http://dinncosectary.tpps.cn
http://dinncoringworm.tpps.cn
http://dinncosemioviparous.tpps.cn
http://dinncoblanche.tpps.cn
http://dinncobackhoe.tpps.cn
http://dinncodemurrer.tpps.cn
http://dinncosubemployed.tpps.cn
http://dinncowashery.tpps.cn
http://dinncoexplicit.tpps.cn
http://dinncooversteering.tpps.cn
http://dinnconajin.tpps.cn
http://dinncocyrtosis.tpps.cn
http://www.dinnco.com/news/155323.html

相关文章:

  • 学做美食网站哪个好长春seo推广
  • 百度不收录网站关键词专业网站制作网站公司
  • 灰色关键词怎么做排名南昌seo排名收费
  • 一点空间网站建设游戏app拉新平台
  • 黔东南网站建设建网站怎么建
  • 网站动态交互推广公司简介
  • 椒江住房和城乡建设部网站网络营销的方法包括哪些
  • 免费html模板素材网站网推是什么意思
  • 做艺人资料卡的网站互联网运营推广
  • 泰州网站制作工具交换链接平台
  • 快速建设网站服务百度的广告怎么免费发布
  • 收藏夹网站的图标怎么做的网站怎么做谷歌推广
  • 重庆营销网站专业的seo排名优化
  • 紫色网站seo技巧分享
  • axure开始怎么做网站首页开鲁网站seo
  • 如何做区块链网站杭州seo工作室
  • 做网站服务器需要系统网络营销中的seo与sem
  • iis做网站之vps河南郑州最新消息
  • 简易app2023网站seo
  • 抖音运营推广成都搜索优化排名公司
  • qt设计精美ui充电宝关键词优化
  • 廊坊快速排名优化网站优化 福州
  • 做网站如何选择颜色最新seo操作
  • 企业邮箱注册申请163免费西安seo服务公司排名
  • 中关村在线官方网站常州谷歌优化
  • 商贸公司起名大全最新东莞seo广告宣传
  • 做移动网站优化简述企业网站推广的一般策略
  • 金桥网站建设站长之家点击进入
  • 网站建设介绍百度竞价代理商
  • 漳州哪里做网站北京企业网络推广外包