您尚未登录。

楼主 # 今天 03:18:39

yofa2008
会员
注册时间: 2022-02-03
已发帖子: 6
积分: 1

imx28上测试司徒FC3000项目的掌机系统

感谢司徒开源精神,提供了硬件的可玩性!
借chatgpt东风,利用小长假把几年前的FC3000掌机用户空间挪到imx28上;应该不算移植,只是用户空间重复利用。
不然这imx28-EVK还是要继续吃灰,与F1c100s同为arm9核,454MiB,128MiB DDR2

没办法就在挖坑网挖坟,只能根据自己掌握的资料对FC3000进行复现;FC3000项目的耦合度很高,内核驱动对外围很多硬编码,LCD/按键。。
我在f1c100s测试时发现内置DAC驱动不能工作,表现为插上耳机即会硬件复位;
而且也没有usbhid支持;

如此切入点就直接把uboot+kernel都平替了,uboot2018.01+kernel4.19.88
挪机测试目的很简单,音频通道走了sgtl5000(个人觉得音质不错),内核开usbhid用通用电脑USB键盘;
EVK上LCD是RGB 800x480,直接居中映射320x240,没有拉伸和倍数放大;显示上只是别扭了点(800x480显示320x240效果极其精致!)

fbdev驱动chatgpt给了一版,算是正常工作起来。(这对话模型确实为一些想法提供了可能)
系统引导日志如下,改日上图。

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.19.88 (test@test-desktop) (gcc version 7.3.0 (Buildroot 2018.02.9)) #50 PREEMPT Thu Oct 8                                          16:21:11 CEST 2026
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
CPU: VIVT data cache, VIVT instruction cache
OF: fdt: Machine model: Freescale i.MX28 Evaluation Kit
Memory policy: Data cache writeback
random: get_random_bytes called from start_kernel+0x80/0x44c with crng_init=0
Built 1 zonelists, mobility grouping on.  Total pages: 32512
Kernel command line: console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait init=/mininit
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 121384K/131072K available (5893K kernel code, 406K rwdata, 1476K rodata, 336K init, 128K bss, 968                                         8K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xc8800000 - 0xff800000   ( 880 MB)
    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .text : 0x(ptrval) - 0x(ptrval)   (5895 kB)
      .init : 0x(ptrval) - 0x(ptrval)   ( 336 kB)
      .data : 0x(ptrval) - 0x(ptrval)   ( 407 kB)
       .bss : 0x(ptrval) - 0x(ptrval)   ( 129 kB)
rcu: Preemptible hierarchical RCU implementation.
        Tasks RCU enabled.
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
clocksource: mxs_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
Console: colour dummy device 80x30
Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x40008400 - 0x4000847c
rcu: Hierarchical SRCU implementation.
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 256 (order: -1, 3072 bytes)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
Serial: AMBA PL011 UART driver
80074000.serial: ttyAMA0 at MMIO 0x80074000 (irq = 234, base_baud = 0) is a PL011 rev2
console [ttyAMA0] enabled
mxs-dma 80004000.dma-apbh: initialized
mxs-dma 80024000.dma-apbx: initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
videodev: Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource mxs_timer
NET: Registered protocol family 2
tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
workingset: timestamp_bits=30 max_order=15 bucket_order=0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
io scheduler noop registered (default)
io scheduler mq-deadline registered
io scheduler kyber registered
pwm-backlight backlight: Linked as a consumer to regulator.8
pwm-backlight backlight: FORCE BACKLIGHT ON: brightness=7 power=0 fb_blank=0 state=0x0
backlight backlight: UPDATE STATUS: brightness=7 power=0 fb_blank=0 state=0x0 enabled=0
pwm-backlight backlight: BL POWER ON: enter enabled=0 pwm=(ptrval) power_supply=(ptrval)
pwm-backlight backlight: BL POWER ON: enabling regulator
pwm-backlight backlight: BL POWER ON: regulator_enable() ret=0
pwm-backlight backlight: BL POWER ON: enable_gpio is NULL
pwm-backlight backlight: BL POWER ON: calling pwm_enable()
pwm-backlight backlight: BL POWER ON: pwm_enable() returned
pwm-backlight backlight: BL POWER ON: DONE enabled=1
mxsfb 80030000.lcdif: Linked as a consumer to regulator.6
Console: switching to colour frame buffer device 40x30
mxsfb 80030000.lcdif: initialized
loop: module loaded
libphy: Fixed MDIO Bus: probed
fec 800f0000.ethernet: Linked as a consumer to regulator.3
libphy: fec_enet_mii_bus: probed
fec 800f4000.ethernet: 800f4000.ethernet supply phy not found, using dummy regulator
fec 800f4000.ethernet: Linked as a consumer to regulator.0
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
imx_usb 80080000.usb: Linked as a consumer to regulator.4
imx_usb 80090000.usb: Linked as a consumer to regulator.5
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
stmp3xxx-rtc 80056000.rtc: rtc core: registered 80056000.rtc as rtc0
i2c /dev entries driver
Driver for 1-wire Dallas network protocol.
mxs-mmc 80010000.ssp: Linked as a consumer to regulator.2
mxs-mmc 80010000.ssp: Got WP GPIO
mxs-mmc 80010000.ssp: initialized
random: fast init done
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
sgtl5000 0-000a: Linked as a consumer to regulator.1
mxs-sgtl5000 sound: ASoC: CODEC DAI sgtl5000 not registered
oprofile: no performance counters
oprofile: using timer interrupt.
NET: Registered protocol family 17
sgtl5000 0-000a: sgtl5000 revision 0x11
sgtl5000 0-000a: Using internal LDO instead of VDDD: check ER1 erratum
mmc0: new high speed SDHC card at address aaaa
mxs-sgtl5000 sound: sgtl5000 <-> 80042000.saif mapping ok
mmcblk0: mmc0:aaaa SU04G 3.69 GiB
mxs-sgtl5000 sound: sgtl5000 <-> 80046000.saif mapping ok
 mmcblk0: p1 p2 p3
stmp3xxx-rtc 80056000.rtc: setting system clock to 2019-08-27 17:07:15 UTC (1566925635)
ALSA device list:
  #0: mxs_sgtl5000
uart-pl011 80074000.serial: no DMA platform data
usb 1-1: new low-speed USB device number 2 using ci_hdrc
VFS: Mounted root (vfat filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 336K
This architecture does not have kernel memory protection.
Run /mininit as init process
input: Logitech USB Keyboard as /devices/soc0/80080000.ahb/80090000.usb/ci_hdrc.1/usb1/1-1/1-1:1.0/0003:0                                         46D:C31C.0001/input/input0
hid-generic 0003:046D:C31C.0001: input,hidraw0: USB HID v1.10 Keyboard [Logitech USB Keyboard] on usb-ci_                                         hdrc.1-1/input0
input: Logitech USB Keyboard Consumer Control as /devices/soc0/80080000.ahb/80090000.usb/ci_hdrc.1/usb1/1                                         -1/1-1:1.1/0003:046D:C31C.0002/input/input1
input: Logitech USB Keyboard System Control as /devices/soc0/80080000.ahb/80090000.usb/ci_hdrc.1/usb1/1-1                                         /1-1:1.1/0003:046D:C31C.0002/input/input2
hid-generic 0003:046D:C31C.0002: input,hiddev96,hidraw1: USB HID v1.10 Device [Logitech USB Keyboard] on                                          usb-ci_hdrc.1-1/input1
Adding 262140k swap on /mnt/.swap.img.  Priority:-2 extents:1 across:262140k SS
Starting logging: OK
read-only file system detected...done
Starting system message bus: random: dbus-uuidgen: uninitialized urandom read (12 bytes read)
random: dbus-uuidgen: uninitialized urandom read (8 bytes read)
random: dbus-daemon: uninitialized urandom read (12 bytes read)
done
Starting network: OK

Welcome to Miyoo
miyoo login: can-3v3: disabling
random: crng init done
random: 1 urandom warning(s) missed due to ratelimiting

Welcome to Miyoo
miyoo login: 

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn


东莞哇酷科技有限公司开发