|
本帖最后由 stone-363407 于 2018-12-7 16:42 编辑 ' l- H# d% s* O5 ~5 B 代码地址: http://github.com/huayuguo/uboot-stm32h743_eth ! ]# y) E- @5 u# y0 r! q8 U* w U-Boot 2018.09-rc2-gc16d658 (Dec 06 2018 - 16:00:30 +0800) Model: STMicroelectronics STM32H743i-EVAL board4 w7 B c9 P0 D0 e0 L4 N. W# @( n* M DRAM: 32 MiB. A: x) U- a, E2 e% \ MMC: STM32 SDMMC2: 0 In: serial@400110003 G" o y* R" u9 w% E: Q Out: serial@40011000 Err: serial@40011000 Net: Warning: ethernet@40028000 (eth0) using random MAC address - fe:f8:94:5f:5e:26 eth0: ethernet@40028000 Hit SPACE in 3 seconds to stop autoboot.) Z) K' F5 A5 \ switch to partitions #0, OK- {5 D8 O- X- e/ N/ w9 [( a mmc0 is current device" C) ?. U6 W# k/ A8 J* I4 i Scanning mmc 0:1...% m% h7 G3 q1 O U-Boot > setenv gatewayip 192.168.10.1;setenv ipaddr 192.168.10.22;setenv netmask 255.255.255.0;setenv ethaddr 1a:5a:38:ef:38:d8;: @1 U5 _7 f5 F- r U-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 " U-Boot > tftpboot 61000000 192.168.10.25:uImage;tftpboot 61300000 192.168.10.25:stm32h743i-eval.dtb; ethernet@40028000 Waiting for PHY auto negotiation to complete. done Using ethernet@40028000 device+ `% z. R0 }& P, o TFTP from server 192.168.10.25; our IP address is 192.168.10.22) W& K# l# L5 y' q6 F7 R- W Filename 'uImage'. Load address: 0x610000004 @) Y$ {; K, y, b9 m- q8 I Loading: ################################################################# ################################################################# ########## 1.4 MiB/s done) C+ w/ O, z* F& P4 v) {7 q Bytes transferred = 2048568 (1f4238 hex)1 r$ T% a" z/ b; ` ethernet@40028000 Waiting for PHY auto negotiation to complete. done Using ethernet@40028000 device TFTP from server 192.168.10.25; our IP address is 192.168.10.228 D5 L) e/ t; v/ z: t6 w Filename 'stm32h743i-eval.dtb'.6 R; K- k' P: b q Load address: 0x61300000% u$ Q4 G; j& b E Loading: # 999 KiB/s done Bytes transferred = 5115 (13fb hex) U-Boot > bootm 61000000 - 61300000 ## Booting kernel from Legacy Image at 61000000 ...& C5 S! u" v4 r& M/ N! ^( y1 G Image Name: linux1 g: z4 X& H. C! i. P+ x Image Type: ARM Linux Kernel Image (uncompressed)5 g E a8 {9 [0 _4 \ Data Size: 2048504 Bytes = 2 MiB Load Address: 61000000 Entry Point: 61000000) J. P0 ~- {8 w7 B$ Z9 z Verifying Checksum ... OK ## Flattened Device Tree blob at 61300000 Booting using the fdt blob at 0x61300000 Loading Kernel Image ... OK Using Device Tree in place at 61300000, end 613043fa Starting kernel ...' _/ @2 O7 y* k; Z " k6 d2 n2 X$ A; b- Q+ Y6 z' K [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.15.2-gb37c1e299-dirty (xiao@xd) (gcc version 6.3.1 20170620 (15:6.3.1+svn253039-1build1)) #134 PREEMPT Fri Dec 7 13:45:02 CST 2018& G2 A. X% E" q# P, v [ 0.000000] CPU: ARMv7-M [411fc271] revision 1 (ARMv7M), cr=00000000 [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache# n$ t3 X0 W! F" O [ 0.000000] OF: fdt: Machine model: STMicroelectronics STM32H743i-EVAL board [ 0.000000] Reserved memory: created DMA memory pool at 0x61000000, size 2 MiB+ M* \2 @, s) w3 o [ 0.000000] OF: reserved mem: initialized node linux,dma, compatible id shared-dma-pool [ 0.000000] Ignoring RAM after 0x61000000, memory at 0x61200000 ignored& q9 }6 u% o; K [ 0.000000] Using ARMv7 PMSA Compliant MPU. Region independence: No, Used 2 of 16 regions' m# Q1 F& m4 K: z0 ~( D0 a5 i [ 0.000000] On node 0 totalpages: 4096 [ 0.000000] Normal zone: 32 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 4096 pages, LIFO batch:0 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768/ T1 ^% F S. b% E+ l [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 4064 [ 0.000000] Kernel command line: root=/dev/ram console=ttyS0,115200 5 g: H1 J b$ j8 ]6 o h& Y. t" F [ 0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes). V j* Y: C! n* P! t. A [ 0.000000] Memory: 13080K/16384K available (1596K kernel code, 154K rwdata, 496K rodata, 632K init, 130K bss, 3304K reserved, 0K cma-reserved)1 V3 O, }7 b8 q/ y$ m" c1 D [ 0.000000] Virtual kernel memory layout:9 N$ _; e" i7 h. R& b7 O0 A [ 0.000000] vector : 0x00000000 - 0x00001000 ( 4 kB)$ ^# h3 p- n. I+ L$ v, G [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)* ?! Z0 K: M5 b1 K$ K [ 0.000000] vmalloc : 0x00000000 - 0xffffffff (4095 MB)! w* ]9 U* [) R8 C5 l @ [ 0.000000] lowmem : 0x60000000 - 0x61000000 ( 16 MB), a2 Z# F9 @6 z [ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (1597 kB)) C2 d( r+ q* l- _# E, \) p, P [ 0.000000] .init : 0x(ptrval) - 0x(ptrval) ( 632 kB) [ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 155 kB) [ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 131 kB)2 N& s$ r! s" b, L [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation.( T+ y. n* C( Y, \( y0 \% J* b) n [ 0.000000] Tasks RCU enabled. [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16* {9 ?& j1 U) M1 Q V [ 0.000000] clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 18664651 ns! u$ {: {% M. T. J7 n3 J/ B [ 0.000000] ARM System timer initialized as clocksource1 V! ^0 I' w1 y2 B7 h8 J% E [ 0.000000] /soc/timer@40000c00: STM32 clockevent driver initialized (32 bits); W3 M7 m" R1 S1 a4 C [ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns [ 0.010000] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216) [ 0.100000] pid_max: default: 4096 minimum: 301 [ 0.100000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)3 ^3 f" _( o/ ^1 c0 _. U7 ?) t' F3 \) e! W [ 0.100000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.100000] Hierarchical SRCU implementation.! a- j# J1 I' o; G& i' g [ 0.100000] devtmpfs: initialized( {' Y# y0 l9 }5 z; h) i" Q [ 0.110000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns- r& G6 F* H4 ]9 r [ 0.110000] pinctrl core: initialized pinctrl subsystem [ 0.110000] DMA: default coherent area is set [ 0.110000] random: get_random_u32 called from bucket_table_alloc+0xc9/0xf4 with crng_init=02 E# g+ a/ e. p [ 0.110000] NET: Registered protocol family 168 S4 Z- C! k b9 i* z+ S [ 0.120000] cpuidle: using governor ladder5 q8 l# E7 b' e# M: @ [ 0.120000] cpuidle: using governor menu! ]- }. H1 f2 y- f% a3 B [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOA bank added [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOB bank added [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOC bank added0 y# Z% n/ Z5 C$ u [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOD bank added [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOE bank added [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOF bank added [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOG bank added [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOH bank added [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOI bank added [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOJ bank added [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOK bank added [ 0.140000] stm32h743-pinctrl soc:pin-controller: Pinctrl STM32 initialized [ 0.160000] pps_core: LinuxPPS API ver. 1 registered [ 0.160000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>. ?! X7 c: d0 n* q$ @" p [ 0.160000] PTP clock support registered [ 0.160000] clocksource: Switched to clocksource arm_system_timer, T' u, k3 _5 {5 }3 U$ z% i* d* [ [ 0.170000] NET: Registered protocol family 26 G6 s5 Q" {* I. N% m [ 0.170000] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.170000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.170000] TCP: Hash tables configured (established 1024 bind 1024) [ 0.170000] UDP hash table entries: 256 (order: 0, 4096 bytes): l8 P# h5 V) o7 N [ 0.170000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.170000] NET: Registered protocol family 1$ t/ q' L4 V% D, Q [ 0.360000] workingset: timestamp_bits=30 max_order=12 bucket_order=0+ j' Q: n* w) r9 O( t [ 0.380000] random: fast init done [ 0.400000] io scheduler noop registered [ 0.400000] io scheduler deadline registered& w9 W* @. x8 ~; X [ 0.400000] io scheduler cfq registered (default), P4 b g& R( L5 Q' [4 w0 v [ 0.400000] io scheduler mq-deadline registered* S& s9 f! c, U9 \* U, }( J; u [ 0.400000] io scheduler kyber registered, y( K$ y7 q, E1 r9 b- E6 a0 J [ 0.400000] STM32 USART driver initialized$ x- `6 X3 j8 z$ z0 D [ 0.400000] 40011000.serial: ttyS0 at MMIO 0x40011000 (irq = 17, base_baud = 12500000) is a stm32-usart [ 0.850000] console [ttyS0] enabled [ 0.850000] stm32-usart 40011000.serial: rx dma alloc failed1 \1 h/ t! q/ {6 D0 i& j7 w [ 0.860000] stm32-usart 40011000.serial: interrupt mode used for rx (no dma)2 p" s; H7 x7 W4 s# P2 Q6 } [ 0.870000] stm32-usart 40011000.serial: tx dma alloc failed [ 0.870000] stm32-usart 40011000.serial: interrupt mode used for tx (no dma)% p A& K3 W/ V" `7 g8 D9 ?0 O C [ 0.880000] libphy: Fixed MDIO Bus: probed/ B/ C: X0 m4 L. o [ 0.890000] tun: Universal TUN/TAP device driver, 1.63 m. P. B: C2 X" I& N' R, H [ 0.890000] stm32-dwmac 40028000.ethernet: Found phy-handle subnode5 o7 I |. v d- r [ 0.900000] stm32-dwmac 40028000.ethernet: Found MDIO subnode2 C. L/ w' W+ n6 a. _ [ 0.910000] stm32-dwmac 40028000.ethernet: use snps,dwmac-4.00.. [ 0.910000] stm32-dwmac 40028000.ethernet: PTP uses main clock [ 0.910000] stm32-dwmac 40028000.ethernet: no reset control found) s% m# F( @8 O' k9 A: A% \% w; p [ 0.930000] stmmac - user ID: 0x30, Synopsys ID: 0x41 [ 0.930000] stm32-dwmac 40028000.ethernet: DMA HW capability register supported( n2 g- J: E0 H/ V- f0 Q5 n9 A1 n [ 0.930000] stm32-dwmac 40028000.ethernet: RX Checksum Offload Engine supported1 ~; E1 n; f3 a7 G- i [ 0.950000] stm32-dwmac 40028000.ethernet: TX Checksum insertion supported( }% ?* x# y3 G7 q [ 0.950000] stm32-dwmac 40028000.ethernet: Wake-Up On Lan supported [ 0.950000] stm32-dwmac 40028000.ethernet: TSO supported [ 0.970000] stm32-dwmac 40028000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 0.970000] stmmac_mdio_reset : reset gpio direction num=28 [ 1.080000] libphy: stmmac: probed [ 1.090000] stm32-dwmac 40028000.ethernet: register the MDIO bus4 Z1 T5 w$ o! B [ 1.100000] u32 classifier7 T4 k& a) O h( t6 n. n [ 1.100000] Initializing XFRM netlink socket0 F& b8 p/ o6 _ g: @4 V+ [ [ 1.110000] NET: Registered protocol family 17 [ 1.110000] NET: Registered protocol family 15 j/ F' L3 S, K1 y% X2 ]8 b, Y [ 1.110000] 8021q: 802.1Q VLAN Support v1.8 [ 1.120000] Key type dns_resolver registered6 }! I* K+ K8 W$ f [ 1.130000] Freeing unused kernel memory: 632K. z: |! C+ a' d0 {; v1 t [ 1.140000] This architecture does not have kernel memory protection. can't run '/sbin/swapon': No such file or directory' o) g) b1 p4 X# u0 m6 \ Initializing random number generator... done. I' |. {) \) M7 ~& y Jan 1 00:00:01 login[59]: root login on 'console' ~ # |
微信公众号
手机版
# j8 m) G- O$ P* _2 t' w* r
cpu 400Mhz sdram 100mhz cas=2 j/ ^4 s" v% S/ E0 y
测试软件:iperf3 ) D* K$ ~9 S( A6 S
系统跑了25个线程测试速度如下。。。。没有原子裸奔的那个快............5 R; Z! Y& G% E6 G5 ?( ?
65.8 Mbits/sec8 ]8 {( g1 u( e/ F3 N
~ # cat /proc/cpuinfo
processor : 0
model name : ARMv7-M rev 1 (v7ml)
BogoMIPS : 795.44
Features : half thumb fastmult edsp idivt
CPU implementer : 0x41
CPU architecture: 7M. h3 _3 P6 q- S
CPU variant : 0x1
CPU part : 0xc27
CPU revision : 15 i0 Q, ]0 f. v( N3 z
5 |$ L5 {& m2 @8 a9 _4 u4 X
Hardware : STM32 (Device Tree Support)
Revision : 0000
Serial : 0000000000000000
~ # iperf3 -c 192.168.10.26
Connecting to host 192.168.10.26, port 5201% _2 z8 O5 h3 T/ w; J1 w
[ 4] local 192.168.10.22 port 41328 connected to 192.168.10.26 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd I; c( V. |8 @# f) ~% w4 F
[ 4] 0.00-1.01 sec 7.57 MBytes 63.0 Mbits/sec 0 173 KBytes
[ 4] 1.01-2.03 sec 8.22 MBytes 67.3 Mbits/sec 0 181 KBytes
[ 4] 2.03-3.15 sec 8.75 MBytes 66.0 Mbits/sec 0 181 KBytes
[ 4] 3.15-4.04 sec 6.90 MBytes 65.0 Mbits/sec 0 181 KBytes
[ 4] 4.04-5.15 sec 8.70 MBytes 65.4 Mbits/sec 0 181 KBytes 4 h8 \2 ~" a" D
[ 4] 5.15-6.10 sec 7.40 MBytes 65.5 Mbits/sec 0 181 KBytes
[ 4] 6.10-7.01 sec 7.37 MBytes 67.7 Mbits/sec 0 191 KBytes ; k& t. Z* Q7 n+ g
[ 4] 7.01-8.16 sec 8.95 MBytes 65.6 Mbits/sec 0 191 KBytes 6 p; T2 ]9 Z. X2 o6 K" _1 C
[ 4] 8.16-9.02 sec 6.86 MBytes 66.5 Mbits/sec 0 191 KBytes 0 e X- a F T8 b2 T3 q
[ 4] 9.02-10.13 sec 8.73 MBytes 65.9 Mbits/sec 0 191 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr9 N' Y0 P& {6 ^9 y. X
[ 4] 0.00-10.13 sec 79.4 MBytes 65.8 Mbits/sec 0 sender
[ 4] 0.00-10.13 sec 79.4 MBytes 65.8 Mbits/sec receiver
/ V0 F/ j) [+ ]1 b
iperf Done.
~ # ps
PID USER VSZ STAT COMMAND
1 root 400 S init9 u+ v5 k( ?' Q0 D0 ^7 O
2 root 0 SW [kthreadd]
4 root 0 IW< [kworker/0:0H]6 q$ Q1 V: d! P/ h
6 root 0 IW< [mm_percpu_wq]
7 root 0 SW [ksoftirqd/0]
8 root 0 IW [rcu_preempt]
9 root 0 IW [rcu_sched]
10 root 0 IW [rcu_bh]
11 root 0 SW [kdevtmpfs] r/ ?) J" I! {6 l3 Q- s
12 root 0 SW [rcu_tasks_kthre]
14 root 0 IW< [writeback]4 }2 {' B; d: A: [- g# ?
15 root 0 IW< [crypto]
16 root 0 IW< [kblockd]9 w8 F+ I2 ]# j* H, R
17 root 0 IW< [watchdogd], N s1 c; n, ]" R. m6 b3 ?
18 root 0 SW [kswapd0]! n8 a' I4 {6 N: ~
41 root 0 SW [irq/17-40011000]+ T/ Y% }3 Y' t1 k1 w h& P' x4 N
59 root 420 S -sh, m; g* O) T1 S n3 Y
60 root 0 IW [kworker/u2:1]8 J7 j5 M( A& `. \3 [4 |
61 root 0 IW [kworker/u2:2]
64 root 0 IW [kworker/0:2]
65 root 0 IW [kworker/0:3]
71 root 0 IW [kworker/0:0]
75 root 396 R ps
楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移植了uboot eth驱动,因为没有移植MMC驱动,就打算把linux内核加载在SDRAM上,再从SDRAM启动内核;使用的是linux4.19.24默认的stm32配置,但是现在一直卡在“Starting kernel ...”,内核应该是没有起来;不知道您调试过程中是否遇到这个问题。附上打印的信息:) }: F$ r( b1 u7 }: f. J% q' X
U-Boot 2016.09-g83ec55b-dirty (Feb 22 2019 - 18:30:58 +0800)
DRAM: 8 MiB
WARNING: Caches not enabled. B+ n$ p. o2 o1 K! U! B
Flash: 1 MiB# s6 i" h# [+ V! }
Using default environment
5 J; R5 {3 Z# o; e7 s4 U8 d
In: serial_stm32x79 G7 C( G w9 [
Out: serial_stm32x7
Err: serial_stm32x7
Net:
stm32 eth probe start/ L, J1 A9 C. U1 e+ r
stm32 eth probe end
stm32_read_rom_hwaddr+ W( e; c) r7 a9 |* M, Q
Warning: eth_stm32_eth using MAC address from ROM1 M2 f( `- O3 M4 P' W
eth0: eth_stm32_eth
stm32_write_hwaddr+ @: J, I! F$ E( `1 |- e
& X" R' Z2 P* a+ h( k- H$ N
Hit SPACE in 3 seconds to stop autoboot.
U-Boot > set ipaddr 10.0.0.29 D" R* w- I- [3 T
U-Boot > set serverip 10.0.0.6
U-Boot > tftp c0400000 uImage.bin
stm32_eth_stop start8 H, u! O; ]1 v) C4 r& T: b
stm32_eth_stop end
stm32_eth_start start
stm32_eth_start end
Using eth_stm32_eth device6 d4 z0 C9 v* H. e+ }6 N& [) ]
TFTP from server 10.0.0.6; our IP address is 10.0.0.2
Filename 'uImage.bin'.( |+ V9 P% F0 n0 s
Load address: 0xc04000002 {( U F5 u+ g" S
Loading: #################################################################" @' ?/ r1 |9 T# ?2 n7 A
###########################0 n' w/ o9 B4 t, G/ ], F
2 MiB/s
done
Bytes transferred = 1337888 (146a20 hex)
/ l5 `3 V* H+ G
stm32_eth_stop start
stm32_eth_stop end( @. I. d" {) ^' Z
U-Boot > tftp c0600000 discodtb.bin. b/ {% q- g+ E" @7 t) ]
stm32_eth_stop start
stm32_eth_stop end
stm32_eth_start start4 o( F" p; P4 u4 c3 w8 ]" U
stm32_eth_start end
Using eth_stm32_eth device
TFTP from server 10.0.0.6; our IP address is 10.0.0.21 w* i( m3 G/ [& `# ~2 D
Filename 'discodtb.bin'.
Load address: 0xc0600000
Loading: ##$ {* o6 H1 H' O! S
966.8 KiB/s
done
Bytes transferred = 14858 (3a0a hex); |) \# Y9 ?+ N' ]& d; D w
stm32_eth_stop start8 O/ n9 Y3 q' X
stm32_eth_stop end! c8 Z( o2 ]) |5 G4 f
U-Boot > bootm c0400000 - c0600000
## Booting kernel from Legacy Image at c0400000 ...
Image Name: Linux-4.19.244 v% V7 v e; U/ T/ \9 B
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1337824 Bytes = 1.3 MiB/ }9 ^0 w* m; E1 x2 q7 o7 U
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum ... OK
## Flattened Device Tree blob at c0600000
Booting using the fdt blob at 0xc0600000
Loading Kernel Image ... OK
Loading Device Tree to c07c7000, end c07cda09 ... OK
4 l3 m" ` f' u K/ I0 L' e
Starting kernel ...
8 q1 n! f% ?1 v, c
' }: w. [, E* R2 q7 w. f2 M0 r
U-Boot 2018.09-rc2-g36b739b (Nov 25 2018 - 10:45:48 +0800)$ N+ M3 I$ x/ V Y" P1 h1 Q, ?7 w
Model: STMicroelectronics STM32H743i-EVAL board5 f: [8 ? n2 q& h& f
DRAM: 32 MiB$ v; D3 ]% x5 U) J
MMC: STM32 SDMMC2: 0
In: serial@40011000; ^; D+ {' g# e$ V7 h7 F
Out: serial@40011000+ y5 O, k- D0 z+ n7 E
Err: serial@40011000
Net: o+ l4 _$ }4 x" r4 w1 s0 {
Warning: ethernet@40028000 (eth0) using random MAC address - b6:1d:0e:15:99:e37 I* b4 n3 Z! }
eth0: ethernet@40028000# ~ T; b8 z/ I% g# j+ E
Hit SPACE in 3 seconds to stop autoboot., z0 M- S2 M* d! k4 s
Card did not respond to voltage select!* |) J5 C4 B0 n, S5 |5 L1 c
U-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin 2 m1 V; z" p! d' _ J, h. D
ethernet@40028000 Waiting for PHY auto negotiation to complete... done4 u% @5 Z3 N4 Y6 R
*** ERROR: `ipaddr' not set" C- r3 c2 N% t8 W2 o' l
U-Boot > set ipaddr 192.168.1.101;set serverip 192.168.1.1;set ethaddr d6:54:97:9f:9a:90;
U-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin
ethernet@40028000 Waiting for PHY auto negotiation to complete... done
Using ethernet@40028000 device& I! D: E) R5 @$ t( G5 K
TFTP from server 192.168.1.103; our IP address is 192.168.1.101
Filename 'u-boot.bin'.+ ^2 I7 n, N' N
Load address: 0x60001000
Loading: ################### V' X, H% w4 K
1.8 MiB/s
done
Bytes transferred = 257336 (3ed38 hex)
U-Boot > cmp.b 60001000 8000000 3ed38
Total of 257336 byte(s) were the same
接下来看看kernel 咋能。
+ f6 i; j4 n( v9 a
说下eth dma 最大的注意事项,就是cache dma ram 一致性, 卡了好个晚上,对于这个一致性,没有多少经验,希望大家给点经验指导下。
switch to partitions #0, OK; C3 V5 v [1 ~" j& b! w. X Q
mmc0 is current device3 P9 Q d8 X# T6 S8 B- A' z' q
Scanning mmc 0:1...
U-Boot > fatload mmc 0 60008000 uImage;fatload mmc 0 60800000 stm32h743i-eval.dtb
1926672 bytes read in 19 ms (96.7 MiB/s)
9370 bytes read in 2 ms (4.5 MiB/s)
U-Boot >
请查看串口定义部分 高版本内核串口的定义不一样 ttys0 具体看下驱动代码
看下这个如果你用的内核版本是这样
git\linux-4.19.9\drivers\tty\serial\stm32-usart.h' v( v( }4 {- j6 K9 U3 x' A [( X
#define _SERIAL_NAME "ttySTM"
把这个 U-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 " , j* L! m; Z: }
: Q5 W* Y+ M' G3 y
改成这个
: G7 o* d+ U9 @# n$ b
env set bootargs "root=/dev/ram console=ttySTM,115200 " $ y; A5 q! T& @, a, j5 r
这个STM工程师比较那个,我也被坑了,各种分析,内存BUFF分析 等等 我就像骂一句 mmp' @, J) A# z) R' V* i) R% C
谢楼主啊
楼主您好,linux内核确实是你说的那样,但是改了uboot的bootargs后,仍然不能在启动内核后打印信息。。。stm的工程师看来是只管写不管有没有用啊。。。