crontab -e
登录后复制
2、输入启动脚本 以下命令为:系统重启后90秒 启动redis服务
@reboot ( sleep 90 sh /usr/local/bin/redis-server )
登录后复制
三、使用chkonfig
单独查看某一服务是否开机启动的命令 :chkconfig --list 服务名
单独开启某一服务的命令 chkconfig 服务名 on
单独关闭某一服务的命令;chkconfig 服务名 off
查看某一服务的状态:/etc/intd.d/服务名 status
设置完成之后,重启一下即可
lspci(8) Linux PCI Utilities lspci(8)NAME
lspci - 列出所有PCI设备
总览 SYNOPSIS
lspci [options]
描述 DESCRIPTION
lspci 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。
为了能使用这个命令所有功能,你需要有 linux 2.1.82或以上版本,支持/proc/bus/pci
接口的内核。在旧版本内核中,PCI工具必须使用只有root才能执行的直接硬件访问,而且总是出现竞争状况以及其他问题。
如果你要报告 PCI 设备驱动中,或者是 lspci 自身的 bugs,请在报告中包含 "lspci -vvx" 的输出。
以上信息来自centos7 使用命令 man lscpi 可看到。
setpci(8) The PCI Utilities setpci(8)
NAME
setpci - configure PCI devices
SYNOPSIS
setpci [options] devices operations...
DESCRIPTION
setpci is a utility for querying and configuring PCI devices.
这个是setpci
项目中使用Tsi721连接加速模块进行RapidIO收发数通信。在调试过程中,用户会手动结束任务,当再次启动任务时会报以下异常信息,此时就无法再收到加速模块发来的数据。在这种情况下,必须要重启模块才能收到数据。
2、原因分析
用户在收数时使用的是封装的接口函数库,收数流程如下:
在收数过程中会创建门铃接收任务,等待门铃中断,当用户收到退出程序时底层配置的门铃信息并未释放,导致重新启动任务后无法重新配置门铃信息。
代码段如下:
用户手动关闭程序时标记为2处dbrange_disable并没有执行,导致资源未释放,再次启动应用后标记1处再次enable报错。
3、解决办法一
通过代码能看到要执行disable必须要退出while循环,确保rcv_exit为1,可以通过先按ctrl+c释放资源后,再按ctrl+\ 退出程序,如下:
此时再次重启应用无问题。
4、解决办法二
修改驱动,打开/home/kernel-rapidio-1.1.0/rio_mport_cdev.c
修改位置如下:
将ret初始化为0。
然后重新编译驱动,在/home/ kernel-rapidio-1.1.0 下执行
Make clean
Make
Make install
执行完毕后重启模块生效。
使用提供的释放资源应用程序rio_releaseDB(位于压缩包内Debug目录下)进行资源释放。
参数为0或1,表示要释放的port号,如下:
释放资源之后,再次启动应用程序即可正常收数。
附:rio_releaseDB.c 代码
/*
============================================================================
Name: test_rio.c
Author : 11
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#define _GNU_SOURCE
#include <sched.h>
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
#include <semaphore.h>
#include <error.h>
#include <malloc.h>
#include <netdb.h>
#include <netinet/in.h>
#include <assert.h>
#include <fcntl.h>
#include <getopt.h>
#include <stdint.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/select.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/mman.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include "riocpplib.h"
int main(int argc,char *argv[]) {
int portNum=0
if(argc!=2)
{
printf("Invalid Argument,Please Input Number 0 or 1\n")
return -1
}
if((atoi(argv[1])!=0) &&( atoi(argv[1])!=1) )
{
printf("Invalid Argument,Please Input Number 0 or 1\n")
return -1
}
portNum=atoi(argv[1])
int ret=0
ret=bslRioPortInit(portNum)
if(ret==0)
{
printf("INIT SRIO PORT %d DONE\n",portNum)
}
else
{
printf("INIT SRIO PORT %d FAILED\n",portNum)
return -1
}
ret=bslRioReleaseDoorbell(portNum)
if(ret==0)
{
printf("RELEASE SRIO PORT %d DONE\n",portNum)
}
else
{
printf("RELEASE SRIO PORT %d FAILED\n",portNum)
}
return EXIT_SUCCESS
}
登录后复制
linux
tsi721
rapidio
srio
点赞文章给优秀博主打call~
tsi721-user-manual.pdf
23下载·0评论
2021年7月27日
RAPIDIO LINUX 驱动理解笔记1 DMA OUTBOUND
559阅读·1评论·1点赞
2022年6月16日
Linux下Tsi721修改RapidIO端口速率
1408阅读·2评论·4点赞
2021年3月26日
基于Intel E5V4计算刀片的RapidIO性能测试
566阅读·0评论·1点赞
2021年3月13日
Tsi721和NRS1800连接调试问题记录
1224阅读·0评论·4点赞
2021年7月9日
Tsi721芯片驱动代码使用说明
2805阅读·14评论·3点赞
2021年7月9日
一字粗跟凉鞋
精选推荐
广告
Tsi721信号及处理
1.0W阅读·2评论·2点赞
2016年1月19日
tsi721板卡和FPGA之间SRIO通信
923阅读·0评论·0点赞
2021年8月17日
linux/银河麒麟系统下基于Tsi721的PCIE转RapidIO驱动调试与测试
2256阅读·1评论·1点赞
2021年1月7日
VxWorks下TSI721驱动开发
998阅读·0评论·2点赞
2021年3月20日
Linux内核驱动注册方式泛谈
66阅读·0评论·0点赞
2020年3月18日
Windows 下TSI721驱动软件使用
1016阅读·0评论·1点赞
2021年3月12日
linux下rapidio枚举 环境变量设置
186阅读·0评论·0点赞
2021年4月20日
调试基于Linux Tsi721的rapidio驱动遇到的一些问题
4531阅读·5评论·3点赞
2019年3月7日
Windows 下TSI721数据采集软件
489阅读·4评论·0点赞
2021年3月12日
湖南麒麟下加载RapidIO驱动
1297阅读·4评论·2点赞
2021年2月25日
TSI721开发资料.zip
75下载·0评论
2020年4月1日
1800调试记录
233阅读·0评论·0点赞
2021年7月9日
去首页
看看更多热门内容
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)