这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【EEPW-Let'sdesign】MicrochipSAMA7D65-V/7E

共1条 1/1 1 跳转至页

【EEPW-Let'sdesign】MicrochipSAMA7D65-V/7EW-06|先证明内核能跑在别的ARM平台上

菜鸟
2026-11-11 22:50:48     打赏

三个仿真平台都不认识这颗芯片,那还能做什么?

先从最简单的一步开始:证明这颗内核本身是可移植的。如果连 QEMU 的通用 virt 平台都跑不起来,那后面自建模型就是空谈。

改之前:它只认 AT91 那套

翻 BSP 内核的 .config,几个关键项是这样的:

CONFIG_SERIAL_ATMEL=y
# CONFIG_SERIAL_8250 is not set
CONFIG_MICROCHIP_CLOCKSOURCE_PIT64B=y
# CONFIG_ARCH_VIRT is not set

06_01_缺什么.png【06_01_缺什么】

串口只有 AT91 USART,时钟源只有 PIT64B,平台层面根本没开 virt。这四行决定了它在 virt 上不可能有任何输出。

加 10 个配置项

meta-atmel 的 linux.inc 里,do_configure 会自动合并 ${WORKDIR}/*.cfg。利用这个机制,在本地层加一个片段:

CONFIG_ARCH_VIRT=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_ARM_ARCH_TIMER=y
CONFIG_ARM_PSCI_FW=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_BLK=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

再用 bbappend 把它挂进 SRC_URI。重编内核 140 秒。

内核源码一行没改。

第一次启动:零输出

改完编出来,直接跑:

qemu-system-arm -M virt -cpu cortex-a7 -m 512 \\
  -kernel zImage -initrd initramfs -append "console=ttyAMA0 rdinit=/init" \\
  -nographic

屏幕上什么都没有。

这种情况最容易误判成内核崩了。我用 -d guest_errors 抓 QEMU 内部日志,结果干干净净——没有任何异常,说明内核没崩,是根本没走到串口初始化。

那问题就不在内核,在别处。回头看启动参数,我多传了一个自己 dumpdtb 导出的 virt.dtb,跟 QEMU 实际生成的机器不匹配。去掉 -dtb,让 QEMU 自己生成,就通了。

通了之后

150 行日志一路跑到底:

OF: fdt: Machine model: linux,dummy-virt
Kernel command line: console=ttyAMA0 rdinit=/init
arch_timer: cp15 timer(s) running at 62.50MHz (virt).
9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 20) is a PL011 rev1
printk: console [ttyAMA0] enabled
...
Run /bin/sh as init process

06_02_virt启动.png【06_02_virt启动】

clocksource: arch_sys_counter 和 ttyAMA0 这两行,正好印证了新增的 arch timer 和 PL011 配置都生效了。

uname -a 出来是 6.6.64-linux4microchip+sama7d65-2025.02 ... armv7l GNU/Linux,MemTotal 506628 kB。

这一步的意义

它把问题切开了。

之前的状态是"BSP 内核在 QEMU 上跑不了",你分不清是内核配置问题、工具链问题,还是缺机器模型。现在 virt 上跑通了,说明内核、工具链、rootfs、启动参数这一整条链都是好的,剩下的问题就只有一条:没有 SAMA7D65 的机器模型。

06_03_证明与未证明.png【06_03_证明与未证明】

但边界也要说清楚。virt 证明的是"环境行不行",证明不了"这颗芯片行不行"——它没有 GMAC、没有 CAN、没有显示,串口和时钟也不是芯片上那两个。

所以下一步是把这个模型自己写出来。





关键词: Microchip     SAMA7D65-V     内核    

共1条 1/1 1 跳转至页

回复

匿名不能发帖!请先 [ 登陆 注册 ]