This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3359:AM3359的 EDMA 接口

Guru**** 2546920 points
Other Parts Discussed in Thread: AM3359, AM3352, TPS65910

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/747610/linux-am3359-edma-interface-of-am3359

器件型号:AM3359
主题中讨论的其他器件: AM3352TPS65910

工具/软件:Linux

您好、先生、

在我的定制板中、我们通过连接以下处理器引脚在 AM3359处理器和 FPGA 之间使用 EDMA 接口:

GPMC_AD0、GPMC_AD1、GPMC_AD2、GPMC_AD3、GPMC_AD4、 GPMC_AD5、GPMC_AD6、GPMC_AD7、GPMC_oen_Ren、GPMC_ADVn_ALE 和 GPMC_BEn0_CLE。

我必须将此 EDMA 接口的吞吐量告知我的终端用户。

为此、我必须对.dts 文件进行哪些更改以及如何测试此接口?

如果可能、请提供测试此 EDMA 接口的代码。

谢谢、此致

Vamsi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    这是 GPMC 接口。 其性能完全取决于您选择的配置和时序。 我将通知软件团队其他意见。 请发布您使用的 Linux 版本。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Linux 版本:TI-processor-SDK-Linux-AM335x-EVM-05.00.15

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vamsi、

    请参阅此帖子以了解良好的概述:

    https://e2e.ti.com/support/processors/f/791/p/537769/1959708

    您需要在 DTS 中添加一个具有适当信息的 GPMC 节点、并且需要正确地对引脚进行引脚多路复用。

    TI 为 AM3、AM4和 AM5产品提供的 DTS 文件中的 NAND 和 NOR 示例应作为良好的参考。

    下面是另一篇文章、介绍了如何计算对您有用的带宽:

    https://e2e.ti.com/support/processors/f/791/t/742225?tisearch=e2e-sitesearch&keymatch=fpga

    感谢您发帖。 我希望这些信息对您有所帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    要激活 EDMA、这是我们在 AM335x-evmsk.dts 中添加的引脚多路复用器 


    EDMA_PINS:EDMA_PINS{ pinctrl-single、pins =< AM33XX_IOPAD (0x800、PIN_INPUT_PULLUP | MUX_MODE7) /* GPMC_ad0.mmc1_data0 */ AM33XX_IOPAD (0x804、PIN_INPUT_PULLUP | MUX_MODE7) /* GPMC_ad1.mmc1_data1 */ AM33XX_IOPAD (0x808、PIN_INPUT_PULLUP | MUX_MODE7) /* GPMC_ad2.mmc1_data2 */ AM33XX_IOPAD (0x80c、PIN_INPUT_PULLUP | MUX_MODE7) /* GPMC_ad3.mmc1_data3 */ AM33XX_IOPAD (0x810、PIN_OUTPUT 下拉| MUX_MODE7) /* GPMC_AD4.GPIO1_4 */ AM33XX_IOPAD (0x814、PIN_OUTPUT 下拉| MUX_MODE7) /* GPMC_ad5.GPIO1_5 */ AM33XX_IOPAD (0x818、PIN_OUTPUT 下拉| MUX_MODE7) /* GPMC_ad6.GPIO1_6 */ AM33XX_IOPAD (0x81c、PIN_OUTPUT 下拉| MUX_MODE7) /* GPMC_AD7.GPIO1_7 */ AM33XX_IOPAD (0x894、PIN_INPUT 下拉| MUX_MODE7) /* GPMC_oen_ren。GPIO2_3 */ AM33XX_IOPAD (0x890、PIN_INPUT 下拉| MUX_MODE7) /* GPMC_advn_ale.GPIO2_2 */ AM33XX_IOPAD (0x89c、PIN_INPUT 下拉| MUX_MODE7) /* GPMC_BEN0_cle。GPIO2_5 */ >; }; EDMA {(&E) pinctrl-names ="default"; pinctrl-0 =<&EDMA_PINs>; 状态="确定"; };


    am33xx.dtsi 中的定义

    EDMA:EDMA@49000000{
             兼容="ti、edma3-tpcc";
             ti、hwmds ="tpcc";
             reg =   <0x49000000 0x10000>;
             reg-names ="EDMA3_cc";
             中断=<12 13 14>;
             中断名称="EDMA3_ccint"、"EDMA3_mperr"、
                    "edma3_cerrint";
             DMA 请求=<64>;
             dma-cells =<2>;

             TI、tptcs =<&EDMA_tptc0 7>、<&EDMA_tptc1 5>、
                  <EDMA_tptc2 0>;

             TI、EDMA-memcpy 通道=<20 21>;
          };

          EDMA_tptc0:tptc@49800000{
             兼容="ti、edma3-tptc";
             ti、hwmonds ="tptc0";
             REG =   <0x49800000 0x100000>;
             中断=<112>;
             中断名称="EDMA3_tcertrint";
          };

          eDMA_tptc1:tptc@49900000{
             兼容="ti、edma3-tptc";
             ti、hwmonds ="tptc1";
             REG =   <0x49900000 0x100000>;
             中断=<113>;
             中断名称="EDMA3_tcertrint";
          };

          eDMA_tptc2:tptc@49a00000{
             兼容="ti、edma3-tptc";
             ti、hwmonds ="tptc2";
             REG =   <0x49a00000 0x100000>;
             中断=<114>;
             中断名称="EDMA3_tcertrint";
          };

    我们对其进行了编译、并将 AM335x-evmsk.dTB 复制到存储卡中。

    引导时的控制台输出:

     

    U-Boot 2018.01-00228-g4579b13-脏 污(2018年11月06日- 14:28:10 +0530)

    CPU :AM335X-GP 修订版2.1
    型号:TI AM335x EVM
    DRAM: 256 MIB
    NAND: 0 MIB
    MMC:  OMAP SD/MMC:0
    ***警告- CRC 错误,使用默认环境

    未设置。 验证第一个电子保险丝 MAC
    NET:  cpsw、USB_ether
    按任意键停止自动引导: 0
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    **无法读取文件 boot.scr **
    **无法读取文件 uEnv.txt **
    切换到分区#0,确定
    mmc0是当前器件
    正在扫描 MMC 0:1...
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    在347 ms (10.6 MIB/s)内读取3842560字节
    在17ms (2.1 MIB/s)内读取36896个字节
    ###展开的设备树 blob、88000000
      使用0x88000000处的 FDT blob 进行引导
      正在将设备树加载到8df01000,结束8df0d01f... 好的

    正在启动内核...

    [0.000000]   在物理 CPU 0x0上引导 Linux
    [0.000000]   Linux 版本4.14.40-g4796173fc5 (sbr@sbr-Lenovo-B50-80)(gcc 版本7.2.1 20171011 (Linaro GCC 7.2-2017.11))#1抢先于11月20日10:30:32 IST 2018
    [0.000000]   CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c5387d
    [0.000000]   CPU:PIPT/VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存
    [0.0000]   、共个:FDT:机器模型:TI AM335x EVM-SK
    [0.000000]   内存策略:数据高速缓存写回
    [0.000000]   EFI:从 FDT 获取 EFI 参数:
    [0.000000]   EFI:未找到 UEFI。
    [0.000000]   CMA:保留0x8a800000处的48 MIB
    [0.000000]   CPU:所有 CPU 均在 SVC 模式下启动。
    [0.000000]   AM335X ES2.1 (SGX NEON)
    [0.000000]   在上构建了1个区域列表、移动分组。  总页数:64960
    [0.000000]   内核命令行:console=ttyO0、115200n8 root=PARTUUID =000be7a8-02 RW rootfstype=ext4 rootwait
    [0.000000]   PID 哈希表条目:1024 (顺序:0、4096字节)
    [0.000000]   条目高速缓存散列表条目:32768 (顺序:5、131072字节)
    [0.000000]   inode 高速缓存散列表条目:16384 (顺序:4、65536字节)
    [0.000000]   内存:197276K/262144K 可用(8192K 内核代码、318K RWDATA、2428K rodata、1024K init、275K BSS、 15716K 保留、49152K CMA 保留、0K HIGHMEM)
    [0.000000]   虚拟内核内存布局:
    [0.000000]       矢量 :0xff0000-0xff1000  (4KB)   
    [0.000000]       fixmap :0xc00000 - 0xc00000  (3072 KB)
    [0.000000]       vmalloc:0xd0800000 - 0x0x800000  (752MB)
    [0.000000]       低内存 :0xC0000000 - 0xd0000000  (256 MB)
    [0.000000]       pkmap  :bbfe00000 - 0xC0000000  (  2 MB)
    [0.000000]       模块:bbf000000 - bbbfe00000  ( 14 MB)
    [0.000000]         .text:0xc0008000 - 0xc0900000  (9184 KB)
    [0.000000]         .init:0xc0c00000 - 0xc0d00000  (1024KB)
    [0.000000]         .data:0xc0d00000 - 0xc0d4fb08  (319 KB)
    [0.000000]          .bss:0xc0d4fb08 - 0xc0d948bc  (276 KB)
    [0.000000]   slub:HWalign=64、order=0-3、MinObjects=0、CPU=1、Nodes=1
    [0.000000]   可抢占的分层 RCU 实现。
    [0.000000]    启用了 RCU 任务。
    [0.000000]   NR_IRQ:16、nr_IRQ:16、预分配 IRQ:16
    [0.000000]   IRQ:在0xfa200000 (修订版5.0)处找到具有128个中断的 INTC
    [0.000000]   OMAP 时钟事件源:timer2为24000000 Hz
    [0.000017]   sched_clock:24MHz 时为32位、分辨率为41ns、每89478484971ns 换行一次
    [0.000042]   时钟源:Timer1:屏蔽:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:79635851949 ns
    [0.000056]   OMAP 时钟源:Timer1为24000000 Hz
    [0.000273]   TIMER_PROBE:未找到匹配的定时器
    [0.000519]   控制台:彩色虚拟设备80x30
    [0.000553]   警告:您的'console=ttyO0'已被'ttyS0'替代
    [0.000562]   这可以确保您仍然看到内核消息。 请
    [0.000570]   更新您的内核命令行。
    [0.000605]   正在校准延迟环路... 597.60茂物剪(lpj=2988032)
    [0.118761]   pid_max:默认值:32768最小值:301
    [0.118997]   安装高速缓存散列表条目:1024 (顺序:0、4096字节)
    [0.119016]   mountpoint-cache 哈希表条目:1024 (顺序:0、4096字节)
    [0.119944]   CPU:测试写入缓冲区一致性:好的
    [0.120757]   为0x80100000 - 0x80100060设置静态标识映射
    [0.120943]   分层 SRCU 实现。
    [0.121360]   EFI 服务将不可用。
    [0.123124]   devtmpfs:已初始化
    [0.133547]   random:从 buck_table_alloc+0x8c/0x1ac 调用 get_random_u32、crng_init=0
    [0.134069]   VFP 支持 v0.3:实施方41架构3第30部分版本 c 修订版3
    [0.134424]   时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns
    [0.134453]   futex 散列表条目:256 (顺序:-1、3072字节)
    [0.138634]   pinctrl 内核:已初始化 pinctrl 子系统
    [0.13963]   DMI not present or invalid (DMI 不存在或无效)。
    [0.140154]   NET:注册协议系列16.
    [0.142894]   DMA:为原子相干分配预分配256 K2B 池
    [0.160837]   omap_hwmod:debugss:_wait_target_disable 失败
    [0.215399]   空闲:使用调节梯
    [0.215443]   空闲:使用调速器菜单
    [0.221115]   OMAP GPIO 硬件版本0.1
    [0.234634]   没有 ATAG?
    [0.236455]   硬件断点:不支持调试架构0x4。
    [0.246256]   EDMA 49000000.EDMA:找不到节点/ocp/l4_wkup@44c00000/SCM@210000/ pinmux@800/EDMA_pins 的 pctldev,推迟探针
    [0.247167]   reg-fixed-voltage fixedregulator2:找不到节点/ocp/l4_wkup@44c00000/SCM@210000/ pinmux@800/pinmux_wl12xx_gpio 的 pctldev,延迟探针
    [0.250921]   OMAP-i2c 44e0b000。i2c:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/ pinmux@800/pinmux_i2c0_pins 的 pctldev、延迟探针
    [0.251105]   介质:Linux 介质接口:v0.10
    [0.251163]   Linux 视频捕捉接口:v2.00
    [0.251307]   pps_core:LinuxPPS API 版本。 1已注册
    [0.251320]   pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti
    [0.251350]   PTP 时钟支持已注册
    [0.251394]   EDAC MC:版本:3.0.0
    [0.251922]   DMI:固件注册失败。
    [0.252392]   OMAP-mailbox 480c8000.mailbox:OMAP mailbox 修订版0x400
    [0.252808]   高级 Linux 声音架构驱动程序已初始化。
    [0.254163]   时钟源:切换到时钟源 Timer1
    [0.265280]   NET:注册协议系列2.
    [0.266168]   TCP 建立哈希表条目:2048 (顺序:1、8192字节)
    [0.266212]   TCP 绑定哈希表条目:2048 (顺序:1、8192字节)
    [0.266249]   TCP:已配置哈希表(建立2048 BIND 2048)
    [0.266363]   UDP 哈希表条目:256 (顺序:0、4096字节)
    [0.266391]   UP-Lite 哈希表条目:256 (顺序:0、4096字节)
    [0.266571]   NET:注册协议系列1.
    [0.267076]   RPC:注册后命名的 UNIX 套接字传输模块。
    [0.267094]   RPC:注册的 UDP 传输模块。
    [0.267103]   RPC:注册的 TCP 传输模块。
    [0.267112]   RPC:注册的 TCP NFSv4 4.1反向通道传输模块。
    [0.268182]   硬件执行事件:/PMU 没有中断关联属性,猜测。
    [0.268320]   硬件性能事件:通过 armv7_cortex_A8 PMU 驱动器启用、提供5个计数器
    [0.270130]   工作集:TIMESTAMP_BITS =14 max_order=16 bucke_order=2
    [0.275831]   squashfs:版本4.0 (2009/01/31) Phillip Lougher
    [0.276726]   NFS:注册 id_resolver 密钥类型
    [0.276782]   注册了密钥类型 id_resolver
    [0.276793]   注册了密钥类型 id_legacy
    [0.276848]   NTFS:驱动程序2.1.32 [Flags:R/O]。
    [0.279296]   Block layer SCSI generic (BSG) driver version 0.4 loaded (Major 245)(已加载块层 SCSI 通用(BSG)驱动程序版本0.4 (主要245)
    [0.279321]   已注册 IO 调度程序 NOP
    [0.27933]   已登记 IO 调度程序的截止日期
    [0.279306]   注册的 IO 调度程序 cfq (默认)
    [0.279621]   已注册 IO 调度程序 MQ-Deadline
    [0.279631]   已注册 IO 调度程序 kyber
    [0.281363]   pinctrl-single 44e10800.pinmux:142引脚、PA f9e10800大小568
    [0.347804]   串行:8250/16550驱动程序,10个端口,禁用 IRQ 共享
    [0.351545]   44e09000.serial: tmio 0x44e09000处的 ttyS0 (IRQ = 30、base_baud = 3000000)是8250
    [0.988576]   控制台[ttyS0]已启用
    [0.993311]   48022000.serial: tmio 0x48022000处的 ttyS1 (IRQ = 31、base_baud = 3000000)是8250
    [1.003293]   在 MMIO 0x48024000 (IRQ = 32、base_baud = 3000000)上的48024000.serial: ttyS2是8250
    [1.014418]   omap_rng 48310010.rng:随机数生成器版本 20.
    [   1.022770]、共个图:/ocp/lcdc@4830e000中未找到端口节点
    [1.029097]   、共个图:/ocp/lcdc@4830e000中未找到端口节点
    [   1.035586]、共:图:/ocp/lcdc@4830e000中未找到端口节点
    [1.041552]   tilcdc 4830e000.lcdc:未找到编码器/连接器
    [1.059469]   返修:模块已加载
    [1.070891]   循环:模块已加载
    [1.076990]   SPI spi0.0:不对 McSPI 使用 DMA (-517)
    [1.083134]   SPI spi1.0:不对 McSPI 使用 DMA (-517)
    [1.08665]   libphy:固定 MDIO 总线:探测
    [1.164263]   DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版本1.6、总线频率1000000
    [1.171972]   DaVinci_MDIO 4a101000.MDIO:检测到的 phy 掩码 ffffffde
    [1.180356]   libphy: 4a101000.mdio:探测
    [1.184521]   DaVinci_MDIO 4a101000.MDIO:PHY[0]:器件4a101000.MDIO:00、驱动程序 TI DP83867
    [1.192830]   DaVinci_MDIO 4a101000.MDIO:PHY[5]:器件4a101000.MDIO:05、驱动程序 TI DP83867
    [1.202218]   cpsw 4a100000.以太网:检测到的 MACID = 2c:6B:7d:4a:80:F6
    [1.209125]   cpsw 4a100000.ethernet:初始化 cpsw ale 版本1.4
    [1.215592]   cpsw 4a100000以太网:ALE 表大小1024
    [1.220896]   cpsw 4a100000.以太网:CPT:溢出检查周期500 (jiffies)
    [1.229128]   cpsw 4a100000.以太网:cpsw:检测到的 MACID = 2c:6B:7d:4a:80:F8
    [1.237793]   i2c /dev/entries 驱动程序
    [1.241834]   IR NEC 协议处理程序已初始化
    [1.246470]   已初始化 IR RC5 (x/SZ)协议处理程序
    [1.251549]   已初始化 IR RC6协议处理程序
    [1.256121]   已初始化 IR JVC 协议处理程序
    [1.260671]   IR Sony 协议处理程序已初始化
    [1.265327]   IR Sanyo 协议处理程序已初始化
    [1.270052]   IR Sharp 协议处理程序已初始化
    [1.274793]   IR MCE 键盘/鼠标协议处理程序已初始化
    [1.280652]   已初始化 IR XMP 协议处理程序
    [1.287330]   cputidle: enable-method 属性'ti、am3352'找到操作
    [1.294605]   sdhci:安全数字主机控制器接口驱动程序
    [1.300818]   sdhci:版权所有(c) Pierre Osman
    [1.305917]   omap_hmc 48060000.mmc:获得 CD GPIO
    [1.310946]   OMAP-Hsmmc 48060000.MMC:RX DMA 通道请求失败
    [1.317669]   sddhci-pltfm:SDHCI 平台和驱动程序助手
    [1.324240]   ledtrig-CPU:已注册以指示 CPU 上的活动
    [1.334358]   NET:注册协议系列10.
    [1.340603]   采用 IPv6的段路由
    [1.344540]   SIT:IPv6、IPv4和基于 IPv4隧道的 MPLS 驱动程序
    [1.351324]   NET:注册协议系列17.
    [1.356245]   注册的密钥类型 DNS_旋 变传感器
    [1.360798]   OMAP-VOLTGE_LARD_INIT:未添加电压驱动器支持
    [1.379421]   EDMA 49000000.EDMA:TI EDMA DMA 引擎驱动程序
    [1.414408]   tps65910 0-002D:无中断支持、无内核 IRQ
    [1.422496]   vrtc:由 VBAT 供电
    [1.429841]   VIO:由 VBAT 供电
    [1.434802]   vdd1:由 VBAT 供电
    [1.440167]   vdd2:由 VBAT 供电
    [1.446840]   随机:快速初始化完成
    [1.450463]   vdig1:由 VBAT 供电
    [1.455502]   vdig2:由 VBAT 供电
    [1.460494]   Vpll:由 VBAT 供电
    [1.465399]   vdac:由 VBAT 供电
    [1.470302]   vaux1:由 VBAT 供电
    [1.475298]   vaux2:由 VBAT 供电
    [1.480291]   vaux33:由 VBAT 供电
    [1.485374]   VMMC:由 VBAT 供电
    [1.490279]   VBB:由 VBAT 供电
    [1.495479]   omap_i2c 44e0b000。i2c:400kHz 时的总线0版本0.11
    [1.503219]   hctosys:无法打开 RTC 设备(rtc0)
    [1.509184]   lis3_reg:正在禁用
    [1.512352]   vwl1271:正在禁用
    [1.515714]   ALSA 器件列表:
    [1.518699]     未找到声卡。
    [1.522812]   正在等待根设备 PARTUUUUID=000be7a8-02...


    它卡在这里。 再也不会来了。 请建议我进行一些更改。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    要激活 EDMA、这是我们在 AM335x-evmsk.dts 中添加的引脚多路复用器

    EDMA_PINS:EDMA_PINS{
    pinctrl-single、pins =<
    AM33XX_IOPAD (0x800、PIN_INPUT_PULLUP | MUX_MODE7) /* GPMC_ad0.mmc1_data0 */
    AM33XX_IOPAD (0x804、PIN_INPUT_PULLUP | MUX_MODE7) /* GPMC_ad1.mmc1_data1 */
    AM33XX_IOPAD (0x808、PIN_INPUT_PULLUP | MUX_MODE7) /* GPMC_ad2.mmc1_data2 */
    AM33XX_IOPAD (0x80c、PIN_INPUT_PULLUP | MUX_MODE7) /* GPMC_ad3.mmc1_data3 */
    AM33XX_IOPAD (0x810、PIN_OUTPUT 下拉| MUX_MODE7) /* GPMC_AD4.GPIO1_4 */
    AM33XX_IOPAD (0x814、PIN_OUTPUT 下拉| MUX_MODE7) /* GPMC_ad5.GPIO1_5 */
    AM33XX_IOPAD (0x818、PIN_OUTPUT 下拉| MUX_MODE7) /* GPMC_ad6.GPIO1_6 */
    AM33XX_IOPAD (0x81c、PIN_OUTPUT 下拉| MUX_MODE7) /* GPMC_AD7.GPIO1_7 */
    AM33XX_IOPAD (0x894、PIN_INPUT 下拉| MUX_MODE7) /* GPMC_oen_ren。GPIO2_3 */
    AM33XX_IOPAD (0x890、PIN_INPUT 下拉| MUX_MODE7) /* GPMC_advn_ale.GPIO2_2 */
    AM33XX_IOPAD (0x89c、PIN_INPUT 下拉| MUX_MODE7) /* GPMC_BEN0_cle。GPIO2_5 */
    >;
    };


    EDMA (&E)

    pinctrl-names ="default";
    pinctrl-0 =<&EDMA_PINs>;
    状态="正常";
    };



    am33xx.dtsi 中的定义

    EDMA:EDMA@49000000{
    兼容="ti、edma3-tpcc";
    ti、hwmds ="tpcc";
    reg =<0x49000000 0x10000>;
    reg-names ="EDMA3_cc";
    中断=<12 13 14>;
    中断名称="EDMA3_ccint"、"EDMA3_mperr"、
    "edma3_cerrint";
    DMA 请求=<64>;
    dma-cells =<2>;

    TI、tptcs =<&EDMA_tptc0 7>、<&EDMA_tptc1 5>、
    <EDMA_tptc2 0>;

    TI、EDMA-memcpy 通道=<20 21>;
    };

    EDMA_tptc0:tptc@49800000{
    兼容="ti、edma3-tptc";
    ti、hwmonds ="tptc0";
    REG =<0x49800000 0x100000>;
    中断=<112>;
    中断名称="EDMA3_tcertrint";
    };

    eDMA_tptc1:tptc@49900000{
    兼容="ti、edma3-tptc";
    ti、hwmonds ="tptc1";
    REG =<0x49900000 0x100000>;
    中断=<113>;
    中断名称="EDMA3_tcertrint";
    };

    eDMA_tptc2:tptc@49a00000{
    兼容="ti、edma3-tptc";
    ti、hwmonds ="tptc2";
    REG =<0x49a00000 0x100000>;
    中断=<114>;
    中断名称="EDMA3_tcertrint";
    };


    我们对其进行了编译、并将 AM335x-evmsk.dTB 复制到存储卡中。


    引导时的控制台输出:

    U-Boot 2018.01-00228-g4579b13-脏 污(2018年11月06日- 14:28:10 +0530)

    CPU:AM335X-GP 修订版2.1
    型号:TI AM335x EVM
    DRAM:256 MIB
    NAND:0 MIB
    MMC:OMAP SD/MMC:0
    ***警告- CRC 错误,使用默认环境

    未设置。 验证第一个电子保险丝 MAC
    NET:cpsw、USB_ether
    按任意键停止自动引导:0
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    **无法读取文件 boot.scr **
    **无法读取文件 uEnv.txt **
    切换到分区#0,确定
    mmc0是当前器件
    正在扫描 MMC 0:1...
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    在347 ms (10.6 MIB/s)内读取3842560字节
    在17ms (2.1 MIB/s)内读取36896个字节
    ###展开的设备树 blob、88000000
    使用0x88000000处的 FDT blob 进行引导
    正在将设备树加载到8df01000,结束8df0d01f... 好的

    正在启动内核...

    [0.000000]在物理 CPU 0x0上引导 Linux
    [0.000000] Linux 版本4.14.40-g4796173fc5 (sbr@sbr-Lenovo-B50-80)(gcc 版本7.2.1 20171011 (Linaro GCC 7.2-2017.11))#1抢先于11月20日10:30:32 IST 2018
    [0.000000] CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c5387d
    [0.000000] CPU:PIPT/VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存
    [0.0000]、共个:FDT:机器模型:TI AM335x EVM-SK
    [0.000000]内存策略:数据高速缓存写回
    [0.000000] EFI:从 FDT 获取 EFI 参数:
    [0.000000] EFI:未找到 UEFI。
    [0.000000] CMA:保留0x8a800000处的48 MIB
    [0.000000] CPU:所有 CPU 均在 SVC 模式下启动。
    [0.000000] AM335X ES2.1 (SGX NEON)
    [0.000000]在上构建了1个区域列表、移动分组。 总页数:64960
    [0.000000]内核命令行:console=ttyO0、115200n8 root=PARTUUID =000be7a8-02 RW rootfstype=ext4 rootwait
    [0.000000] PID 哈希表条目:1024 (顺序:0、4096字节)
    [0.000000]条目高速缓存散列表条目:32768 (顺序:5、131072字节)
    [0.000000] inode 高速缓存散列表条目:16384 (顺序:4、65536字节)
    [0.000000]内存:197276K/262144K 可用(8192K 内核代码、318K RWDATA、2428K rodata、1024K init、275K BSS、 15716K 保留、49152K CMA 保留、0K HIGHMEM)
    [0.000000]虚拟内核内存布局:
    [0.000000] 向量:0xff0000-0xff1000 (4KB)
    [0.000000] Fixmap:0xc00000 - 0xc00000 (3072 KB)
    [0.000000] vmalloc:0xd0800000 - 0x0x800000 (752MB)
    [0.000000] 低内存:0xC0000000 - 0xd0000000 (256 MB)
    [0.000000] pkmap:bfe00000 - 0xC0000000 (2 MB)
    [0.000000] 模块:bbf000000 - bbfe00000 (14 MB)
    [0.000000] .text:0xc0008000 - 0xc0900000 (9184 KB)
    [0.000000] 初始化:0xc0c00000 - 0xc0d00000 (1024KB)
    [0.000000] .data:0xc0d00000 - 0xc0d4fb08 (319KB)
    [0.000000] .bss:0xc0d4fb08 - 0xc0d948bc (276 KB)
    [0.000000] slub:HWalign=64、order=0-3、MinObjects=0、CPU=1、Nodes=1
    [0.000000]可抢占的分层 RCU 实现。
    [0.000000]启用了 RCU 任务。
    [0.000000] NR_IRQ:16、nr_IRQ:16、预分配 IRQ:16
    [0.000000] IRQ:在0xfa200000 (修订版5.0)处找到具有128个中断的 INTC
    [0.000000] OMAP 时钟事件源:timer2为24000000 Hz
    [0.000017] sched_clock:24MHz 时为32位、分辨率为41ns、每89478484971ns 换行一次
    [0.000042]时钟源:Timer1:屏蔽:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:79635851949 ns
    [0.000056] OMAP 时钟源:Timer1为24000000 Hz
    [0.000273] TIMER_PROBE:未找到匹配的定时器
    [0.000519]控制台:彩色虚拟设备80x30
    [0.000553]警告:您的'console=ttyO0'已被'ttyS0'替代
    [0.000562]这可以确保您仍然看到内核消息。 请
    [0.000570]更新您的内核命令行。
    [0.000605]正在校准延迟环路... 597.60茂物剪(lpj=2988032)
    [0.118761] pid_max:默认值:32768最小值:301
    [0.118997]安装高速缓存散列表条目:1024 (顺序:0、4096字节)
    [0.119016] mountpoint-cache 哈希表条目:1024 (顺序:0、4096字节)
    [0.119944] CPU:测试写入缓冲区一致性:好的
    [0.120757]为0x80100000 - 0x80100060设置静态标识映射
    [0.120943]分层 SRCU 实现。
    [0.121360] EFI 服务将不可用。
    [0.123124] devtmpfs:已初始化
    [0.133547] random:从 buck_table_alloc+0x8c/0x1ac 调用 get_random_u32、crng_init=0
    [0.134069] VFP 支持 v0.3:实施方41架构3第30部分版本 c 修订版3
    [0.134424]时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns
    [0.134453] futex 散列表条目:256 (顺序:-1、3072字节)
    [0.138634] pinctrl 内核:已初始化 pinctrl 子系统
    [0.13963] DMI not present or invalid (DMI 不存在或无效)。
    [0.140154] NET:注册协议系列16.
    [0.142894] DMA:为原子相干分配预分配256 K2B 池
    [0.160837] omap_hwmod:debugss:_wait_target_disable 失败
    [0.215399]空闲:使用调节梯
    [0.215443]空闲:使用调速器菜单
    [0.221115] OMAP GPIO 硬件版本0.1
    [0.234634]没有 ATAG?
    [0.236455]硬件断点:不支持调试架构0x4。
    [0.246256] EDMA 49000000.EDMA:找不到节点/ocp/l4_wkup@44c00000/SCM@210000/ pinmux@800/EDMA_pins 的 pctldev,推迟探针
    [0.247167] reg-fixed-voltage fixedregulator2:找不到节点/ocp/l4_wkup@44c00000/SCM@210000/ pinmux@800/pinmux_wl12xx_gpio 的 pctldev,延迟探针
    [0.250921] OMAP-i2c 44e0b000。i2c:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/ pinmux@800/pinmux_i2c0_pins 的 pctldev、延迟探针
    [0.251105]介质:Linux 介质接口:v0.10
    [0.251163] Linux 视频捕捉接口:v2.00
    [0.251307] pps_core:LinuxPPS API 版本。 1已注册
    [0.251320] pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti
    [0.251350] PTP 时钟支持已注册
    [0.251394] EDAC MC:版本:3.0.0
    [0.251922] DMI:固件注册失败。
    [0.252392] OMAP-mailbox 480c8000.mailbox:OMAP mailbox 修订版0x400
    [0.252808]高级 Linux 声音架构驱动程序已初始化。
    [0.254163]时钟源:切换到时钟源 Timer1
    [0.265280] NET:注册协议系列2.
    [0.266168] TCP 建立哈希表条目:2048 (顺序:1、8192字节)
    [0.266212] TCP 绑定哈希表条目:2048 (顺序:1、8192字节)
    [0.266249] TCP:已配置哈希表(建立2048 BIND 2048)
    [0.266363] UDP 哈希表条目:256 (顺序:0、4096字节)
    [0.266391] UP-Lite 哈希表条目:256 (顺序:0、4096字节)
    [0.266571] NET:注册协议系列1.
    [0.267076] RPC:注册后命名的 UNIX 套接字传输模块。
    [0.267094] RPC:注册的 UDP 传输模块。
    [0.267103] RPC:注册的 TCP 传输模块。
    [0.267112] RPC:注册的 TCP NFSv4 4.1反向通道传输模块。
    [0.268182]硬件执行事件:/PMU 没有中断关联属性,猜测。
    [0.268320]硬件性能事件:通过 armv7_cortex_A8 PMU 驱动器启用、提供5个计数器
    [0.270130]工作集:TIMESTAMP_BITS =14 max_order=16 bucke_order=2
    [0.275831] squashfs:版本4.0 (2009/01/31) Phillip Lougher
    [0.276726] NFS:注册 id_resolver 密钥类型
    [0.276782]注册了密钥类型 id_resolver
    [0.276793]注册了密钥类型 id_legacy
    [0.276848] NTFS:驱动程序2.1.32 [Flags:R/O]。
    [0.279296] Block layer SCSI generic (BSG) driver version 0.4 loaded (Major 245)(已加载块层 SCSI 通用(BSG)驱动程序版本0.4 (主要245)
    [0.279321]已注册 IO 调度程序 NOP
    [0.27933]已登记 IO 调度程序的截止日期
    [0.279306]注册的 IO 调度程序 cfq (默认)
    [0.279621]已注册 IO 调度程序 MQ-Deadline
    [0.279631]已注册 IO 调度程序 kyber
    [0.281363] pinctrl-single 44e10800.pinmux:142引脚、PA f9e10800大小568
    [0.347804]串行:8250/16550驱动程序,10个端口,禁用 IRQ 共享
    [0.351545] 44e09000.serial: tmio 0x44e09000处的 ttyS0 (IRQ = 30、base_baud = 3000000)是8250
    [0.988576]控制台[ttyS0]已启用
    [0.993311] 48022000.serial: tmio 0x48022000处的 ttyS1 (IRQ = 31、base_baud = 3000000)是8250
    [1.003293]在 MMIO 0x48024000 (IRQ = 32、base_baud = 3000000)上的48024000.serial: ttyS2是8250
    [1.014418] omap_rng 48310010.rng:随机数生成器版本 20.
    [ 1.022770]、共个图:/ocp/lcdc@4830e000中未找到端口节点
    [1.029097]、共个图:/ocp/lcdc@4830e000中未找到端口节点
    [ 1.035586]、共:图:/ocp/lcdc@4830e000中未找到端口节点
    [1.041552] tilcdc 4830e000.lcdc:未找到编码器/连接器
    [1.059469]返修:模块已加载
    [1.070891]循环:模块已加载
    [1.076990] SPI spi0.0:不对 McSPI 使用 DMA (-517)
    [1.083134] SPI spi1.0:不对 McSPI 使用 DMA (-517)
    [1.08665] libphy:固定 MDIO 总线:探测
    [1.164263] DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版本1.6、总线频率1000000
    [1.171972] DaVinci_MDIO 4a101000.MDIO:检测到的 phy 掩码 ffffffde
    [1.180356] libphy: 4a101000.mdio:探测
    [1.184521] DaVinci_MDIO 4a101000.MDIO:PHY[0]:器件4a101000.MDIO:00、驱动程序 TI DP83867
    [1.192830] DaVinci_MDIO 4a101000.MDIO:PHY[5]:器件4a101000.MDIO:05、驱动程序 TI DP83867
    [1.202218] cpsw 4a100000.以太网:检测到的 MACID = 2c:6B:7d:4a:80:F6
    [1.209125] cpsw 4a100000.ethernet:初始化 cpsw ale 版本1.4
    [1.215592] cpsw 4a100000以太网:ALE 表大小1024
    [1.220896] cpsw 4a100000.以太网:CPT:溢出检查周期500 (jiffies)
    [1.229128] cpsw 4a100000.以太网:cpsw:检测到的 MACID = 2c:6B:7d:4a:80:F8
    [1.237793] i2c /dev/entries 驱动程序
    [1.241834] IR NEC 协议处理程序已初始化
    [1.246470]已初始化 IR RC5 (x/SZ)协议处理程序
    [1.251549]已初始化 IR RC6协议处理程序
    [1.256121]已初始化 IR JVC 协议处理程序
    [1.260671] IR Sony 协议处理程序已初始化
    [1.265327] IR Sanyo 协议处理程序已初始化
    [1.270052] IR Sharp 协议处理程序已初始化
    [1.274793] IR MCE 键盘/鼠标协议处理程序已初始化
    [1.280652]已初始化 IR XMP 协议处理程序
    [1.287330] cputidle: enable-method 属性'ti、am3352'找到操作
    [1.294605] sdhci:安全数字主机控制器接口驱动程序
    [1.300818] sdhci:版权所有(c) Pierre Osman
    [1.305917] omap_hmc 48060000.mmc:获得 CD GPIO
    [1.310946] OMAP-Hsmmc 48060000.MMC:RX DMA 通道请求失败
    [1.317669] sddhci-pltfm:SDHCI 平台和驱动程序助手
    [1.324240] ledtrig-CPU:已注册以指示 CPU 上的活动
    [1.334358] NET:注册协议系列10.
    [1.340603]采用 IPv6的段路由
    [1.344540] SIT:IPv6、IPv4和基于 IPv4隧道的 MPLS 驱动程序
    [1.351324] NET:注册协议系列17.
    [1.356245]注册的密钥类型 DNS_旋 变传感器
    [1.360798] OMAP-VOLTGE_LARD_INIT:未添加电压驱动器支持
    [1.379421] EDMA 49000000.EDMA:TI EDMA DMA 引擎驱动程序
    [1.414408] tps65910 0-002D:无中断支持、无内核 IRQ
    [1.422496] vrtc:由 VBAT 供电
    [1.429841] VIO:由 VBAT 供电
    [1.434802] vdd1:由 VBAT 供电
    [1.440167] vdd2:由 VBAT 供电
    [1.446840]随机:快速初始化完成
    [1.450463] vdig1:由 VBAT 供电
    [1.455502] vdig2:由 VBAT 供电
    [1.460494] Vpll:由 VBAT 供电
    [1.465399] vdac:由 VBAT 供电
    [1.470302] vaux1:由 VBAT 供电
    [1.475298] vaux2:由 VBAT 供电
    [1.480291] vaux33:由 VBAT 供电
    [1.485374] VMMC:由 VBAT 供电
    [1.490279] VBB:由 VBAT 供电
    [1.495479] omap_i2c 44e0b000。i2c:400kHz 时的总线0版本0.11
    [1.503219] hctosys:无法打开 RTC 设备(rtc0)
    [1.509184] lis3_reg:正在禁用
    [1.512352] vwl1271:正在禁用
    [1.515714] ALSA 器件列表:
    [1.518699]未找到声卡。
    [1.522812]正在等待根设备 PARTUUUUID=000be7a8-02...


    它卡在这里。 再也不会来了。 请建议我进行一些更改。

    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    现在工作正常。
    我改变了
    EDMA (&E)

    pinctrl-names ="default";
    pinctrl-0 =<&EDMA_PINs>;
    状态="正常";
    };

    更改为

    EDMA_tptc0

    pinctrl-names ="default";
    pinctrl-0 =<&EDMA_PINs>;
    状态="正常";
    };


    但是、现在我们要在电路板启动后在/opt/ltp/runtest/ddt 中测试最成熟的应用程序。

    当我们运行该测试时、它显示在控制台上的输出下方。

    root@AM335x-EVM:~# echo dma0chan0 >/sys/module/dmatest/parameters/channel
    -sh:/sys/module/dmatest/parameters/channel:没有这样的文件或目录

    请告诉我、要在/sys/module 下获取最新信息、需要执行哪些操作、因为它不存在。 我已经完成了这个。

    第1部分-如何构建测试模块

    menuconfig 包含一个可通过以下路径找到的选项:
    设备驱动程序-> DMA 引擎支持-> DMA 测试客户端

    但我无法获得它。 请帮助我构建测试模块。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否有机会查看以下内容的内核文档:

    www.kernel.org/.../dmatest.txt

    我想您会发现它非常有用。 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您看一下我上一封邮件的后半部分、我只提到了 dmatest.txt。

    我们尝试了最差的跑步。 请查找下面发布的控制台输出。

    root@AM335x-EVM:/opt/ltp/runtest/ddt。/dmatest.channel=dma0chan0 dmatest.timeout=2000 dmatest.iterations=1 dmatest.run=1

    -sh:./dmatest.channel=dma0chan0:没有这样的文件或目录
    root@AM335x-EVM:/opt/ltp/runtest/ddt dmatest.channel=dma0chan0 dmatest.timeout=2000 dmatest.iterations=1 dmatest.run=1
    -sh:未找到 dmatest.channel=dma0chan0:命令
    root@AM335x-EVM:/opt/ltp/runtest/ddt #./dmatest dmatest.channel=dma0chan0 dmatest.timeout=2000 dmatest.iterations=1 dmatest.run=1
    /dmatest:第5行:dma_s_s_perf_DMATEST_eper_channel_4096_buff:找不到命令
    /dmatest:第5行:CHECK_CONFIG_OPTIONS:找不到命令
    /dmatest:第5行:get_dma_channels.sh:找不到命令

    /dmatest:第5行:do_cmd:找不到命令
    /dmatest:第7行:dma_M_perf_DMATEST_each 通道_4096_buff 大小:找不到命令
    /dmatest:第7行:CHECK_CONFIG_OPTIONS:找不到命令
    /dmatest:第7行:get_dma_channels.sh:找不到命令

    /dmatest:第7行:do_cmd:找不到命令
    /dmatest:第9行:dma_S_perf_DMATEST_eper_channel_65536_buff:找不到命令
    /dmatest:第9行:CHECK_CONFIG_OPTIONS:找不到命令
    /dmatest:第9行:get_dma_channels.sh:找不到命令

    /dmatest:第9行:do_cmd:找不到命令
    /dmatest:第11行:dma_M_perf_DMATEST_eper_channel_65536_buff:找不到命令
    /dmatest:第11行:check_config_options:command not found
    /dmatest:第11行:get_dma_channels.sh:找不到命令

    /dmatest:第11行:do_cmd:找不到命令
    root@AM335x-EVM:/opt/ltp/runtest/ddt


    请告诉我们这里的问题是什么。


    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    无论我尝试运行什么、都是这样说的。 如何解决这个问题。

    根目录@AM335x-EVM:/opt/ltp/runtest/ddt #./EDMA
    ./EDMA:第5行:EDMA_S_FUNC_异 步:找不到命令
    ./EDMA:第6行:EDMA_M_FUNC_异 步:找不到命令
    ./EDMA:第7行:EDMA_S_FUNC_ABSYNC:找不到命令
    ./EDMA:第8行:EDMA_M_FUNC_ABSYNC:找不到命令
    root@AM335x-EVM:/opt/ltp/runtest/ddt man EDMA
    -sh:man:未找到命令
    root@AM335x-EVM:/opt/ltp/runtest/ddt EDMA -help
    -sh:EDMA:找不到命令
    root@AM335x-EVM:/opt/ltp/runtest/ddt #./i2c_check_speed
    /i2c_check_speed:第5行:找不到 I2C_S_FUNC_I2C_speed:命令
    /i2c_check_speed:第5行:check_i2c_speed.sh:找不到命令
    root@AM335x-EVM:/opt/ltp/runtest/ddt

    请帮助我删除这些错误并使其正常工作。


    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请告诉我如何编译 AM335X_StarterWare_02_00_01_01/examples/evmAM335x/EDMA/中提供的 edmaTest.c。
    我将此文件复制到我的定制板上并尝试编译。 但它不起作用。

    root@AM335x-EVM:/boot# gcc edmaTest.c
    edmaTest.c:76:10:致命错误:interrupt.h:无此类文件或目录
    #include "interrupt.h"
    ^~~~~~~~~~~~~μ A
    编译已终止。
    root@AM335x-EVM:/boot#

    请帮助生成 edmaTest.out

    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在下面的链接中找到了一些解决方案。

    e2e.ti.com/.../437599

    我已下载 AM335X_StarterWare_02_00_01_01。

    当我尝试编译 AM335X_StarterWare_02_00_01_01\examples\evmAM335x\EDMA\下面的 edmaTest.c 时、将出现以下错误
    root@AM335x-EVM:/boot# gcc edmaTest.c
    edmaTest.c:76:10:致命错误:interrupt.h:无此类文件或目录
    #include "interrupt.h"
    ^~~~~~~~~~~~~μ A
    编译已终止。
    root@AM335x-EVM:/boot#^

    然后、我在/AM335X_StarterWare_02_00_01_01/build/armv7a/gcc/AM335x/evmAM335x 中尝试了 make 命令、输出为

    make[1]:输入目录`/home/sbr/AM335X_StarterWare_02_00_01_01/build/armv7a/gcc/am335x/evmAM335x/platform
    mkdir -p 调试
    /include/hw /include/armv7a /grlib/include /nandlib/include /../../../../../third_party/fatfs/src -eabi-gcc -mcpu=cortex-A8 -mtune =cortex-A8 -March =v7-a -c -mlong-calls -fdata-SECTIONS -funsigned -ffunion-SECTIONS -Wall -I../.1/.1/././.1/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././platform/evmAM335x/dcan.c /platform/evmAM335x/eeprom.c /platform/evmAM335x/pwmss.c /platform/evmAM335x/hs_mmcsd.c /platform/evmAM335x/cpld.c /platform/evmAM335x/usb.c /platform/evmAM335x/timertick.c /platform/evmAM335x/sysperf.c /platform/evmAM335x/sysdelay.c /platform/evmAM335x/edma.c /platform/evmAM335x/uartConsole.c /platform/evmAM335x/lcd.c /platform/evmAM335x/board.c /platform/evmAM335x/rtc.c /platform/evmAM335x/mcasp.c /platform/evmAM335x/gpio.c /platform/evmAM335x/hsi2c.c /platform/evmAM335x/uart.c /norlib/include /bootloader/include /mmcsdlib/include /ipclite/include /usblib/include /include/armv7a/am335x /platform/evmAM335x/tscAdc.c /platform/evmAM335x/mcspi.c /platform/evmAM335x/nand.c /platform/evmAM335x/watchdog.c。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。/platform/evmAM335x/dmtimer.c。。。。。。。。。。。。。。。。/platform/evmAM335x/cpsw.c。。。。。。。。。。。。。。。。/platform/evmAM335x/ctlregcontext.c。
    /bin/sh:1:arm-none-eabi-gcc:未找到
    maked[1]:***[调试]错误127
    make[1]:离开目录`/home/sbr/AM335X_StarterWare_02_00_01_01/build/armv7a/gcc/am335x/evmAM335x/platform
    Make:***[All]错误2.


    请帮助我成功编译它并测试 EDMA 接口。
    供您参考、我们使用的 Linux 版本是 TI-PROCESSOR-SDK-LINUX-AM335x-EVM-05.00.15



    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在下面的链接中找到了一些解决方案。

    e2e.ti.com/.../437599

    我已下载 AM335X_StarterWare_02_00_01_01。

    当我尝试编译 AM335X_StarterWare_02_00_01_01\examples\evmAM335x\EDMA\下面的 edmaTest.c 时、将出现以下错误
    root@AM335x-EVM:/boot# gcc edmaTest.c
    edmaTest.c:76:10:致命错误:interrupt.h:无此类文件或目录
    #include "interrupt.h"
    ^~~~~~~~~~~~~μ A
    编译已终止。
    root@AM335x-EVM:/boot#^

    然后、我在/AM335X_StarterWare_02_00_01_01/build/armv7a/gcc/AM335x/evmAM335x 中尝试了 make 命令、输出为

    make[1]:输入目录`/home/sbr/AM335X_StarterWare_02_00_01_01/build/armv7a/gcc/am335x/evmAM335x/platform
    mkdir -p 调试
    /include/hw /include/armv7a /grlib/include /nandlib/include /../../../../../third_party/fatfs/src -eabi-gcc -mcpu=cortex-A8 -mtune =cortex-A8 -March =v7-a -c -mlong-calls -fdata-SECTIONS -funsigned -ffunion-SECTIONS -Wall -I../.1/.1/././.1/./././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././platform/evmAM335x/dcan.c /platform/evmAM335x/eeprom.c /platform/evmAM335x/pwmss.c /platform/evmAM335x/hs_mmcsd.c /platform/evmAM335x/cpld.c /platform/evmAM335x/usb.c /platform/evmAM335x/timertick.c /platform/evmAM335x/sysperf.c /platform/evmAM335x/sysdelay.c /platform/evmAM335x/edma.c /platform/evmAM335x/uartConsole.c /platform/evmAM335x/lcd.c /platform/evmAM335x/board.c /platform/evmAM335x/rtc.c /platform/evmAM335x/mcasp.c /platform/evmAM335x/gpio.c /platform/evmAM335x/hsi2c.c /platform/evmAM335x/uart.c /norlib/include /bootloader/include /mmcsdlib/include /ipclite/include /usblib/include /include/armv7a/am335x /platform/evmAM335x/tscAdc.c /platform/evmAM335x/mcspi.c /platform/evmAM335x/nand.c /platform/evmAM335x/watchdog.c。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。/platform/evmAM335x/dmtimer.c。。。。。。。。。。。。。。。。/platform/evmAM335x/cpsw.c。。。。。。。。。。。。。。。。/platform/evmAM335x/ctlregcontext.c。
    /bin/sh:1:arm-none-eabi-gcc:未找到
    maked[1]:***[调试]错误127
    make[1]:离开目录`/home/sbr/AM335X_StarterWare_02_00_01_01/build/armv7a/gcc/am335x/evmAM335x/platform
    Make:***[All]错误2.


    请帮助我成功编译它并测试 EDMA 接口。
    如需了解相关信息、我们使用的 Linux 版本是 ti-processor-sdk-linux-am335x-evm-05.00.15



    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、不支持 Starterware。

    对于 Linux、请尝试将 dmatest 构建为模块。 以下主题对您非常有用:

    e2e.ti.com/.../2258074

    此主题提供了有关将其用作模块以及预期内容的良好说明。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我提到过这个。 解决方案
    Cat /sys/class/dma/dma0chan0/in_use 将变为0

    我们尝试了最差的跑步。 请查找下面发布的控制台输出。

    root@AM335x-EVM:/opt/ltp/runtest/ddt。/dmatest.channel=dma0chan0 dmatest.timeout=2000 dmatest.iterations=1 dmatest.run=1

    -sh:./dmatest.channel=dma0chan0:没有这样的文件或目录
    root@AM335x-EVM:/opt/ltp/runtest/ddt dmatest.channel=dma0chan0 dmatest.timeout=2000 dmatest.iterations=1 dmatest.run=1
    -sh:未找到 dmatest.channel=dma0chan0:命令
    root@AM335x-EVM:/opt/ltp/runtest/ddt #./dmatest dmatest.channel=dma0chan0 dmatest.timeout=2000 dmatest.iterations=1 dmatest.run=1
    /dmatest:第5行:dma_s_s_perf_DMATEST_eper_channel_4096_buff:找不到命令
    /dmatest:第5行:CHECK_CONFIG_OPTIONS:找不到命令
    /dmatest:第5行:get_dma_channels.sh:找不到命令

    /dmatest:第5行:do_cmd:找不到命令
    /dmatest:第7行:dma_M_perf_DMATEST_each 通道_4096_buff 大小:找不到命令
    /dmatest:第7行:CHECK_CONFIG_OPTIONS:找不到命令
    /dmatest:第7行:get_dma_channels.sh:找不到命令

    /dmatest:第7行:do_cmd:找不到命令
    /dmatest:第9行:dma_S_perf_DMATEST_eper_channel_65536_buff:找不到命令
    /dmatest:第9行:CHECK_CONFIG_OPTIONS:找不到命令
    /dmatest:第9行:get_dma_channels.sh:找不到命令

    /dmatest:第9行:do_cmd:找不到命令
    /dmatest:第11行:dma_M_perf_DMATEST_eper_channel_65536_buff:找不到命令
    /dmatest:第11行:check_config_options:command not found
    /dmatest:第11行:get_dma_channels.sh:找不到命令

    /dmatest:第11行:do_cmd:找不到命令
    root@AM335x-EVM:/opt/ltp/runtest/ddt


    请告诉我们这里的问题是什么。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否简单地尝试:

    modprobe dmatest timeout=2000 iterations=1 run=1

    它的输出是什么?

    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    控制台输出为:
    root@AM335x-EVM:/opt/ltp/runtest/ddt modprobe dmatest timeout=2000 iterations=1 run=1
    modprobe:fatal:module dmatest not found in directory /lib/modules/4.14.40-g4796173fc5
    root@AM335x-EVM:/opt/ltp/runtest/ddt

    如果我尝试以下操作:./dmatest

    root@AM335x-EVM:/opt/ltp/runtest/ddt #./dmatest
    /dmatest:第5行:dma_s_s_perf_DMATEST_eper_channel_4096_buff:找不到命令
    /dmatest:第5行:CHECK_CONFIG_OPTIONS:找不到命令
    /dmatest:第5行:get_dma_channels.sh:找不到命令

    /dmatest:第5行:do_cmd:找不到命令
    /dmatest:第7行:dma_M_perf_DMATEST_each 通道_4096_buff 大小:找不到命令
    /dmatest:第7行:CHECK_CONFIG_OPTIONS:找不到命令
    /dmatest:第7行:get_dma_channels.sh:找不到命令

    /dmatest:第7行:do_cmd:找不到命令
    /dmatest:第9行:dma_S_perf_DMATEST_eper_channel_65536_buff:找不到命令
    /dmatest:第9行:CHECK_CONFIG_OPTIONS:找不到命令
    /dmatest:第9行:get_dma_channels.sh:找不到命令

    /dmatest:第9行:do_cmd:找不到命令
    /dmatest:第11行:dma_M_perf_DMATEST_eper_channel_65536_buff:找不到命令
    /dmatest:第11行:check_config_options:command not found
    /dmatest:第11行:get_dma_channels.sh:找不到命令

    /dmatest:第11行:do_cmd:找不到命令
    root@AM335x-EVM:/opt/ltp/runtest/ddt
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引用 USER="Vamsi Siddhani]console 输出为:
    root@AM335x-EVM:/opt/ltp/runtest/ddt modprobe dmatest timeout=2000 iterations=1 run=1
    modprobe:fatal:module dmatest not found in directory /lib/modules/4.14.40-g4796173fc5 [/quot](modprobe:致命:未在目录中找到模块 dmat

    启用 dmatest 并重建内核后、您是否在电路板上填充了新的内核映像和模块?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    已启用 Linux 内核配置文件(arch/arm/configs 中存在 tisdk_AM335x-evm_defconfig)文件夹中的 CONFIG_DMATEST=m。

    更改了 destdir=/media/sbr/rootfs
    构建 Linux
    sudo make linux-install
    (我们之前错过了上述3行(红色))
    并使用以下命令运行 dmatest:modprobe dmatest timeout=200 iterations=10000 run=1
    输出:
    root@AM335x-EVM:~# modprobe dmatest timeout=200 iterations=10000 run=1
    [585.652192] dmatest:使用 dma1chan0开始1个线程
    [585.667611] dmatest:使用 dma1chan1启动1个线程
    root@AM335x-EVM:~#[599.547727] dmatest:dma1chan1-copy0:摘要10000测试、0失败1388 IOPS 11161 kB/s (0)
    [599.559230] dmatest:dma1chan0-copy0:摘要10000测试、0失败1392 IOPS 11001kB/s (0)
     
    感谢你的帮助。
    现在、我们要开发一个自定义的 DMA 测试应用程序、该应用程序将文件或源作为用户输入、并使用 DMA 传输该文件或源、并显示其吞吐量。
    请有人帮助我完成。
    谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Vamsi Siddhan"]

    现在、我们要开发一个自定义的 DMA 测试应用程序、该应用程序将文件或源作为用户输入、并使用 DMA 传输该文件或源、并显示其吞吐量。
    请有人帮助我完成。

    [/报价]

    您必须自己编写应用程序。 请再次阅读 Ron 在此主题中的第一个响应、有一个很好的示例展示了如何访问 FPGA NAND。