|
本帖最后由 stone-363407 于 2018-12-7 16:42 编辑 4 R- G7 [) ?3 R( s 代码地址: http://github.com/huayuguo/uboot-stm32h743_eth5 _/ E$ f* c; n5 Q / t2 x5 Z o' m U-Boot 2018.09-rc2-gc16d658 (Dec 06 2018 - 16:00:30 +0800)) a& I8 k0 y9 ?% P 6 Q, ]2 ^5 z) p7 Y Model: STMicroelectronics STM32H743i-EVAL board8 z7 e L. v+ Q @2 ]) @ s3 q. Q DRAM: 32 MiB1 J+ B3 x3 B Y0 E; _ \5 M MMC: STM32 SDMMC2: 0 In: serial@40011000 Out: serial@400110001 i9 m7 S0 z" E ?5 J! T Err: serial@400110007 I$ C( O# F4 r, f8 ~. h) n) ]% X) N4 W Net: ; t8 p) ~' n4 R: Q. y6 [ Warning: ethernet@40028000 (eth0) using random MAC address - fe:f8:94:5f:5e:26 eth0: ethernet@400280000 M) s- i* Z! s Hit SPACE in 3 seconds to stop autoboot.: B+ w; F/ p$ k. X& f: l2 l switch to partitions #0, OK mmc0 is current device2 i% r z* E% p5 b/ W) r- m, h Scanning mmc 0:1... 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; 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; o V) F/ z: x& h/ G% @ ethernet@40028000 Waiting for PHY auto negotiation to complete. done: f2 F* w7 l: u; b. S4 Y. b Using ethernet@40028000 device% A' A9 t: M# ], Y) a" v, j) G9 f TFTP from server 192.168.10.25; our IP address is 192.168.10.224 g; X' [' E5 Z. r% Z Filename 'uImage'. Load address: 0x61000000 Loading: #################################################################% j0 I2 U- A1 g1 H ################################################################# ########## 1.4 MiB/s done5 p: h/ x- J% K( N7 E$ W/ a Bytes transferred = 2048568 (1f4238 hex)+ b S4 z; Y7 i, d2 J, K- _ 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.22, M. A% M0 {& t Filename 'stm32h743i-eval.dtb'.2 m4 _1 m: S( O3 R5 @5 w! E Load address: 0x61300000 Loading: # 999 KiB/s done- f. |3 N0 c& x3 {# S Bytes transferred = 5115 (13fb hex) U-Boot > bootm 61000000 - 61300000 ## Booting kernel from Legacy Image at 61000000 ...+ U$ s1 ~% d# G) N, \- s2 ` Image Name: linux Image Type: ARM Linux Kernel Image (uncompressed)5 y+ Q' e$ H" m1 ]# H7 q Data Size: 2048504 Bytes = 2 MiB Load Address: 61000000 o" K* v1 A# }0 o. `0 X Entry Point: 61000000 Verifying Checksum ... OK7 ^7 m& U6 T( t7 F ^3 Y ## Flattened Device Tree blob at 61300000: ` q1 t6 Q# N) r6 S2 S Booting using the fdt blob at 0x61300000 Loading Kernel Image ... OK! h7 c/ X3 |, t, f# x Using Device Tree in place at 61300000, end 613043fa# ], `# |1 J; e2 ?6 Y Starting kernel ...5 L( r( a4 p& U% |2 L 7 A9 ^' i( `, t% @ [ 0.000000] Booting Linux on physical CPU 0x0! f8 [' i5 S% P# z0 H! a2 j3 o [ 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 [ 0.000000] CPU: ARMv7-M [411fc271] revision 1 (ARMv7M), cr=000000000 l$ C) ^ A9 W, H [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache [ 0.000000] OF: fdt: Machine model: STMicroelectronics STM32H743i-EVAL board* t' ?) W, B7 g [ 0.000000] Reserved memory: created DMA memory pool at 0x61000000, size 2 MiB [ 0.000000] OF: reserved mem: initialized node linux,dma, compatible id shared-dma-pool [ 0.000000] Ignoring RAM after 0x61000000, memory at 0x61200000 ignored* h n3 {, W" E8 D) o [ 0.000000] Using ARMv7 PMSA Compliant MPU. Region independence: No, Used 2 of 16 regions- c6 K5 R# S$ a2 u6 Z3 K [ 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:05 Q9 m5 E4 j2 {9 b [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768% T: w$ r' s& @# W' U) S a1 W [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 40640 g, x R, P0 i9 \) }, K [ 0.000000] Kernel command line: root=/dev/ram console=ttyS0,115200 # R) g5 s( I2 h; p$ _: ?9 E [ 0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)$ F( j6 C% p' E [ 0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)# x7 d( e4 U% }: l) \: q [ 0.000000] Memory: 13080K/16384K available (1596K kernel code, 154K rwdata, 496K rodata, 632K init, 130K bss, 3304K reserved, 0K cma-reserved); m$ j8 d, b' o4 a7 U [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0x00000000 - 0x00001000 ( 4 kB): Y& m- c% Z5 {# N6 q& k [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB) [ 0.000000] vmalloc : 0x00000000 - 0xffffffff (4095 MB)2 v! n$ E% @8 ~. f5 h( q/ N% I" l [ 0.000000] lowmem : 0x60000000 - 0x61000000 ( 16 MB)9 F) c% o2 C2 W; b$ p [ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (1597 kB) [ 0.000000] .init : 0x(ptrval) - 0x(ptrval) ( 632 kB)5 ~3 ]* D7 h: G1 a# P [ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 155 kB)6 ^1 e# ~8 r, ?4 B: v [ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 131 kB) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] Tasks RCU enabled.1 ]' q5 U; N: D. _8 J l [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 18664651 ns [ 0.000000] ARM System timer initialized as clocksource [ 0.000000] /soc/timer@40000c00: STM32 clockevent driver initialized (32 bits)( Q# |9 T- N+ U d8 d! V& \- C: z& p [ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns) h# I% j8 z# L [ 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) [ 0.100000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.100000] Hierarchical SRCU implementation. [ 0.100000] devtmpfs: initialized [ 0.110000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 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=05 p# T; i: D6 c) V {; {0 d4 [, [0 B [ 0.110000] NET: Registered protocol family 16* l0 b* I' ^4 d; L( D [ 0.120000] cpuidle: using governor ladder$ F) @4 E8 U3 X+ J, } l" M [ 0.120000] cpuidle: using governor menu [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOA bank added, ~# {" N' c0 |, H% e [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOB bank added [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOC bank added# Y; x' \% X4 H/ U5 ~0 }8 a [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOD bank added% _2 c# ]! a t% Y ^8 | [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOE bank added2 B! J o1 e+ l* Q [ 0.130000] stm32h743-pinctrl soc:pin-controller: GPIOF bank added: W, I0 P/ Z) [/ `9 [4 u: A' v [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOG bank added$ `8 E3 S, V" O m+ a& f3 D8 g [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOH bank added7 ~# H, i' b: ?5 ~4 D [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOI bank added4 v; m) T0 q; ?7 n. G [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOJ bank added$ p7 d W7 P( L6 k4 k- P m [ 0.140000] stm32h743-pinctrl soc:pin-controller: GPIOK bank added [ 0.140000] stm32h743-pinctrl soc:pin-controller: Pinctrl STM32 initialized- R9 v) W H3 P9 K [ 0.160000] pps_core: LinuxPPS API ver. 1 registered* b8 s: U7 [& n5 C [ 0.160000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.160000] PTP clock support registered1 Z1 X% ? m5 Z3 I1 B& ` [ 0.160000] clocksource: Switched to clocksource arm_system_timer7 Z8 x3 [0 ~3 l! E: L% M- L [ 0.170000] NET: Registered protocol family 2 [ 0.170000] TCP established hash table entries: 1024 (order: 0, 4096 bytes): ^( G- w' l9 y; m4 P# f: p [ 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) [ 0.170000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.170000] NET: Registered protocol family 1 [ 0.360000] workingset: timestamp_bits=30 max_order=12 bucket_order=05 t8 u8 J' `; D9 {2 r3 B4 l$ y- f1 Z [ 0.380000] random: fast init done [ 0.400000] io scheduler noop registered: Z7 |* _# q3 \( g% ? [ 0.400000] io scheduler deadline registered [ 0.400000] io scheduler cfq registered (default)5 A! T3 D& ^$ y [ 0.400000] io scheduler mq-deadline registered6 C# X! E i# z- o% V( T8 G [ 0.400000] io scheduler kyber registered [ 0.400000] STM32 USART driver initialized [ 0.400000] 40011000.serial: ttyS0 at MMIO 0x40011000 (irq = 17, base_baud = 12500000) is a stm32-usart! ?1 t% D0 K6 {5 }2 I0 L4 N5 a [ 0.850000] console [ttyS0] enabled2 T# ]- ?& X8 Z' B- e! E9 c% N [ 0.850000] stm32-usart 40011000.serial: rx dma alloc failed [ 0.860000] stm32-usart 40011000.serial: interrupt mode used for rx (no dma)" e, m; [% `- m; y' ^, y [ 0.870000] stm32-usart 40011000.serial: tx dma alloc failed5 ~$ F/ T: M- v) k+ i9 {% U [ 0.870000] stm32-usart 40011000.serial: interrupt mode used for tx (no dma)6 [3 Z3 \* X1 t! k } [ 0.880000] libphy: Fixed MDIO Bus: probed) p- y. c: \3 c1 P# g2 q# d7 s [ 0.890000] tun: Universal TUN/TAP device driver, 1.6+ u9 I- b0 ]% n6 K! a/ s( | [ 0.890000] stm32-dwmac 40028000.ethernet: Found phy-handle subnode0 t5 A5 w1 r9 B6 V$ x' I% B" S2 C [ 0.900000] stm32-dwmac 40028000.ethernet: Found MDIO subnode [ 0.910000] stm32-dwmac 40028000.ethernet: use snps,dwmac-4.00.. [ 0.910000] stm32-dwmac 40028000.ethernet: PTP uses main clock( Q- R7 Y9 r8 M% o [ 0.910000] stm32-dwmac 40028000.ethernet: no reset control found [ 0.930000] stmmac - user ID: 0x30, Synopsys ID: 0x41 [ 0.930000] stm32-dwmac 40028000.ethernet: DMA HW capability register supported [ 0.930000] stm32-dwmac 40028000.ethernet: RX Checksum Offload Engine supported/ o0 m+ p( e s9 B8 K6 | [ 0.950000] stm32-dwmac 40028000.ethernet: TX Checksum insertion supported [ 0.950000] stm32-dwmac 40028000.ethernet: Wake-Up On Lan supported+ z8 {1 Q* r' Z. x; v [ 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 `) g& w& o0 s) D7 Q0 c [ 1.080000] libphy: stmmac: probed [ 1.090000] stm32-dwmac 40028000.ethernet: register the MDIO bus [ 1.100000] u32 classifier [ 1.100000] Initializing XFRM netlink socket [ 1.110000] NET: Registered protocol family 17 [ 1.110000] NET: Registered protocol family 15 [ 1.110000] 8021q: 802.1Q VLAN Support v1.84 R3 e5 g. ~2 q" T+ D9 r! | r [ 1.120000] Key type dns_resolver registered% R4 g) O; M3 u' O [ 1.130000] Freeing unused kernel memory: 632K [ 1.140000] This architecture does not have kernel memory protection. can't run '/sbin/swapon': No such file or directory; r5 J8 N* o2 C8 w" }1 w Initializing random number generator... done. Jan 1 00:00:01 login[59]: root login on 'console' ~ # 1 B0 H9 J- t |$ n3 b8 `, l |
微信公众号
手机版
: V# T5 b. S- D7 H- Y
cpu 400Mhz sdram 100mhz cas=2
测试软件:iperf3
系统跑了25个线程测试速度如下。。。。没有原子裸奔的那个快............
65.8 Mbits/sec
~ # cat /proc/cpuinfo
processor : 00 q8 F/ t( M" `- L. B: E
model name : ARMv7-M rev 1 (v7ml)
BogoMIPS : 795.44% T( T: f! {. G% i% A& k/ ~
Features : half thumb fastmult edsp idivt : O9 ^5 G: \4 w( i% H6 K; y
CPU implementer : 0x41( D/ P7 i0 a3 |. A! M7 C* ]; q
CPU architecture: 7M4 k) y/ m* |) ?' `1 G. J
CPU variant : 0x1, V r- @, q& N5 c
CPU part : 0xc27% P- \! Q* c' L P% s9 |
CPU revision : 12 v4 z! |' z* Z5 ^5 z5 a
Hardware : STM32 (Device Tree Support)
Revision : 0000
Serial : 00000000000000003 o/ F8 z% p. v1 M# J
~ # iperf3 -c 192.168.10.26 ! }& I, I# B8 G, i% g3 l" e
Connecting to host 192.168.10.26, port 5201, \. _$ g, K7 R/ W3 y& W
[ 4] local 192.168.10.22 port 41328 connected to 192.168.10.26 port 5201; k6 N7 i' ^' F' O9 x
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 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 / F6 E* L) ~; V& T1 o
[ 4] 2.03-3.15 sec 8.75 MBytes 66.0 Mbits/sec 0 181 KBytes & _+ \( _$ q# i# _' n* t* U
[ 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] 5.15-6.10 sec 7.40 MBytes 65.5 Mbits/sec 0 181 KBytes 6 i- s3 k1 m: l& G+ u3 }2 d n
[ 4] 6.10-7.01 sec 7.37 MBytes 67.7 Mbits/sec 0 191 KBytes 9 ]; z6 s; k' h' Z( g4 f) x3 y9 ~ C
[ 4] 7.01-8.16 sec 8.95 MBytes 65.6 Mbits/sec 0 191 KBytes
[ 4] 8.16-9.02 sec 6.86 MBytes 66.5 Mbits/sec 0 191 KBytes
[ 4] 9.02-10.13 sec 8.73 MBytes 65.9 Mbits/sec 0 191 KBytes ' ?6 Z; V9 }4 u+ G: h1 v/ O0 e
- - - - - - - - - - - - - - - - - - - - - - - - -2 l2 x$ x2 X4 ~
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.13 sec 79.4 MBytes 65.8 Mbits/sec 0 sender0 {8 }2 Y9 j M
[ 4] 0.00-10.13 sec 79.4 MBytes 65.8 Mbits/sec receiver" s, L9 c( {$ x/ F9 [
iperf Done.3 K5 ~3 }9 Q1 G$ \/ {6 P
~ # ps2 H! h. W; L: m Z1 k
PID USER VSZ STAT COMMAND' ^1 _# M; u6 [5 R, j! @
1 root 400 S init y5 X! v* }8 N1 q6 T4 T
2 root 0 SW [kthreadd]
4 root 0 IW< [kworker/0:0H]" t# w3 `- i, H" ?- ]) E. R- v
6 root 0 IW< [mm_percpu_wq]
7 root 0 SW [ksoftirqd/0]. ?6 d2 x/ x3 v& o
8 root 0 IW [rcu_preempt]
9 root 0 IW [rcu_sched]
10 root 0 IW [rcu_bh]* g1 K" ]% Y) b- b# e
11 root 0 SW [kdevtmpfs]) `# o. r& [- y. Z3 ]. Z; B7 `
12 root 0 SW [rcu_tasks_kthre]! R, D& b" ?3 v+ Q% \0 ]
14 root 0 IW< [writeback]
15 root 0 IW< [crypto]/ o- C" X! F6 t
16 root 0 IW< [kblockd], Q- t" t1 D' k4 }3 N2 e' p
17 root 0 IW< [watchdogd]
18 root 0 SW [kswapd0]6 s. {0 ?# H# L2 U3 w
41 root 0 SW [irq/17-40011000]
59 root 420 S -sh
60 root 0 IW [kworker/u2:1]) |& r& G6 y* o* J1 s8 n2 t) g# Y
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
8 q0 H( h; Q! Z7 B8 ~
楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移植了uboot eth驱动,因为没有移植MMC驱动,就打算把linux内核加载在SDRAM上,再从SDRAM启动内核;使用的是linux4.19.24默认的stm32配置,但是现在一直卡在“Starting kernel ...”,内核应该是没有起来;不知道您调试过程中是否遇到这个问题。附上打印的信息:, ?( @" N: s$ ] b+ @3 h3 L& f+ F
U-Boot 2016.09-g83ec55b-dirty (Feb 22 2019 - 18:30:58 +0800)' M& Q- H3 B; q# T4 c% Q/ }
9 D. C" \- ]! L; h4 Y+ a" L. r
DRAM: 8 MiB
WARNING: Caches not enabled9 A& C( D" Y3 u
Flash: 1 MiB' r# v" s h, h4 {! B* [8 {* Q
Using default environment
! N! ~" u3 M7 u& \ C& C
In: serial_stm32x7
Out: serial_stm32x7
Err: serial_stm32x7% M _( E+ o3 T) L4 \
Net:
stm32 eth probe start3 z) _3 }5 d D5 M' |0 Q {; Z5 M
stm32 eth probe end' |" O! p& s$ K; ~7 m. _+ h
stm32_read_rom_hwaddr
Warning: eth_stm32_eth using MAC address from ROM
eth0: eth_stm32_eth
stm32_write_hwaddr
Hit SPACE in 3 seconds to stop autoboot.% h. b( T$ L C q
U-Boot > set ipaddr 10.0.0.2/ q) R' w/ M; Y* `; z- }& ~
U-Boot > set serverip 10.0.0.6' L7 R% M: F) h0 l* L
U-Boot > tftp c0400000 uImage.bin4 u# X! D% ?$ F
stm32_eth_stop start
stm32_eth_stop end
stm32_eth_start start
stm32_eth_start end9 w4 P* t7 l/ L+ t7 G+ B+ `8 t- k
Using eth_stm32_eth device
TFTP from server 10.0.0.6; our IP address is 10.0.0.2$ Y# T) y1 c+ r% _, A, f+ b7 H$ A, J
Filename 'uImage.bin'.1 L* o9 V; _/ ?& ~! |! f* Z. X
Load address: 0xc0400000
Loading: #################################################################3 M w3 Z6 B7 t% m, W5 J, U
###########################% Y# X! B1 { _5 h
2 MiB/s/ H4 D# J8 Z7 y0 K: t
done7 D% e$ A6 |9 f+ _
Bytes transferred = 1337888 (146a20 hex)
6 O' I% w/ D7 [/ K3 T3 _) j2 d
stm32_eth_stop start
stm32_eth_stop end
U-Boot > tftp c0600000 discodtb.bin8 X, o. k/ ]' \4 x0 S- x
stm32_eth_stop start7 d( D' O+ V/ u3 ]+ ], D* f
stm32_eth_stop end
5 F" U# S( R$ _5 U% g+ O
stm32_eth_start start
stm32_eth_start end, d& z: H% n' j- I+ J
Using eth_stm32_eth device
TFTP from server 10.0.0.6; our IP address is 10.0.0.2
Filename 'discodtb.bin'.
Load address: 0xc0600000
Loading: ##+ b; I) |% C0 ~4 p* |
966.8 KiB/s
done, V- y9 [# p6 q$ _ J3 M! c
Bytes transferred = 14858 (3a0a hex)
stm32_eth_stop start: Q1 s' m* w; r) J. `/ v: W
stm32_eth_stop end
U-Boot > bootm c0400000 - c0600000
## Booting kernel from Legacy Image at c0400000 ...
Image Name: Linux-4.19.24
Image Type: ARM Linux Kernel Image (uncompressed)/ j5 \, N4 Q Z
Data Size: 1337824 Bytes = 1.3 MiB ~4 r% }$ s- X# K$ Y8 s% X7 Y2 z8 e
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 ... OK6 m( P E4 J5 b B/ K. D; y/ W
Loading Device Tree to c07c7000, end c07cda09 ... OK) E9 @- K6 J4 J# b
5 ]( ?9 E3 h8 D4 N5 j; o
Starting kernel ...6 C) j# t( t6 V& u
* s) e* ?4 j4 x7 `2 w8 e( `* u0 v
U-Boot 2018.09-rc2-g36b739b (Nov 25 2018 - 10:45:48 +0800)! f* c( o% n5 ^" y) z. S+ R
Model: STMicroelectronics STM32H743i-EVAL board
DRAM: 32 MiB, M2 O+ o7 ~/ x; u& Q' u
MMC: STM32 SDMMC2: 0" B& q- {( c: J* `: P
In: serial@40011000* h1 K/ _) P6 L5 l) G+ R8 s9 T) X+ W9 m
Out: serial@40011000, |- B6 A. R& n+ y( F+ P
Err: serial@40011000
Net:
Warning: ethernet@40028000 (eth0) using random MAC address - b6:1d:0e:15:99:e3
eth0: ethernet@40028000
Hit SPACE in 3 seconds to stop autoboot.5 E- r/ e6 p: m! j/ |1 ]* p$ ~! u" y
Card did not respond to voltage select!# f9 s$ j# C. w- Y, s* Q4 X
U-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin 2 F- Q g, Y' Q
ethernet@40028000 Waiting for PHY auto negotiation to complete... done
*** ERROR: `ipaddr' not set( ?" ?8 g" s4 b- D6 t% G! X5 z9 W( d+ e
U-Boot > set ipaddr 192.168.1.101;set serverip 192.168.1.1;set ethaddr d6:54:97:9f:9a:90; ' ~' k2 H. N2 [& t+ `1 z( H5 `
U-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin
ethernet@40028000 Waiting for PHY auto negotiation to complete... done6 a2 S! J- [* q3 Q ]8 d5 C
Using ethernet@40028000 device
TFTP from server 192.168.1.103; our IP address is 192.168.1.101
Filename 'u-boot.bin'." j: { [4 F- w+ t- V. z# ~
Load address: 0x60001000- {* |, @8 r0 s: l+ m
Loading: ##################
1.8 MiB/s" y4 _: v% X4 y8 k" E* z, o
done
Bytes transferred = 257336 (3ed38 hex)
U-Boot > cmp.b 60001000 8000000 3ed38
Total of 257336 byte(s) were the same0 I, A- l$ H7 c L- v
8 u& ~7 j" K8 ?% T
接下来看看kernel 咋能。
说下eth dma 最大的注意事项,就是cache dma ram 一致性, 卡了好个晚上,对于这个一致性,没有多少经验,希望大家给点经验指导下。
2 m" W2 G* @5 d5 i0 z
switch to partitions #0, OK
mmc0 is current device0 s( C, h" s. @6 I: r9 b
Scanning mmc 0:1...9 J/ O. }6 P% W7 P$ G+ @* f
U-Boot > fatload mmc 0 60008000 uImage;fatload mmc 0 60800000 stm32h743i-eval.dtb # Y% |) F! J/ P# w/ _$ D1 c. q
1926672 bytes read in 19 ms (96.7 MiB/s)( T$ r- o( `6 H( Y
9370 bytes read in 2 ms (4.5 MiB/s)
U-Boot >
请查看串口定义部分 高版本内核串口的定义不一样 ttys0 具体看下驱动代码
看下这个如果你用的内核版本是这样+ o: A* \" @4 e% U, C9 X
git\linux-4.19.9\drivers\tty\serial\stm32-usart.h+ y$ U1 O6 {& S
?( i( `& z' D2 m8 D+ R5 _
#define _SERIAL_NAME "ttySTM"
把这个 U-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 "
2 w, |& N6 z0 G0 L9 {
# a& {" A' }6 \; W7 L8 R( C
改成这个4 Z: Y1 w3 n' @) v* U. V f, r
+ Q7 P: z, T4 x/ o6 I
env set bootargs "root=/dev/ram console=ttySTM,115200 "
" a3 r/ x/ L+ y
4 N& d4 O! |. b% M3 K; O0 j2 y- R
这个STM工程师比较那个,我也被坑了,各种分析,内存BUFF分析 等等 我就像骂一句 mmp
谢楼主啊
楼主您好,linux内核确实是你说的那样,但是改了uboot的bootargs后,仍然不能在启动内核后打印信息。。。stm的工程师看来是只管写不管有没有用啊。。。