主题中讨论的其他器件:AM1808、 OMAP-L138、 DA8XX、 OMAPL138
工具/软件:Linux
你好!
我们正在使用 OMAPL138-LCDK 电路板。 我正在尝试从 Processor SDK v03.03.00.04编译和启动最新的可用 Linux 内核(4.9.x)。
我使用的默认配置是 tisdk_omapl138-lcdk_defconfig。 工具链是从 Ubuntu epos 安装的最新 ARM GCC。
所有编译都正常、无错误。 但是、当我尝试从构建的二进制文件引导 Linux 时、它会崩溃。 引导日志如下(内核 args 中指定了 USER_DEBUG=31):
[日志从此处开始]
正在启动内核...
正在解压缩 Linux... 已完成、正在引导内核。
在物理 CPU 0x0上引导 Linux
Linux 版本4.9.13-g102f61776e (root@Denis-VirtualBox)(gcc 版本4.7.3 (ubuntuo/Linaro 4.7.3.3-12ubuntu1))#3优先于 Mon Jun 26 6月26日16:07:34 MSK 2017
CPU:ARM926EJ-S [41069265]修订版5 (ARMv5TEJ)、CR=0005317f
CPU:VIVT 数据高速缓存、VIVT 指令高速缓存
编号:FDT:机器模型:DA850/AM1808/OMAP-L138 LCDK
内存策略:数据高速缓存写入
达芬奇 da850/OMAP-L138/AM18x 变体0x1
在区域顺序和移动分组中构建1个区域列表。 总页数:24288页
内核命令行:console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait mem=32M@0xC0000000 mem=64M@0xc4000000 ip=off user_debug=31
PID 哈希表条目:512 (顺序:-1、2048字节)
DEntry 高速缓存散列表条目:16384 (顺序:4、65536字节)
inode 高速缓存哈希表条目:8192 (顺序:3、32768字节)
内存:90452K/98304K 可用(4456K 内核代码、359K rwdata、1560K rodata、224K init、154K BSS、 7852K 保留、0K CMA 保留)
虚拟内核内存布局:
向量 :0xff0000-0xff1000 ( 4KB)
Fixmap :0xc00000 - 0xc00000 (3072 KB)
vmalloc:0xc8800000 - 0x0x800000 (880 MB)
低内存 :0xC0000000 - 0xC80000 (128 MB)
模块:bbf000000 - 0xC0000000 ( 16 MB)
.text:0xc0008000 - 0xc04626f8 (4458 KB)
init:0xc05ea000-0xc0622000 (224KB)
data:0xc0622000-0xc067bf50 (360KB)
.bss:0xc067bf50 - 0xc06a2a78 (155KB)
slub:HWalign=32、order=0-3、MinObjects=0、CPU=1、Nodes=1
可抢占的分层 RCU 实现。
叶片扇出的构建时间调整为32。
NR_IRQ:245
时钟源:timer0_1:屏蔽:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:79635851949 ns
SCHED_CLOCK:24MHz 时为32位、分辨率41ns、每89478484971ns 换行一次
控制台:彩色虚拟设备80x30
正在校准延迟环路... 226.09 BogoMips (lpj=1130496)
PID_max:默认值:32768最小值:301
挂载高速缓存哈希表条目:1024 (顺序:0、4096字节)
mountpoint-cache 哈希表条目:1024 (顺序:0、4096字节)
CPU:测试写入缓冲区一致性:好的
为0xc0008400 - 0xc0008458设置静态标识映射
devtmpfs:已初始化
VFP 支持 v0.3:不存在
时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns
futex 哈希表条目:256 (顺序:-1、3072字节)
pinctrl 内核:已初始化的 pinctrl 子系统
NET:注册协议系列16.
DMA:预分配256 KiB 池、用于原子相干分配
空闲:使用调速器梯
空闲:使用调速器菜单
多路复用器:已初始化 RTC_ALARM
多路复用器:设置寄存器 RTC_ALARM
多路复用器: PINMUX0 (0x00000000)= 0x48080000 -> 0x28080000
EDMA 1c00000。EDMA:禁用 memcpy
EDMA 1c00000。EDMA:TI EDMA DMA 引擎驱动程序
EDMA 1e30000.EDMA:禁用 memcpy
EDMA 1e30000.EDMA:TI EDMA DMA 引擎驱动程序
I2C_Davinci i2c_Davinci.1:找不到节点/SoC@1c00000/pinmux@14120/pinmux_i2c0_pins 的 pctldev、推迟探针
时钟源:切换到时钟源 timer0_1
NET:注册协议系列2.
TCP 建立哈希表条目:1024 (顺序:0、4096字节)
TCP 绑定哈希表条目:1024 (顺序:0、4096字节)
TCP:配置哈希表(建立1024 BIND 1024)
UDP 哈希表条目:256 (顺序:0、4096字节)
UP-Lite 哈希表条目:256 (顺序:0、4096字节)
NET:注册协议系列1
RPC:注册后命名为 UNIX 套接字传输模块。
RPC:注册的 UDP 传输模块。
RPC:注册的 TCP 传输模块。
RPC:已注册的 TCP NFSv4.1反向通道传输模块。
工作集:timestamp_bits=14 max_order=15 bucke_order=1
块层 SCSI 通用(BSG)驱动程序0.4版已加载(主要250)
已注册 IO 调度程序 NOOP (默认)
pinctrl-single 1c14120.pinmux:请更新 DTS 以使用#pinctrl-cells =<2>
pinctrl-single 1c14120.pinmux:pA fec14120处160个引脚、尺寸80
串行:8250/16550驱动程序,10个端口,禁用 IRQ 共享
控制台[ttyS2]已禁用
serial8250.2:MMIO 0x1d0d000处的 ttyS2 (IRQ = 61、base_baud = 8250000)是 TI DA8xx/66AK2x
控制台[ttyS2]已启用
返修:模块已加载
libphy:固定 MDIO 总线:探测
DaVinci_MDIO DaVinci_MDIO.0:达芬奇 MDIO 修订版本1.5
DaVinci_MDIO DaVinci_MDIO.0:检测到的 phy 掩码 FFFFFFFE
libphy:Davinci_mdio.0:探测
DaVinci_MDIO DaVinci_MDIO.0:PHY[0]:器件 DaVinci_MDIO.0:00、驱动程序 SMSC LAN8710/LAN8720
I2C /dev/entries 驱动程序
DaVinci_MMC DA830-MMC.0:获得了 CD GPIO
DaVinci_MMC DA830-MMC.0:使用 DMA、4位模式
NET:注册协议系列10.
SIT:IPv6、IPv4和 MPLS over IPv4隧道驱动程序
NET:注册协议系列17.
控制台[netcon0]已启用
netconsole:网络日志记录已启动
DaVinci_EMAC DaVinci_EMAC.1:用于读取 Mac 地址的机器/器件类型不兼容
DaVinci_EMAC DaVinci_EMAC.1:使用随机 MAC 地址:1A:E3:55:dd:71:45
输入:GPIO 密钥作为/devices/platform/gpio-keys/input/input0
mmc0:主机不支持读取只读开关、假设已启用写入
mmc0:地址 AAAA 处的新高速 SDHC 卡
mmcblk0:mmc0:AAAA SS08G 7.40 GiB
mmcblk0:P1 P2
hctosys:无法打开 RTC 设备(rtc0)
ext4-fs (mmcblk0p2):使用 ext4子系统安装 ext3文件系统
随机:快速初始化完成
ext4-fs (mmcblk0p2):恢复完成
ext4-fs (mmcblk0p2):已安装的具有有序数据模式的文件系统。 OPTS:(空)
VFS:在设备179:2上安装了根(ext3文件系统)。
devtmpfs:已安装
释放未使用的内核内存:224K (c05ea000-c0622000)
此架构没有内核内存保护。
INIT (1):未定义指令:PC=b6fb008c
CPU:0 PID:1 Comm:INIT 未被污染4.9.13-g102f61776e #3
硬件名称:通用 DA850/OMAP-L138/AM18x
任务:c7838000 task.stack:c7836000
PC 位于 bbb6fb008c
lr 位于 bb6fa65d0
PC:[ ] LR:[ ] PSR:60000010
SP:bea8cb30 ip:bea8cb88 fp:bea8cda4
R10:b6fc6988 R9:7f5ea9cc R8:b6fc6988
R7:00000000 R6:00000000 R5:7f73595c R4:7f5ebb00
r3:00015ca0 r2:00000197 r1:00000000 r0:bea8cb60
FLAGS:nZCv 模式 USER_32 ISA ARM 段用户上 FIQ 上的 IRQ
控制:0005317f 表:c7b50000 DAC:00000055
代码:e48c3004 e8ac0ff0 e59f302c e79f2003 (ecac8b10)
内核严重错误-未同步:尝试终止初始化! exitcode=0x00000004
--[结束内核紧急状态-未同步:尝试终止初始化! exitcode=0x00000004
[日志结束]
我尝试使用 arch/arm/configs/ti_sdk_omapl138_release_defconfig 中的不同配置。 同一个故事:它崩溃。
但是、当我使用 TI 提供的预构建二进制文件以及 PDK 时、一切都可以正常启动并正常工作。
您能否提供有关如何编译内核以成功引导的提示?