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/AM3352:AM3352使用了4个 UART、但仅使用了2个 UART 输出

Guru**** 2539500 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/762161/linux-am3352-am3352-used-4-uarts-but-only-two-uarts-outputs

器件型号:AM3352

工具/软件:Linux

您好!

  在 am3352 borad 上、当写入 UART 的 FD、uart3和 uart4打印件时、我使用4个 UART (0 1 3 4)进行数据传输,、但 uart0和 uart1没有打印件。

代码如下所示:

struct termios newtiio;

guint8 ch, i;

静态常量 char g_UART_path[12][12]=

"/dev/ttyS0 "、"/dev/ttyS1 "、
"/dev/ttyS3 "、"/dev/ttyS4 "、
};

对于(ch=0;ch<4;ch++)

G_UART_FD[ch]=开路(g_UART_path[ch]、O_RDWR | O_NOCTTY | O_NONBLOCK);
if (g_UART_FD[ch]< 0)

返回 false;


bzero (newtio、sizeof (struct termios));
newtio.c_cflag = B115200 | CS8 | CREAD | CLOCAL | PARENB &(~PADD);
newtio.c_iflag = IGNPAR;
tcflush (g_UART_FD[ch]、TCIFLUSH);
tcsetattr (g_UART_FD[ch]、tcSANOW、newtio);

 char *buffer="5555555555";

while (1)

for (i=0;i<1;i++)

写入(g_UART_FD[i]、缓冲器、strlen (buffer));
睡眠(5);
printf ("%d %s \r\n"、i、buffer);

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

    您是否确定已在 DTS 条目中启用了?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    AM335x 内核可能无法打开 UART 的多个 UART。
    如果我一次打开两个 UART、当我按 Ctrl+c 关闭程序时、控制台将按如下方式打印:



    [290.915575]无法在虚拟地址00000000处处理内核 NULL 指针解除引用
    [290.923863] PgD = c0004000
    [290.926589][00000000]* PgD=00000000
    [290.930197]内部错误:Oops:17 [#1]抢占 ARM
    [290.935273]中链接的模块:
    [290.938355] CPU:0 PID:180 Comm:gminer-UART 未被污染4.14.67-gd315a9bb00 #9
    [290.945783]硬件名称:通用 AM33XX (平展设备树)
    [290.951905]任务:cf1da400 task.stack:ce07e000
    [290.956485] PC 位于 serial8250_release_dma+0x20/0x1dc
    [290.961653] LR 位于 OMAP-8250_SHUTDOWN+0x9C/0x108
    [290.96467] PC:[ ] LR:[ ] PSR:a0000013
    [290.972761] sp:ce07fb8 IP:ce07fcb8 FP:ce07fcce4
    [290.978009] R10:00000000 R9:00000008 R8:00000000
    [290.983258] r7:ce078240 R6:ce059000 R5:00000000 R4:c0d2aec0
    [290.9814] r3:c0d2aec0 r2:00000000 r1:00000001 r0:c0d858b4
    [290.996373]标志:模式 SVC_32 ISA ARM 段无时 FIQ 上的 NzCv IRQ
    [291.003542]控制:10c5387d 表:8f7ec019 DAC:00000051
    [291.009314]进程 gminer-UART (pid:180、栈限制= 0xce07e208)
    [291.015697]堆栈:(0xce07fcb8至0xce080000)
    [291.020076] fca0: ce07fc4 ce07fcc8
    [291.028299] fcc0:c0d858b4 cf2019d0 ce059000 ce078240 00000000 00000008 ce07fcfc ce07fce8
    [291.036520] fc0:c04bf178 c04ba620 c0d858b4 ce07e000 ce07fd0c ce07fd00 c04b7524 c04bf0e8
    [291.044741] fd00:ce07fd24 ce07fd10 c04b0b3c c04b7514 cf02a000 ce07e000 ce07fd3c ce07fd28
    [291.052963] FD20:c04b0bc8 c04b0b0c cf02a000 cf02a080 ce07fd5c ce07fd40 c049b294 c04b0b0b54
    [291.061185] fd40:ce059000 cf02a000 00000000 ce078240 ce07fd7c ce07fd60 c049be04 c049b20c
    [291.069406] fd60:ce059000 00000000 cf6a1010 ce078240 ce07fd8c ce07fd80 c04b382c c049bdcc
    [291.077629] fd80:ce07fdcc ce07fd90 c04921b4 c04b3810 ce07fdbc ce07fda0 c0244b74 c0173968
    [291.085850] fda0:ce078480 ce078240 ce837110 cf6a1010 cf375920 00000000 00000008 cf375920
    [291.094072] fdc0:ce07fe0c ce07fdd0 c02221ec c04920c8 00000000 ce04b8c0 ce078248
    [291.10222] fde0:ce07fdfc cf76b900 cf1da86c cf1da400 ffe000 c0d50eb0 ce078240 cf21ef40
    [291.110515] fe00:ce07fe1c ce07fe10 c02223d0 c022216c ce07fe44 ce07fe20 c0144248 c02223cc
    [291.118736] fe20:cf1da400 ce04b8c0 ce04b8c0 ce07fe50 00000000 ce04b8f4 ce07fe6c ce07fe48
    [291.126958] fe40:c012ae68 c014418c c0d1658c c0d16540 ce07fe74 0007fe60 c0844684 ce07fedc
    [291.135179] fe60:ce07fe84 ce07fe70 c012b854 c012acf0 ffe000 c0aa0738 ce07fet4 ce07fe88
    [291.143401] fe80:c0135f90 c012b818 c0d03080 2a66a02e 418004fc ce07fec8 ce07feb4 ce07ffb0
    [291.151622]特性0:b6ac6108 ce07fec8 b6ac610c fffdfc ce07e000 00000000 ce07ff8c ce07fec8
    [291.159843] fec0:c010b164 c0135de0 00000004 00000000 2a66a02e c0491c70 00000004 00000009
    [291.168064] fee0:00000000 00000000 00000000 0000c350 00000001 0000c350 00000000
    [291.176285] ff00:ce07ff7c ce07ff10 c0180878 c084d698 c0133da8 ce07ff80 ce07ff18 c0d774b8
    [291.184506] ff20:ce05ff18 00000000 d4756a8d 00000044 d474a73d 00000044 c017fb0 c0d16580
    [291.192727] ff40:00000000 00000000 cf1da400 ce07ff60 00000008 bef9e978 00000000 00000005
    [291.200948] ff60:000000a2 ffe000 c0107f04 ce07ffb0 000000a2 c0107f04 ce07e000 00000000
    [291.209170] ff80:ce07ffac ce07ff90 c010b48c c010aea0 00000000 00000005 000000a2
    [291.217391] ffa0:00000000 ce07ffb0 c0107d8c c010b3e8 bef9e978 bef9e978 00000000 00000008
    [291.225612] ffc0:00000000 00000005 000000a2 7ffff 00000000 b6b6a000 bef9e9bc
    [291.233834] ffe0:00010000 bef9e7e8 b6ac5ecc b6ac6108 40000010 bef9e978 00000000 00000000
    [291.242045]回溯:
    [291.244519][ ](serial8250_release_dma)、来自[ ](OMAP_8250_SHUTDOWN+0x9C/0x108)
    [291.253615] R9:00000008 R8:00000000 r7:ce078240 R6:ce059000 R5:cf2019d0 R4:c0d858b4
    [291.261400][ ](OMAP-8250_SHUTDOWN)从[ ](serial8250_shutdown +0x1c/0x28)
    [291.270138] R5:ce07e000 R4:c0d858b4
    [291.273738][ ](serial8250_shutdown)从[ ](UART_PORT_SHUTDOWN+0x3c/0x48)
    [291.282483][ ](UART_PORT_SHUTDOWN)从[ ](UART_TTY_PORT_SHUTDOWN+0x80/0xf0)
    [291.291482] R5:ce07e000 R4:cf02a000
    [291.295089][ ](UART_TTY_PORT_SHUTDOWN)从[ ](TTY_PORT_SHUTDOWN+0x94/0xa0)
    [291.304003] R5:cf02a080 R4:cf02a000
    [291.307602][ ](tty_port_shutdown)从[ ](tty_port_close+0x44/0x78)
    [291.315820] r7:ce078240 R6:00000000 R5:cf02a000 R4:ce059000
    [291.321511] ](tty_port_close)从[ ](UART_CLOC+0x28/0x98)
    [291.329118] r7:ce078240 R6:cf6a1010 R5:00000000 R4:ce059000
    [291.334809][ ](UART_CLOSE)从[ ](tty_release+0xf8/0x49c)
    [291.342248][ ](tty_release)从[ ](_fput + 0x8c/0x218)
    [291.349335] R10:cf375920 R9:00000008 R8:00000000 r7:cf375920 R6:cf6a1010 R5:ce837110
    [291.357199] R4:ce078240
    [291.359749][ ](__fput)从[ ](___fput + 0x10/0x14)
    [291.366486] R10:cf21ef40 R9:ce078240 R8:c0d50eb0 r7:ffe000 R6:cf1da400 R5:cf1da86c
    [291.374350] R4:cf76b900
    [291.376908][ ](___fput)、来自[ ](task_work 运行+0xc8/0xe8)
    [291.384266][ ](task_work 运行)从[ ](do_exit+0x184/0xaec)
    [291.391702] R9:ce04b8f4 R8:00000000 r7:ce07fe50 R6:ce04b8c0 R5:ce04b8c0 R4:cf1da400
    [291.399486][ ](do _exit)从[ ](do_group_exit+0x48/0xe8)
    [291.406740] r7:ce07fedc
    [291.409298][ ](do _group_exit)从[ ](GET_SIGNAL +0x1bc/0x6f0)
    [291.416989] R5:c0aa0738 R4:ffe000
    [291.420599][ ](get_signal)从[ ](DO_SIGNAL +0x2d0/0x428)
    [291.427947] R10:00000000 R9:ce07e000 R8:fffdfc r7:b6ac610c R6:ce07fec8 R5:b6ac6108
    [291.435810] R4:ce07ffb0
    [291.438364][ ](DO 信号)从[ ](do_work 挂起+b0/0xc8)
    [291.445974] R10:00000000 R9:ce07e000 R8:c0107f04 r7:000000a2 R6:ce07ffb0 R5:c0107f04
    [291.453839] R4:ffe000
    [291.456392][ ](Do_Work_Pending)、来自[ ](SLOW_work 挂起+ 0xc/0x20)
    [291.464610] r7:000000a2 r6:00000005 r5:00000000 r4:00000000
    [291.470303]代码:e5904138 e3540000 0a000044 e5945070 (e5953000)
    [291.483326]--[结束线迹9bec23ec171d21cd ]--
    [291.487990]修复递归故障、但需要重新启动!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    Linux 内核的版本是什么? 什么是软件包? 您是否可以从内核共享 DTS 和引导日志?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。

    我使用了 AM335x-EVM-05.01.00.11版本 SDK。  已附加 DTS 文件和内核 confige2e.ti.com/.../0246.dts_5F00_defconfig.zip

    [root@erCW ~]# uname -a

    Linux ERCW 4.14.67-gd315a9bb00 #9优先于 Thu Jan 3 07:31:17 PST 2019 armv7l GNU/Linux

    引导日志:

    U-Boot SPL 2018.01 (2019年1月11日- 05:17:31)

    尝试从 NAND 引导

    **设备 MMC 0 **错误

    使用默认环境

    U-Boot 2018.01 (2019年1月11日- 05:17:31 -0800)

    CPU :AM335X-GP 修订版2.1

    型号:TI AM335x EVM

    DRAM: 256 MIB

    NAND: 128 MIB

    MMC: OMAP SD/MMC:0

    **设备 MMC 0 **错误

    使用默认环境

    未设置。 验证第一个电子保险丝 MAC

    NET: Board_eth_init MII cpsw、USB_ether

    按'd'停止自动引导: 0

    正在从 nand 引导...

    NAND 读取:器件0偏移量0x80000、大小0x40000

    262144字节读取:正常

    NAND 读取:器件0偏移量0x200000、大小0x800000

    8388608字节读取:正常

    ###展开的设备树 blob、88000000

     使用0x88000000处的 FDT blob 进行引导

     正在将设备树加载到8df02000,结束8df0e4da... 好的

    正在启动内核...

    [0.000000]  在物理 CPU 0x0上引导 Linux

    [0.000000]  Linux 版本4.14.67-gd315a9bb00 (wuyuhuan@Ubuntu)(gcc 版本7.2.1 20171011 (Linaro GCC 7.2-2017.11))#9抢先于2019年1月3日07:31:17 PST 2019

    [0.000000]  CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c5387d

    [0.000000]  CPU:PIPT/VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存

    [0.0000]  、共个:FDT:机器模型:TI AM335x EVM

    [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 (NEON)

    [0.000000]  在上构建了1个区域列表、移动分组。  总页数:64960

    [0.000000]  内核命令行:console=ttyO2,115200n8 root=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048 rootfstype=ubifs rootwait=1

    [0.000000]  PID 哈希表条目:1024 (顺序:0、4096字节)

    [0.000000]  条目高速缓存散列表条目:32768 (顺序:5、131072字节)

    [0.000000]  inode 高速缓存散列表条目:16384 (顺序:4、65536字节)

    [0.000000]  内存:197272K/262144K 可用(8192K 内核代码、319K rwdata、2484K rodata、1024K init、275K BSS、 15720K 保留、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 - 0xc0d4fe48 (320 KB)

    [0.000000]      .bss:0xc0d4fe48 - 0xc0d94c0c (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.000018]  sched_clock:24MHz 时为32位、分辨率为41ns、每89478484971ns 换行一次

    [0.000046]  时钟源:Timer1:屏蔽:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:79635851949 ns

    [0.000061]  OMAP 时钟源:Timer1为24000000 Hz

    [0.000292]  timer_probe:找不到匹配的计时器

    [0.000556]  控制台:彩色虚拟设备80x30

    [0.000590]  警告:您的'console=ttyO2'已被'ttyS2'替代

    [0.000600]  这可确保您仍能看到内核消息。 请

    [0.000608]  更新内核命令行。

    [0.000645]  校准延迟环路... 597.60茂物剪(lpj=2988032)

    [0.118785]  pid_max:默认值:32768最小值:301

    [0.119030]  安装高速缓存散列表条目:1024 (顺序:0、4096字节)

    [0.119050]  mountpoint-cache 哈希表条目:1024 (顺序:0、4096字节)

    [0.120039]  CPU:测试写入缓冲区一致性:好的

    [0.120964]  为0x80100000 - 0x80100060设置静态标识映射

    [0.121167]  分层 SRCU 实现。

    [0.121621]  EFI 服务将不可用。

    [0.123438]  devtmpfs:已初始化

    [0.134380]  random:从 buck_table_alloc+0x8c/0x1ac 调用 get_random_u32、crng_init=0

    [0.134992]  VFP 支持 v0.3:实施者41架构3第30部分版本 c 修订版3

    [0.135368]  时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns

    [0.135406]  futex 散列表条目:256 (顺序:-1、3072字节)

    [0.140154]  pinctrl 内核:已初始化 pinctrl 子系统

    [0.141068]  DMI 不存在或无效。

    [0.141574]  NET:注册协议系列16.

    [0.144497]  DMA:为原子相干分配预先分配的256 KiB 池

    [0.163663]  OMAP-hwmod:debugss:_wait_target_disable 失败

    [0.218497]  空闲:使用调速器梯

    [0.218547]  空闲:使用调速器菜单

    [0.223728]  OMAP-GPIO 44e07000.GPIO:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/引脚多路复用@800/GPIO0_PINS_DEFAULT 的 pctldev、推迟探针

    [0.224187]  OMAP-GPIO 4804c000.GPIO:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/引脚多路复用@800/GPIO1_PINS_DEFAULT 的 pctldev、延迟探针

    [0.224600]  OMAP-GPIO 481ac000.GPIO:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/ pinmux@800/GPIO2_pins_default 的 pctldev、延迟探针

    [0.225001]  OMAP-GPIO 481ae000.GPIO:找不到节点/ocp/l4_wkup@44c000/SCM@210000/ pinmux@800/GPIO3_PINS_DEFAULT 的 pctldev、延迟探针

    [0.233637]  OMAP-GPMC 50000000。GPMC:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/引脚多路复用@800/nandflash_pins_s0的 pctldev、延迟探针

    [0.236956]  无 ATAG?

    [0.236975]  硬件断点:不支持调试架构0x4。

    [0.254638]  EDMA 49000000.EDMA:TI EDMA DMA 引擎驱动程序

    [0.259512]  omap_i2c 44e0b000。i2c:找不到节点/ocp/l4_wkup@44c00000/CSCM@210000/ pinmux@800/pinmux_i2c0_pins 的 pctldev、延迟探针

    [0.259721]  介质:Linux 介质接口:v0.10

    [0.259778]  Linux 视频捕捉接口:v2.00

    [0.259925]  pps_core:LinuxPPS API 版本。 1已注册

    [0.259936]  pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti

    [0.259967]  已注册 PTP 时钟支持

    [0.260012]  EDAC MC:版本:3.0.0

    [0.260598]  DMI:固件注册失败。

    [0.261150]  OMAP-MAP-MAP-MAP-MABOO邮 箱480c8000.mailbox:OMAP 邮箱修订版0x400

    [0.261632]  已初始化高级 Linux 声音架构驱动程序。

    [0.263101]  时钟源:切换到时钟源 Timer1

    [0.274190]  NET:注册协议系列2.

    [0.275155]  TCP 建立哈希表条目:2048 (顺序:1、8192字节)

    [0.275203]  TCP 绑定哈希表条目:2048 (顺序:1、8192字节)

    [0.275240]  TCP:已配置哈希表(建立2048 BIND 2048)

    [0.275181]  UDP 哈希表条目:256 (顺序:0、4096字节)

    [0.275400]  UP-Lite 哈希表条目:256 (顺序:0、4096字节)

    [0.275602]  NET:注册协议系列1.

    [0.276161]  RPC:注册后命名为 UNIX 套接字传输模块。

    [0.276182]  RPC:注册的 UDP 传输模块。

    [0.276191]  RPC:注册的 TCP 传输模块。

    [0.276200]  RPC:注册的 TCP NFSv4 4.1反向通道传输模块。

    [0.277353]  HW perfevents:没有/PMU 的中断关联属性,猜测。

    [0.277508]  硬件性能事件:通过 armv7_cortex_A8 PMU 驱动器启用、提供5个计数器

    [0.279429]  工作集:TIMESTAMP_BITS =14 max_order=16 bucke_order=2

    [0.285388]  squashfs:版本4.0 (2009/01/31) Phillip Lougher

    [0.286337]  NFS:注册 id_resolver 密钥类型

    [0.286402]  注册了钥匙类型 id_resolver

    [0.286414]  注册了密钥类型 id_legacy

    [0.286470]  NTFS:驱动程序2.1.32 [Flags:R/O]。

    [0.289131]  块层 SCSI 通用(BSG)驱动程序0.4版已加载(主要245)

    [0.289160]  已注册 IO 调度程序 NOP

    [0.289171]  已登记 IO 调度程序截止日期

    [0.289451]  注册的 IO 调度程序 cfq (默认值)

    [0.289466]  已注册 IO 调度程序 MQ-Deadline

    [0.289477]  已注册 IO 调度程序 kyber

    [0.291438]  pinctrl-single 44e10800.pinmux:142引脚、PA f9e10800大小568

    [0.295734]  PWM 背光灯:未找到使用虚拟稳压器的背光电源

    [0.362267]  串行:8250/16550驱动程序,10个端口,禁用 IRQ 共享

    [0.366488]  44e09000.serial: tmio 0x44e09000处的 ttyS0 (IRQ = 30、base_baud = 3000000)是8250

    [0.36727]  48022000.serial: tmio 0x48022000 (IRQ = 31、base_baud = 3000000)处的 ttyS1为8250

    [0.36827]  48024000.serial: tmio 0x48024000 (IRQ = 32、base_baud = 3000000)处的 ttyS2为8250

    [1.074388]  控制台[ttyS2]已启用

    [1.079145]  481a6000.serial: tmio 0x481a6000处的 ttyS3 (IRQ = 33、base_baud = 3000000)是8250

    [1.089156]  481a8000.serial: tmio 0x481a8000处的 ttyS4 (IRQ = 34、base_baud = 3000000)是8250

    [1.100354]  OMAP_rng 4831000.rng:随机数生成器版本 20.

    [  1.109008]、共:图:/ocp/lcdc@4830e000中未找到端口节点

    [  1.115398]、共:图:/ocp/lcdc@4830e000中未找到端口节点

    [  1.121890]、共个图:/ocp/lcdc@4830e000中未找到端口节点

    [1.127921]  tilcdc 4830e000.lcdc:未找到编码器/连接器

    [1.148624]  返修:模块已加载

    [1.16034]  循环:模块已加载

    [1.170203]  libphy:固定 MDIO 总线:探测

    [1.243205]  DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版本1.6、总线频率1000000

    [1.250915]  DaVinci_MDIO 4a101000.MDIO:检测到的 phy 掩码 fffffffa.

    [1.259374]  libphy: 4a101000.mdio:探测

    [1.263555]  DaVinci_MDIO 4a101000.MDIO:PHY[0]:器件4a101000.MDIO:00、驱动程序未知

    [1.271604]  DaVinci_MDIO 4a101000.MDIO:PHY[2]:器件4a101000.MDIO:02、驱动程序未知

    [1.28092]  cpsw 4a100000.以太网:检测到的 MACID = A8:1b:6a:2e:82:76

    [1.287883]  cpsw 4a100000.ethernet:初始化 cpsw ale 版本1.4

    [1.294363]  cpsw 4a100000.以太网:ALE 表大小1024

    [1.299671]  cpsw 4a100000.以太网:CPT:溢出检查周期500 (jiffies)

    [1.307991]  cpsw 4a100000.以太网:cpsw:检测到的 MACID = A8:1b:6a:2e:82:78

    [1.316797]  i2c /dev/entries 驱动程序

    [1.320917]  IR NEC 协议处理程序已初始化

    [1.325565]  已初始化 IR RC5 (x/SZ)协议处理程序

    [1.330641]  已初始化 IR RC6协议处理程序

    [1.33521]  已初始化 IR JVC 协议处理程序

    [1.339762]  IR Sony 协议处理程序已初始化

    [1.344417]  IR Sanyo 协议处理程序已初始化

    [1.349143]  IR Sharp 协议处理程序已初始化

    [1.353888]  IR MCE 键盘/鼠标协议处理程序已初始化

    [1.359745]  IR XMP 协议处理程序已初始化

    [1.366572]  cputidle: enable-method 属性'ti、am3352'找到操作

    [1.373892]  sdhci:安全数字主机控制器接口驱动程序

    [1.380108]  sdhci:版权所有(c) Pierre Osman

    [1.384975]  sddhci-pltfm:SDHCI 平台和驱动程序助手

    [1.391491]  ledtrig-CPU:已注册以指示 CPU 上的活动

    [1.403975]  NET:注册协议系列10.

    [1.410296]  采用 IPv6的段路由

    [1.414262]  SIT:IPv6、IPv4和 MPLS over IPv4隧道驱动程序

    [1.421106]  NET:注册协议系列17.

    [1.425792]  8021q:802.1Q VLAN 支持 v1.8

    [1.430289]  注册的密钥类型 DNS_旋 变传感器

    [1.434927]  OMAP_VOLTGE_LARD_INIT:未添加电压驱动器支持

    [1.448969]  OMAP GPIO 硬件版本0.1

    [1.456065]  OMAP-GPMC 50000000。GPMC:GPMC 版本6.0

    [1.461249]  GPMC_mem_init:禁用映射在0x0-0x1000000的 CS 0

    [1.469623]  nand:device found、Manufacturer ID:0xef、Chip ID:0xF1

    [1.476173]  Nand:Winbond W29N01HV

    [1.479598]  nand:128 MIB、SLC、擦除大小:128 KiB、页面大小:2048、OOB 大小:64

    [1.487349]  nand:Using OMAP-ECC_BCH8_CODE_HW ECC scheme

    [1.492827]  在 MTD 器件 OMAP2-nand.0上找到12个部件分区

    [1.498991]  在"OMAP2-nand.0"上创建12个 MTD 分区:

    [1.504451]  0x000000000000-0x000000020000:“NAND.SPL”

    [1.5109951]  0x00000002000-0x000000040000:“NAND.SPL.Backup1”

    [1.517985]  0x000000040000-0x000000060000:"NAND.SPL.Backup2"

    [1.524981]  0x000000060000-0x000000080000:“NAND.SPL.backup3”

    [1.531879]  0x000000080000-0x0000000c0000:“NAND.u-boot-spl-OS”

    [1.539052]  0x0000000c0000-0x0000001c0000:“NAND.u-boot”

    [1.545794]0x0000001c0000-0x0000001e0000  :“NAND.u-boot-env”

    [1.552600]  0x0000001e0000-0X200000:“NAND.u-boot-env.Backup1”

    [1.560231]  0x000000200000-0x000000a00000:“NAND.kernel”

    [1.568752]  0x000000a00000-0x000006e00000:“NAND.FILE-SYSTEM”

    [1.600845]  0x000006e00000-0x000007600000:"NAND.APP-CONFIG"

    [1.609655]  0x000007600000-0x000008000000:"NAND.APP-BAKUP"

    [1.620642]  i2c i2c-0:for_i2c:/ocp/i2c@44e0b000/TPS@2D 上的 MODALIAS 故障

    [1.627830]  i2c i2c-0:无法为/ocp/i2c@44e0b000/TPS@2D 创建 I2C 器件

    [1.635595]  OMAP_i2c 44e0b000。i2c:400kHz 时的总线0版本0.11

    [1.642111]  ubi0:连接 mtd9

    [1.673552]  随机:快速初始化完成

    [2.110772]  ubi0:扫描已完成

    [2.131745]  ubi0:附加的 mtd9 (名称"NAND.file-system"、大小100 mib)

    [2.138512]  ubi0:PEB 大小:131072字节(128 KiB)、LEB 大小:126976字节

    [2.145444]  ubi0:最小/最大 I/O 单元大小:2048/248、子页大小为512

    [2.152178]  ubi0:VID 标头偏移:2048 (对齐2048)、数据偏移:4096

    [2.159191]  ubi0:良好的 PEB:800、不良 PEB:0、损坏的 PEB:0

    [2.165244]  ubi0:用户卷:1,内部卷:1,最大 卷数:128

    [2.172504]  ubi0:最大/平均擦除计数器:3/0、WL 阈值:4096、图像序列编号:144143796

    [2.181610]  ubi0:可用 PEB:0、总保留 PEB:800、为不良 PEB 处理保留 PEB:20

    [2.190905]  ubi0:启动后台线程"ubi_bgt0d"、PID 45

    [2.197280]  hctosys:无法打开 RTC 器件(rtc0)

    [2.197892]  VBAT:禁用

    [2.197900]  lis3_reg:正在禁用

    [2.197905]  ALSA 器件列表:

    [2.197909]   未找到声卡。

    [2.223228]  UBIFS (ubi0:0):后台线程"ubifs_bgt0_0"已启动、PID 46

    [2.305096]  UBIFS (ubi0:0):需要恢复

    [3.786300]  UBIFS (ubi0:0):恢复已完成

    [3.790937]  UBIFS (ubi0:0):UBIFS:安装的 UBI 设备0、卷0、名称"rootfs"

    [3.799759]  UBIFS (ubi0:0):LEB 大小:126976字节(124 KiB)、最小值/最大值 I/O 单元大小:2048字节/2048字节

    [3.811422]  UBIFS (ubi0:0):FS 大小:86597632字节(82 MIB、682 LEB)、日志大小9023488字节(8 MIB、72 LEB)

    [3.823581]  UBIFS (ubi0:0):为根保留:0字节(0 KiB)

    [3.831086]  UBIFS (D50:0):媒体格式:W4/r0 (最新版本为 W5/r0)、UUID B84E0574-CC5B-4039-BBA6-0999ubiF6BEEe8、小型 LPT 模型

    [3.849512]  VFS:已在设备0:14上安装根(ubifs 文件系统)。

    [3.864473]  devtmpfs:已安装

    [3.869432]  释放未使用的内核内存:1024K

    [3.923143]  NOHZ:local_softirq_pending 202

    [3.943136]  NOHZ:local_softirq_pending 40.

    [3.973146]  NOHZ:local_softirq_pending 40.

    [4.023140]  NOHZ:local_softirq_pending 40.

    [4.073175]  NOHZ:local_softirq_pending 40.

    [4.113176]  NOHZ:local_softirq_pending 40.

    [4.143165]  NOHZ:local_softirq_pending 40.

    启动 sshd:[4.423163]  NOHZ:local_softirq_pending 40.

    [4.443155]  NOHZ:local_softirq_pending 40.

    [4.475890]  随机:sshd:未初始化 urandom 读取(32字节读取)

    [4.533143]  NOHZ:local_softirq_pending 40.

    好的

    正在启动 telnetd:确定

    启动 mdev...

    [5.2366615]  net eth0:正在初始化 cpsw 版本1.12 (0)

    [5.276864]  通用 PHY 4a101000.MDIO:00:连接的 PHY 驱动器[通用 PHY](MII_BUS:phy_addr=4a101000.MDIO:00、IRQ=POLL)

    [5.299896]  IPv6:ADDRCONF (NETDEV_UP):eth0:链路未就绪

    [5.310982]  8021q:在设备 eth0上添加 VLAN 0至硬件过滤器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我一对一,打开 UART 时、四个 UART 会正常打印。 当在前台,中运行时、"Ctrl+c"可以正常中断它。
    一次打开两个 UART 并在前台运行时、"Ctrl+c"将导致异常并打印:

    [290.915575]无法在虚拟地址00000000处处理内核 NULL 指针解除引用
    [290.923863] PgD = c0004000
    [290.926589][00000000]* PgD=00000000
    [290.930197]内部错误:Oops:17 [#1]抢占 ARM
    [290.935273]中链接的模块:
    [290.938355] CPU:0 PID:180 Comm:gminer-UART 未被污染4.14.67-gd315a9bb00 #9
    [290.945783]硬件名称:通用 AM33XX (平展设备树)
    [290.951905]任务:cf1da400 task.stack:ce07e000
    [290.956485] PC 位于 serial8250_release_dma+0x20/0x1dc
    [290.961653] LR 位于 OMAP-8250_SHUTDOWN+0x9C/0x108
    [290.96467] PC:[ ] LR:[ ] PSR:a0000013
    [290.972761] sp:ce07fb8 IP:ce07fcb8 FP:ce07fcce4
    [290.978009] R10:00000000 R9:00000008 R8:00000000
    [290.983258] r7:ce078240 R6:ce059000 R5:00000000 R4:c0d2aec0
    [290.9814] r3:c0d2aec0 r2:00000000 r1:00000001 r0:c0d858b4
    [290.996373]标志:模式 SVC_32 ISA ARM 段无时 FIQ 上的 NzCv IRQ
    [291.003542]控制:10c5387d 表:8f7ec019 DAC:00000051
    [291.009314]进程 gminer-UART (pid:180、栈限制= 0xce07e208)
    [291.015697]堆栈:(0xce07fcb8至0xce080000)
    [291.020076] fca0:ce07fc4 ce07fcc8
    [291.028299] fcc0:c0d858b4 cf2019d0 ce059000 ce078240 00000000 00000008 ce07fcfc ce07fce8
    [291.036520] fc0:c04bf178 c04ba620 c0d858b4 ce07e000 ce07fd0c ce07fd00 c04b7524 c04bf0e8
    [291.044741] fd00:ce07fd24 ce07fd10 c04b0b3c c04b7514 cf02a000 ce07e000 ce07fd3c ce07fd28
    [291.052963] FD20:c04b0bc8 c04b0b0c cf02a000 cf02a080 ce07fd5c ce07fd40 c049b294 c04b0b0b54
    [291.061185] fd40:ce059000 cf02a000 00000000 ce078240 ce07fd7c ce07fd60 c049be04 c049b20c
    [291.069406] fd60:ce059000 00000000 cf6a1010 ce078240 ce07fd8c ce07fd80 c04b382c c049bdcc
    [291.077629] fd80:ce07fdcc ce07fd90 c04921b4 c04b3810 ce07fdbc ce07fda0 c0244b74 c0173968
    [291.085850] fda0:ce078480 ce078240 ce837110 cf6a1010 cf375920 00000000 00000008 cf375920
    [291.094072] fdc0:ce07fe0c ce07fdd0 c02221ec c04920c8 00000000 ce04b8c0 ce078248
    [291.10222] fde0:ce07fdfc cf76b900 cf1da86c cf1da400 ffe000 c0d50eb0 ce078240 cf21ef40
    [291.110515] fe00:ce07fe1c ce07fe10 c02223d0 c022216c ce07fe44 ce07fe20 c0144248 c02223cc
    [291.118736] fe20:cf1da400 ce04b8c0 ce04b8c0 ce07fe50 00000000 ce04b8f4 ce07fe6c ce07fe48
    [291.126958] fe40:c012ae68 c014418c c0d1658c c0d16540 ce07fe74 0007fe60 c0844684 ce07fedc
    [291.135179] fe60:ce07fe84 ce07fe70 c012b854 c012acf0 ffe000 c0aa0738 ce07fet4 ce07fe88
    [291.143401] fe80:c0135f90 c012b818 c0d03080 2a66a02e 418004fc ce07fec8 ce07feb4 ce07ffb0
    [291.151622]特性0:b6ac6108 ce07fec8 b6ac610c fffdfc ce07e000 00000000 ce07ff8c ce07fec8
    [291.159843] fec0:c010b164 c0135de0 00000004 00000000 2a66a02e c0491c70 00000004 00000009
    [291.168064] fee0:00000000 00000000 00000000 0000c350 00000001 0000c350 00000000
    [291.176285] ff00:ce07ff7c ce07ff10 c0180878 c084d698 c0133da8 ce07ff80 ce07ff18 c0d774b8
    [291.184506] ff20:ce05ff18 00000000 d4756a8d 00000044 d474a73d 00000044 c017fb0 c0d16580
    [291.192727] ff40:00000000 00000000 cf1da400 ce07ff60 00000008 bef9e978 00000000 00000005
    [291.200948] ff60:000000a2 ffe000 c0107f04 ce07ffb0 000000a2 c0107f04 ce07e000 00000000
    [291.209170] ff80:ce07ffac ce07ff90 c010b48c c010aea0 00000000 00000005 000000a2
    [291.217391] ffa0:00000000 ce07ffb0 c0107d8c c010b3e8 bef9e978 bef9e978 00000000 00000008
    [291.225612] ffc0:00000000 00000005 000000a2 7ffff 00000000 b6b6a000 bef9e9bc
    [291.233834] ffe0:00010000 bef9e7e8 b6ac5ecc b6ac6108 40000010 bef9e978 00000000 00000000
    [291.242045]回溯:
    [291.244519][ ](serial8250_release_dma)、来自[ ](OMAP_8250_SHUTDOWN+0x9C/0x108)
    [291.253615] R9:00000008 R8:00000000 r7:ce078240 R6:ce059000 R5:cf2019d0 R4:c0d858b4
    [291.261400][ ](OMAP-8250_SHUTDOWN)从[ ](serial8250_shutdown +0x1c/0x28)
    [291.270138] R5:ce07e000 R4:c0d858b4
    [291.273738][ ](serial8250_shutdown)从[ ](UART_PORT_SHUTDOWN+0x3c/0x48)
    [291.282483][ ](UART_PORT_SHUTDOWN)从[ ](UART_TTY_PORT_SHUTDOWN+0x80/0xf0)
    [291.291482] R5:ce07e000 R4:cf02a000
    [291.295089][ ](UART_TTY_PORT_SHUTDOWN)从[ ](TTY_PORT_SHUTDOWN+0x94/0xa0)
    [291.304003] R5:cf02a080 R4:cf02a000
    [291.307602][ ](tty_port_shutdown)从[ ](tty_port_close+0x44/0x78)
    [291.315820] r7:ce078240 R6:00000000 R5:cf02a000 R4:ce059000
    [291.321511] ](tty_port_close)从[ ](UART_CLOC+0x28/0x98)
    [291.329118] r7:ce078240 R6:cf6a1010 R5:00000000 R4:ce059000
    [291.334809][ ](UART_CLOSE)从[ ](tty_release+0xf8/0x49c)
    [291.342248][ ](tty_release)从[ ](_fput + 0x8c/0x218)
    [291.349335] R10:cf375920 R9:00000008 R8:00000000 r7:cf375920 R6:cf6a1010 R5:ce837110
    [291.357199] R4:ce078240
    [291.359749][ ](__fput)从[ ](___fput + 0x10/0x14)
    [291.366486] R10:cf21ef40 R9:ce078240 R8:c0d50eb0 r7:ffe000 R6:cf1da400 R5:cf1da86c
    [291.374350] R4:cf76b900
    [291.376908][ ](___fput)、来自[ ](task_work 运行+0xc8/0xe8)
    [291.384266][ ](task_work 运行)从[ ](do_exit+0x184/0xaec)
    [291.391702] R9:ce04b8f4 R8:00000000 r7:ce07fe50 R6:ce04b8c0 R5:ce04b8c0 R4:cf1da400
    [291.399486][ ](do _exit)从[ ](do_group_exit+0x48/0xe8)
    [291.406740] r7:ce07fedc
    [291.409298][ ](do _group_exit)从[ ](GET_SIGNAL +0x1bc/0x6f0)
    [291.416989] R5:c0aa0738 R4:ffe000
    [291.420599][ ](get_signal)从[ ](DO_SIGNAL +0x2d0/0x428)
    [291.427947] R10:00000000 R9:ce07e000 R8:fffdfc r7:b6ac610c R6:ce07fec8 R5:b6ac6108
    [291.435810] R4:ce07ffb0
    [291.438364][ ](DO 信号)从[ ](do_work 挂起+b0/0xc8)
    [291.445974] R10:00000000 R9:ce07e000 R8:c0107f04 r7:000000a2 R6:ce07ffb0 R5:c0107f04
    [291.453839] R4:ffe000
    [291.456392][ ](Do_Work_Pending)、来自[ ](SLOW_work 挂起+ 0xc/0x20)
    [291.464610] r7:000000a2 r6:00000005 r5:00000000 r4:00000000
    [291.470303]代码:e5904138 e3540000 0a000044 e5945070 (e5953000)
    [291.483326]--[结束线迹9bec23ec171d21cd ]--
    [291.487990]修复递归故障、但需要重新启动!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我使用4个 UART (0 1 3 4)进行数据传输时,uart3和 uart4打印,但 uart0和 uart1没有打印。
    我发现 uart0和 uart1具有 DMA 使能。
    当启用 UART DMA 时、可能会发生问题。

    文件 am33xx.dtsi:

    uart0:串行@44e09000{
    兼容="ti、am3352-uart"、"ti、omap3-uart";
    ti、hwmods ="uart1";
    时钟频率=<48000000>;
    reg =<0x44e09000 0x2000>;
    中断=<72>;
    STATUS ="禁用";
    DMA =<&EDMA 26 0>、<&EDMA 27 0>;
    dma-names ="TX"、"Rx";
    };

    uart1:串行@48022000{
    兼容="ti、am3352-uart"、"ti、omap3-uart";
    ti、hwmods ="uart2";
    时钟频率=<48000000>;
    REG =<0x48022000 0x2000>;
    中断=<73>;
    STATUS ="禁用";
    DMA =<&EDMA 28 0>、<&EDMA 29 0>;
    dma-names ="TX"、"Rx";
    };

    uart2:串行@48024000{
    兼容="ti、am3352-uart"、"ti、omap3-uart";
    ti、hwmods ="uart3";
    时钟频率=<48000000>;
    REG =<0x48024000 0x2000>;
    中断=<74>;
    STATUS ="禁用";
    DMA =<&EDMA 30 0>、<&EDMA 31 0>;
    dma-names ="TX"、"Rx";
    };

    uart3:串行@481a6000{
    兼容="ti、am3352-uart"、"ti、omap3-uart";
    ti、hwmods ="uart4";
    时钟频率=<48000000>;
    reg =<0x481a6000 0x2000>;
    中断=<44>;
    STATUS ="禁用";
    };

    uart4:串行@481a8000{
    兼容="ti、am3352-uart"、"ti、omap3-uart";
    ti、hwmods ="uart5";
    时钟频率=<48000000>;
    reg =<0x481a8000 0x2000>;
    中断=<45>;
    STATUS ="禁用";
    };

    uart5:串行@481aa000{
    兼容="ti、am3352-uart"、"ti、omap3-uart";
    ti、hwmods ="uart6";
    时钟频率=<48000000>;
    reg =<0x481aa000 0x2000>;
    中断=<46>;
    STATUS ="禁用";
    };
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Paul:

    好的猜测、看起来它与 DMA 有关。

    请检查 SDK 版本5.02并查看是否已修复: www.ti.com/.../PROCESSOR-SDK-AM335X

    请检查以下任何修复程序是否有任何帮助: github.com/.../8250_omap.c
    github.com/.../8250_dma.c
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1 SDK 版本5.02无法修复错误。
    2我需要一些时间将8250_omap.c 和8250_dma.c 合并到 GitHub 中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Paul:

    您可以在 serial8250_release_dma 中添加日志、以找出哪个指针为 NULL。 这将提供从主线中获取哪个补丁的进一步线索。

    此外、您还可以禁用 UART 0和 UART 1的 DMA、并检查所有 UART 是否都在工作。 另外、让我们等待 TI 对该问题的评论。

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

    尊敬的 Paul:

    [引用 USER="Paul.Wu"]当在前台运行时,"Ctrl+c"可以正常中断它。
    一次打开两个 UART 并在前台运行时、"Ctrl+c"将导致异常并打印:

    [290.915575]无法处理虚拟地址000000[/quot]上的内核 NULL 指针解除引用

    这是 Processor SDK Linux v5.1.0.11中引入的一个已知问题。 它将在下一个版本中修复。 目前的解决方法是为8250-OMAP 驱动程序禁用 DMA 或使用较旧版本 v5.0.15。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Liu、
    您能给我一个较旧版本 v5.0.0.15的下载地址吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    e2e.ti.com/.../760542