小宾

小宾

0个粉丝

2

问答

0

专栏

0

资料

小宾  发布于  2018-12-06 11:02:11
采纳率 0%
2个问答
3343

PCIE开发相关问题

 
两个Hi3531d带PCIE的板子,一个A板,一个B板,A板做从设备,B板做主设备,验证二者之间PCIE数据通信;
1、PCIE从设备的核心板上R1867,R1868两个电阻要去掉;
2、PCIE内核和驱动操作模式:      
(1)将资料里面修改过的内核源码,拷贝到虚拟机;
(2)编译host模式的内核,clean后,按照arch/arm/configs/hi3531d_full_defconfig进行配置;make hi3531d_full_defconfig ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-
(3)进入menuconfig界面:makemenuconfig ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-,确认在 menuconfig 菜单下, 选择以下选项:
       Bus Support  --->
           
  • PCI support  --->
               
  • PCI Express support  --->
           Bus Support  --->
                
  • PCI support  --->
                
  • Hisilicon PCI Express support --->
    (4)makeuImage ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-编译内核;
    (5)进入sdk目录,osdrv/drv/pcie_mcc/目录,用下面命令编译pci-host驱动:
    makeCROSS_COMPILE=arm-hisiv500-linux- PCIE_KERNEL_MAKE=../linux-3.18.y-host VER=2SOFT_DDRT=y SLAVE_CHIP=hi3531d
    (6)编译slave模式内核,将linux-3.18.y-host内核源码拷贝一份linux-3.18.y-slave,clean后,按照arch/arm/configs/hi3531d_full_defconfig进行配置;make hi3531d_full_defconfig ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-
    (7)进入menuconfig界面:makemenuconfig ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-,在 menuconfig 菜单下, EP模式下取消选择以下选项:
           Bus Support  --->
               [] PCI support  --->
               [] PCI Express support  --->
           Bus Support  --->
                [] PCI support  --->
                [] Hisilicon PCI Express support --->
    (8)进入sdk目录,osdrv/drv/pcie_mcc/目录,用下面命令编译pci-slave驱动:
    makeCROSS_COMPILE=arm-hisiv500-linux- PCIE_KERNEL_MAKE=../linux-3.18.y-slave VER=2target=slave
    (9)在uboot中,按照tftp的模式将主从模式的内核分别烧写到spi flash中;
    (10)将host模式的pcie驱动上传到host板子,
                                 
    Host模式板子的自动启动文件如下配置:

    (11)将slave模式的pcie驱动上传到slave板子,

    slave模式板子的自动启动文件如下配置:

    (12)slave板子先启动,然后再启动host板子,然后在slave板子上再手动加载
    insmodhi3531d_pciv_fmw.ko
    insmod hi3531d_pciv.ko
    两个驱动;
    (13)现在在加载slave板子的pciv驱动报错:

    帮我看一下是什么问题;

  • 我来回答
    回答8个
    时间排序
    认可量排序

    goodman

    4个粉丝

    30

    问答

    18

    专栏

    17

    资料

    goodman 2018-12-06 12:13:58
    认可0
    PCIE级联相对比较复杂,有参考 PCIE级联应用指南.pdf里面的步骤吗?

    goodman

    4个粉丝

    30

    问答

    18

    专栏

    17

    资料

    goodman 2018-12-06 16:43:55
    认可0
    这个不好说,一般来说按照海思给你的固件来实测,硬件没有问题的话都是可以的

    小宾

    0个粉丝

    2

    问答

    0

    专栏

    0

    资料

    小宾 2018-12-06 13:38:02
    认可0
    就是参考那个里面来做的

    小宾

    0个粉丝

    2

    问答

    0

    专栏

    0

    资料

    小宾 2018-12-06 13:52:44
    认可0
    现在是主设备的hi3531d_pciv.ko能正常加载,从设备的这个驱动不能正常加载,pcie相关的底层驱动和消息驱动都能正常加载

    小宾

    0个粉丝

    2

    问答

    0

    专栏

    0

    资料

    小宾 2018-12-06 14:33:32
    认可0
    看错了,3531d的pcie级联不支持使用pciv的驱动,应该使用mpp/sample/pciv里面的程序分别在主片和从片上运行,但是主从片的pcie握手不能正常通过是什么问题?v

    qn1575269402

    0个粉丝

    1

    问答

    0

    专栏

    0

    资料

    qn1575269402 2020-08-20 14:23:50
    认可0
    你好,我想问一下那个PCIE底层驱动是怎么编译的,我编译底层驱动为什么会有警告,然后未定义呢

    小宾

    0个粉丝

    2

    问答

    0

    专栏

    0

    资料

    小宾 2020-12-08 15:52:11
    认可0
    [quote][url=forum.php?mod=redirect&goto=findpost&pid=161866&ptid=54325]qn1575269402 发表于 2020-8-20 14:23[/url]
    你好,我想问一下那个PCIE底层驱动是怎么编译的,我编译底层驱动为什么会有警告,然后未定义呢[/quote]

    我后来没有搞通,后来就没再弄了
    姚宇姚宇a
    姚宇姚宇a   回复   小宾  2021-12-10 11:20:23
    0

    你好,请问怎样改编译内核时选择ep或rc模式

    或将文件直接拖到这里
    悬赏:
    E币
    网盘
    * 网盘链接:
    * 提取码:
    悬赏:
    E币

    Markdown 语法

    • 加粗**内容**
    • 斜体*内容*
    • 删除线~~内容~~
    • 引用> 引用内容
    • 代码`代码`
    • 代码块```编程语言↵代码```
    • 链接[链接标题](url)
    • 无序列表- 内容
    • 有序列表1. 内容
    • 缩进内容
    • 图片![alt](url)
    + 添加网盘链接/附件

    Markdown 语法

    • 加粗**内容**
    • 斜体*内容*
    • 删除线~~内容~~
    • 引用> 引用内容
    • 代码`代码`
    • 代码块```编程语言↵代码```
    • 链接[链接标题](url)
    • 无序列表- 内容
    • 有序列表1. 内容
    • 缩进内容
    • 图片![alt](url)
    相关问答
    无更多相似问答 去提问
    举报反馈

    举报类型

    • 内容涉黄/赌/毒
    • 内容侵权/抄袭
    • 政治相关
    • 涉嫌广告
    • 侮辱谩骂
    • 其他

    详细说明

    易百纳技术社区