页次: 1
收到云联芯赠送的NUC980板子(活动链接: https://whycan.com/t_7473.html ),接口很丰富,板子也和整齐。在这里首先感谢观海和晕哥平台提供的机会。下面开始记录学习的过程。
原理图和PCB可以在上面的活动链接重找到。
新塘资料可以到下面的github及官网找到。
https://github.com/OpenNuvoton/MPU-Family
1.首先下载原理图,发现图纸上的PG0和PG1和板子接法不一致,后面发现板子是V1.2版本的,图纸是V1.1版本并确认引导方式是从nand引导。
2.给板子UART0的TTL串口外接232模块,接好后如下
3.连接好串口线,打开串口终端,设置115200 8 N 1,然后给板子加电,终端输出信息如下
NUC980 IBR 20180813
Boot from NAND
DDR-OK
finish NAND dow▒c{
#S▒▒Zx4ȱoot!
U-Boot 2016.11-g4680eed (Aug 12 2021 - 11:00:18 +0800)
CPU: NUC980
Board: NUC980
DRAM: 64 MiB
NAND: 128 MiB
NUC980 IBR 20180813
Boot from NAND
DDR-OK
finish NAND dow▒c{
#S▒▒Zh4ȱoot!
U-Boot 2016.11-g4680eed (Aug 12 2021 - 11:00:18 +0800)
CPU: NUC980
Board: NUC980
DRAM: 64 MiB
NAND: 128 MiB
In: serial
Out: serial
Err: serial
Net: emac
Warning: emac (eth0) using random MAC address - 7e:a4:bf:c0:cd:30
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x200000, size 0x760000
7733248 bytes read: OK
## Booting kernel from Legacy Image at 00007fc0 ...
Image Name: OpenWrt ARM 4.4.194
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3038889 Bytes = 2.9 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
Starti[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.4.194 (zf@debian9) (gcc version 5.4.0 (LEDE GCC 5.4.0 r0-f446e8e) ) #0 PREEMPT Sat May 9 15:23:54 2020
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine model: Nuvoton NUC980 IOT-GateWay Version: 0.1
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: noinitrd ubi.mtd=2 root=ubi0:rootfs rw rootfstype=ubifs console=ttyS0,115200n8 rdinit=/sbin/init mem=64M mtdparts=nand0:0x200000@0x0(u-boot),0x1400000@0x200000(kernel),-(rootfs)
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Memory: 57992K/65536K available (4366K kernel code, 301K rwdata, 1656K rodata, 184K init, 244K bss, 7544K reserved, 0K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc05e9f04 (6024 kB)
[ 0.000000] .init : 0xc05ea000 - 0xc0618000 ( 184 kB)
[ 0.000000] .data : 0xc0618000 - 0xc06636c4 ( 302 kB)
[ 0.000000] .bss : 0xc06636c4 - 0xc06a07e0 ( 245 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] NR_IRQS:545
[ 0.000000] clocksource: nuc980-timer5: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 62215505635 ns
[ 0.000033] sched_clock: 24 bits at 120kHz, resolution 8333ns, wraps every 69905062489ns
[ 0.000733] Console: colour dummy device 80x30
[ 0.195441] console [ttyS0] enabled
[ 0.198924] Calibrating delay loop... 148.88 BogoMIPS (lpj=744448)
[ 0.272783] pid_max: default: 32768 minimum: 301
[ 0.277641] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.284333] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.293458] CPU: Testing write buffer coherency: ok
[ 0.299416] Setting up static identity map for 0x8400 - 0x843c
[ 0.351174] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.361958] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.368558] pinctrl core: initialized pinctrl subsystem
[ 0.375983] NET: Registered protocol family 16
[ 0.383008] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.397366] <DT> nuc980_dt_device_init +
[ 0.455041] <DT> nuc980_dt_device_init -
[ 0.462208] pinctrl-nuc980 apb:pinctrl@b0000000: initialized NUC980 pinctrl driver
[ 0.597591] SCSI subsystem initialized
[ 0.608833] usbcore: registered new interface driver usbfs
[ 0.616399] usbcore: registered new interface driver hub
[ 0.623266] usbcore: registered new device driver usb
[ 0.638091] clocksource: Switched to clocksource nuc980-timer5
[ 0.729416] NET: Registered protocol family 2
[ 0.737358] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.745016] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.751841] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.758649] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.764499] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.771691] NET: Registered protocol family 1
[ 0.777208] RPC: Registered named UNIX socket transport module.
[ 0.783308] RPC: Registered udp transport module.
[ 0.787966] RPC: Registered tcp transport module.
[ 0.792766] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.800174] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.812808] Crashlog allocated RAM at address 0x3f00000
[ 0.896899] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.981549] io scheduler noop registered (default)
[ 0.990074] nuc980_gpio_probe - pdev = b0004000.gpio
[ 0.998724] nuc980_dma_probe - pdev = b0008000.dma
[ 1.025066] nuc980-dma b0008000.dma: NUC980 DMA ready
[ 1.569958] b0070000.serial: ttyS0 at I/O 0xf0070000 (irq = 36, base_baud = 750000) is a NUC980
[ 1.581899] b0071000.serial: ttyS1 at I/O 0xf0071000 (irq = 37, base_baud = 9375000) is a NUC980
[ 1.592949] b0072000.serial: ttyS2 at I/O 0xf0072000 (irq = 38, base_baud = 9375000) is a NUC980
[ 1.604208] b0073000.serial: ttyS3 at I/O 0xf0073000 (irq = 43, base_baud = 9375000) is a NUC980
[ 1.615608] b0074000.serial: ttyS4 at I/O 0xf0074000 (irq = 39, base_baud = 9375000) is a NUC980
[ 1.627008] b0075000.serial: ttyS5 at I/O 0xf0075000 (irq = 44, base_baud = 9375000) is a NUC980
[ 1.638466] b0076000.serial: ttyS6 at I/O 0xf0076000 (irq = 40, base_baud = 9375000) is a NUC980
[ 1.650033] b0077000.serial: ttyS7 at I/O 0xf0077000 (irq = 45, base_baud = 9375000) is a NUC980
[ 1.660999] b0078000.serial: ttyS8 at I/O 0xf0078000 (irq = 41, base_baud = 9375000) is a NUC980
[ 1.678616] nuc980 mtd nand driver version: 20180301
[ 1.684991] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
[ 1.692499] nand: Samsung NAND 128MiB 3,3V 8-bit
[ 1.697099] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[ 1.704908] nand: SMRA size 64, 60
[ 1.709083] Bad block table found at page 65472, version 0x01
[ 1.715116] Bad block table found at page 65408, version 0x01
[ 1.721899] 3 cmdlinepart partitions found on MTD device nand0
[ 1.727699] Creating 3 MTD partitions on "nand0":
[ 1.732699] 0x000000000000-0x000000200000 : "u-boot"
[ 1.743849] 0x000000200000-0x000001600000 : "kernel"
[ 1.755691] 0x000001600000-0x000008000000 : "rootfs"
[ 1.767533] mtd: device 2 (rootfs) set to be root filesystem
[ 1.774858] mtdsplit: no squashfs found in "rootfs"
[ 1.780274] fmi-sm: registered successfully! mtdid=nand0
[ 1.787141] RX nuc980_qspi0_probe: dma0chan0 module removed
[ 1.793574] TX nuc980_qspi0_probe: dma0chan1 module removed
[ 1.803649] RX nuc980_spi1_probe: dma0chan2 module removed
[ 1.810349] TX nuc980_spi1_probe: dma0chan3 module removed
[ 1.825616] vcan: Virtual CAN interface driver
[ 1.831691] slcan: serial line CAN interface driver
[ 1.836533] slcan: 10 dynamic interface channels.
[ 1.841849] CAN device driver interface
[ 1.851341] nuc980-can1 b00a1000.can: nuc980_can1_platform device registered (regs=f00a1000, irq=59)
[ 1.871099] libphy: nuc980_rmii0: probed
[ 1.880099] PPP generic driver version 2.4.2
[ 1.886949] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.895191] nuc980-ehci b0015000.usbh_ehci: Nuvoton NUC980 EHCI Host Controller
[ 1.903158] nuc980-ehci b0015000.usbh_ehci: new USB bus registered, assigned bus number 1
[ 1.912291] nuc980-ehci b0015000.usbh_ehci: irq 23, io mem 0xb0015000
[ 1.938249] nuc980-ehci b0015000.usbh_ehci: USB 2.0 started, EHCI 0.95
[ 1.945566] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.952474] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.959774] usb usb1: Product: Nuvoton NUC980 EHCI Host Controller
[ 1.965908] usb usb1: Manufacturer: Linux 4.4.194 ehci_hcd
[ 1.971474] usb usb1: SerialNumber: b0015000.usbh_ehci
[ 1.978666] pinctrl-nuc980 apb:pinctrl@b0000000: pin PE10 already requested by b0015000.usbh_ehci; cannot claim for usb1
[ 1.989999] pinctrl-nuc980 apb:pinctrl@b0000000: pin-74 (usb1) status -22
[ 1.996783] pinctrl-nuc980 apb:pinctrl@b0000000: could not request pin 74 (PE10) from group usbh-ppwr-ovc on device apb:pinctrl@b0000000
[ 2.009324] usb usb1: Error applying setting, reverse things back
[ 2.016766] hub 1-0:1.0: USB hub found
[ 2.021224] hub 1-0:1.0: 2 ports detected
[ 2.027299] ehci-platform: EHCI generic platform driver
[ 2.034099] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 2.041691] usb_hcd_nuc980_probe, id = -1, name: b0017000.usbh_ohci, 0
[ 2.048808] nuc980-ohci b0017000.usbh_ohci: Nuvoton NUC980 OHCI Host Controller
[ 2.056216] nuc980-ohci b0017000.usbh_ohci: new USB bus registered, assigned bus number 2
[ 2.064908] nuc980-ohci b0017000.usbh_ohci: irq 24, io mem 0xb0017000
[ 2.130991] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 2.137766] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.145083] usb usb2: Product: Nuvoton NUC980 OHCI Host Controller
[ 2.151333] usb usb2: Manufacturer: Linux 4.4.194 ohci_hcd
[ 2.156783] usb usb2: SerialNumber: nuc980-ohci
[ 2.164358] hub 2-0:1.0: USB hub found
[ 2.168983] hub 2-0:1.0: 8 ports detected
[ 2.176316] ohci-platform: OHCI generic platform driver
[ 2.183966] usbcore: registered new interface driver usb-storage
[ 2.192199] usbcore: registered new interface driver usbserial
[ 2.199716] usbcore: registered new interface driver option
[ 2.206391] usbserial: USB Serial support registered for GSM modem (1-port)
[ 2.222258] do_sha - sha last has no data!
[ 2.226341] alg: hash: Test 1 failed for nuc980-sha1
[ 2.231558] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.237958] 00000010: 00 00 00 00
[ 2.242458] do_sha - sha last has no data!
[ 2.246533] alg: hash: Test 1 failed for nuc980-sha224
[ 2.251916] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.258558] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.264641] do_sha - sha last has no data!
[ 2.269891] alg: hash: Test 1 failed for nuc980-sha256
[ 2.274999] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.281658] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.289041] do_sha - sha last has no data!
[ 2.293124] alg: hash: Test 1 failed for nuc980-sha384
[ 2.298491] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.304891] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.311549] 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.318924] do_sha - sha last has no data!
[ 2.322999] alg: hash: Test 1 failed for nuc980-sha512
[ 2.328383] 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.334783] 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.341424] 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.347824] 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 2.355141] alg: No test for hmac-sha1 (nuc980-hmac-sha1)
[ 2.361374] alg: No test for hmac-sha224 (nuc980-hmac-sha224)
[ 2.367716] alg: No test for hmac-sha256 (nuc980-hmac-sha256)
[ 2.374333] alg: No test for hmac-sha384 (nuc980-hmac-sha384)
[ 2.380958] alg: No test for hmac-sha512 (nuc980-hmac-sha512)
[ 2.386774] NUC980 Crypto engine enabled.
[ 2.410174] usbcore: registered new interface driver usbhid
[ 2.415699] usbhid: USB HID core driver
[ 2.434249] NET: Registered protocol family 10
[ 2.444066] NET: Registered protocol family 17
[ 2.449316] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[ 2.462383] can: controller area network core (rev 20120528 abi 9)
[ 2.469166] NET: Registered protocol family 29
[ 2.473708] can: raw protocol (rev 20120528)
[ 2.477958] can: broadcast manager protocol (rev 20120528 t)
[ 2.483908] can: netlink gateway (rev 20130117) max_hops=1
[ 2.490891] 8021q: 802.1Q VLAN Support v1.8
[ 2.506408] ubi0: attaching mtd2
[ 2.871766] ubi0: scanning is finished
[ 2.893066] ubi0: attached mtd2 (name "rootfs", size 106 MiB)
[ 2.899041] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[ 2.905874] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[ 2.912866] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[ 2.920183] ubi0: good PEBs: 844, bad PEBs: 4, corrupted PEBs: 0
[ 2.926149] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[ 2.933591] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 565934091
[ 2.942791] ubi0: available PEBs: 0, total reserved PEBs: 844, PEBs reserved for bad PEB handling: 16
[ 2.952116] ubi0: background thread "ubi_bgt0d" started, PID 1034
[ 2.998366] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 1041
[ 3.023033] UBIFS (ubi0:0): recovery needed
[ 3.114808] UBIFS (ubi0:0): recovery completed
[ 3.119641] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[ 3.126999] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[ 3.137024] UBIFS (ubi0:0): FS size: 103231488 bytes (98 MiB, 813 LEBs), journal size 9023488 bytes (8 MiB, 72 LEBs)
[ 3.147583] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[ 3.153483] UBIFS (ubi0:0): media format: w4/r0 (latest is w4/r0), UUID FE66F50E-7F9E-4193-91A2-B16196A57DDB, small LPT model
[ 3.166924] VFS: Mounted root (ubifs filesystem) on device 0:12.
[ 3.175183] Freeing unused kernel memory: 184K
[ 3.643358] init: Console is alive
[ 3.861516] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 3.921599] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 3.944408] init: - preinit -
[ 4.465616] random: jshn: uninitialized urandom read (4 bytes read, 7 bits of entropy available)
[ 4.600833] random: jshn: uninitialized urandom read (4 bytes read, 7 bits of entropy available)
[ 4.764566] random: jshn: uninitialized urandom read (4 bytes read, 7 bits of entropy available)
[ 4.889133] random: jshn: uninitialized urandom read (4 bytes read, 7 bits of entropy available)
[ 5.029399] random: jshn: uninitialized urandom read (4 bytes read, 8 bits of entropy available)
[ 5.218891] nuc980-emac0 b0012000.emac0: eth0 is OPENED
[ 5.224874] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[ 8.713474] mount_root: mounting /dev/root
[ 8.729908] urandom-seed: Seeding with /etc/urandom.seed
[ 8.871474] procd: - early -
[ 11.460266] procd: - ubus -
[ 11.530816] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[ 11.623299] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[ 11.635841] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[ 11.645241] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[ 11.657091] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[ 11.670883] procd: - init -
Please press Enter to activate this console.
[ 12.299166] kmodloader: loading kernel modules from /etc/modules.d/*
[ 12.326316] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 12.369724] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 12.413474] nf_conntrack version 0.5.0 (909 buckets, 3636 max)
[ 12.484091] NET: Registered protocol family 24
[ 12.535983] xt_time: kernel timezone is -0000
[ 12.575599] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 22.144358] nuc980-emac0 b0012000.emac0: eth0 is OPENED
[ 22.172699] device eth0 entered promiscuous mode
[ 22.204549] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
^[[6~[ 118.368249] random: nonblocking pool is initialized
页次: 1