你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32h7-uboot-uclinux 移植完成部分,分享给大家

[复制链接]
stone-363407 发布时间:2018-11-22 15:29
本帖最后由 stone-363407 于 2018-12-7 16:42 编辑
9 X1 y& f$ |8 x' C' p4 R- G7 [) ?3 R( s
代码地址: http://github.com/huayuguo/uboot-stm32h743_eth5 _/ E$ f* c; n5 Q
/ t2 x5 Z  o' m

) V5 n" [4 H% O

* L% y! I. ]+ ?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

, _0 T$ c0 H3 G3 f' g$ c* {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
. T8 r8 p) r* e0 eIn:    serial@40011000
/ S4 R9 S3 p7 }5 `* W, UOut:   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
, @  j7 m- [, L$ beth0: 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
2 w2 }3 [5 E+ b$ P/ i% Q( V' Q7 Immc0 is current device2 i% r  z* E% p5 b/ W) r- m, h
Scanning mmc 0:1...
6 F5 n  B6 X. I# OU-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;
) K" O, i0 u; G% I& S& i9 jU-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 "
1 I' U" A9 w. m) W9 TU-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'.
; _% g- B1 v$ [& _- `Load address: 0x61000000
  m  ?7 x. i$ U) yLoading: #################################################################% j0 I2 U- A1 g1 H
         #################################################################
- ~% s4 R/ R$ p* N3 Z" `         ##########
( _9 |4 X, |$ a         1.4 MiB/s
& \  H6 X& H6 E* _5 G, Wdone5 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
# H! B$ q7 Q* `, g- B" t4 V7 BUsing ethernet@40028000 device
8 C$ [- T. B, c, j2 r) D: M( k, [, ITFTP 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
* j' W( [# e, T0 |  n  g( p; c, BLoading: #
7 A3 f5 R, |- j. F         999 KiB/s
8 U# x& e' C( @5 ~9 K# H' tdone- f. |3 N0 c& x3 {# S
Bytes transferred = 5115 (13fb hex)
+ v0 J' C2 y, ~! r) I% M9 d! @: HU-Boot > bootm 61000000 - 61300000
6 p/ p- K/ q( Y9 k## Booting kernel from Legacy Image at 61000000 ...+ U$ s1 ~% d# G) N, \- s2 `
   Image Name:   linux
+ U1 F. A* O' f% C# _   Image Type:   ARM Linux Kernel Image (uncompressed)5 y+ Q' e$ H" m1 ]# H7 q
   Data Size:    2048504 Bytes = 2 MiB
, T5 }8 k) W, e   Load Address: 61000000  o" K* v1 A# }0 o. `0 X
   Entry Point:  61000000
8 I6 l6 l9 A+ `, e# e& Y2 y4 U$ Y   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
0 A( k! Q' Y1 S/ |5 k   Loading Kernel Image ... OK! h7 c/ X3 |, t, f# x
   Using Device Tree in place at 61300000, end 613043fa# ], `# |1 J; e2 ?6 Y

1 _) o! o0 H4 P& Z, r

! L4 W8 u7 ?1 {. k) {! fStarting kernel ...5 L( r( a4 p& U% |2 L
7 A9 ^' i( `, t% @

6 K* J/ X9 M: o' B2 {  b[    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
6 t, V9 _8 W, C: e5 C% B[    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
! [6 I. ^9 b0 {2 M7 r( G& X[    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
6 a' l* \2 h. |' M[    0.000000] OF: reserved mem: initialized node linux,dma, compatible id shared-dma-pool
6 x! b3 {4 g# ?8 D7 r[    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
) L; E+ y' D( t6 k) \) l7 w[    0.000000]   Normal zone: 32 pages used for memmap
3 J# G. n/ k9 j[    0.000000]   Normal zone: 0 pages reserved
0 v/ Q* P! J5 D* _) J[    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
+ t% v& k+ G* k4 ~1 S[    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:
' j" Z+ J% D# I[    0.000000]     vector  : 0x00000000 - 0x00001000   (   4 kB): Y& m- c% Z5 {# N6 q& k
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
7 ~1 \7 |. |0 ~( b[    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)
, n2 |7 {; W0 N) }[    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)
! F( {' Q$ T. @: I[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
( q" h; m- ?- O[    0.000000] Preemptible hierarchical RCU implementation.
; z" V- K; z; a; U4 L[    0.000000]  Tasks RCU enabled.1 ]' q5 U; N: D. _8 J  l
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
$ y6 }7 Y2 ?) m- j7 F' W. K[    0.000000] clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 18664651 ns
6 t$ x( P; u, o* t( z8 P" h5 D" A) m  P[    0.000000] ARM System timer initialized as clocksource
6 o/ r3 q5 ^6 ?7 R[    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)
" }; E! p0 P+ Y0 c, L& I0 [7 T9 E[    0.100000] pid_max: default: 4096 minimum: 301
) o0 c# `5 S5 l& K9 H[    0.100000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
0 T) Y) D0 N  h* r2 w% x* A: H  m  M[    0.100000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
- p9 Z6 P4 d9 j[    0.100000] Hierarchical SRCU implementation.
0 U1 s- p' G+ J: D[    0.100000] devtmpfs: initialized
+ G1 r" J/ q8 U' J/ s[    0.110000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
$ H! a/ C6 W' n+ e% L[    0.110000] pinctrl core: initialized pinctrl subsystem
/ z( L& F- C9 l[    0.110000] DMA: default coherent area is set
9 i$ p# _, p, P; [; P[    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
- J8 Z* i, D0 d% g% T* z[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOA bank added, ~# {" N' c0 |, H% e
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOB bank added
( K) E# a8 Y9 \0 C# p4 Y( Y[    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
# K1 I7 ?9 g5 k4 m[    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>
6 V$ j( X8 G0 B6 ^- r[    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
) T4 @( E7 d1 O" Z[    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)
2 h7 v8 d7 H" A4 l2 V6 U% |[    0.170000] TCP: Hash tables configured (established 1024 bind 1024)
4 k5 _1 b3 L1 j[    0.170000] UDP hash table entries: 256 (order: 0, 4096 bytes)
% K4 A3 u6 n3 S  o! k' k0 n[    0.170000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
9 ]2 \! S  S) w8 o- X9 O[    0.170000] NET: Registered protocol family 1
5 C/ y6 S& k: q[    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
; ]! s6 T! D' t! F8 y$ ?4 {[    0.400000] io scheduler noop registered: Z7 |* _# q3 \( g% ?
[    0.400000] io scheduler deadline registered
! u0 P# V- T0 d0 x- f" N' W[    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
3 u% c& @0 [2 X$ d! p4 z[    0.400000] STM32 USART driver initialized
  I2 ]  s0 k4 j2 g% X$ X[    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
9 h  s: h* Q4 _! j[    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
5 y  q' I; p4 M8 g5 e  `" w* K[    0.910000] stm32-dwmac 40028000.ethernet: use snps,dwmac-4.00..
* c( `, f. I# \4 \5 }2 d- A0 \[    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
+ n9 y2 o" w" }6 n- y. U3 E7 k[    0.930000] stmmac - user ID: 0x30, Synopsys ID: 0x41
5 C5 I( d& \  f# J; T& a[    0.930000] stm32-dwmac 40028000.ethernet: DMA HW capability register supported
1 c; q! O* d5 r! l[    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
9 I: K0 |  C: I. Q4 x7 k[    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
$ a, S4 z& w8 W% j: H9 C[    0.970000] stm32-dwmac 40028000.ethernet: Enable RX Mitigation via HW Watchdog Timer
/ V& P9 ?. E9 ^  @$ a, s[    0.970000] stmmac_mdio_reset : reset gpio direction num=28   `) g& w& o0 s) D7 Q0 c
[    1.080000] libphy: stmmac: probed
6 p3 B; _% E! t7 d9 }[    1.090000] stm32-dwmac 40028000.ethernet: register the MDIO bus
2 L7 [+ m, B. Y. n( V7 @/ ]- q[    1.100000] u32 classifier
) l0 w3 R, g) b5 f  c[    1.100000] Initializing XFRM netlink socket
# q! B8 j- S" i0 _! m4 P0 C[    1.110000] NET: Registered protocol family 17
" ^, e1 p/ @5 A" u2 u, ?9 E3 \[    1.110000] NET: Registered protocol family 15
( K9 o0 w  k4 h2 r6 V[    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
' j- g, p, h" M6 G( Z: ~0 ^' @[    1.140000] This architecture does not have kernel memory protection.
/ R% b: k6 F3 o. t. t" Lcan't run '/sbin/swapon': No such file or directory; r5 J8 N* o2 C8 w" }1 w
Initializing random number generator... done.
2 b/ [3 H. y6 f# h% qJan  1 00:00:01 login[59]: root login on 'console'
+ Z0 T2 h* S9 [( \  c~ # 1 B0 H9 J- t  |$ n3 b8 `, l
赞 收藏 5 评论16 发布时间:2018-11-22 15:29

举报

16个回答
stone-363407 回答时间:2018-12-7 16:08:07
本帖最后由 stone-363407 于 2018-12-7 16:09 编辑
( y- A8 f" N! [0 [0 j: V# T5 b. S- D7 H- Y
cpu 400Mhz  sdram 100mhz  cas=2
" _& S$ ]& x" x; ^% C8 _1 Q测试软件:iperf3
" F' ^4 ?. g2 P9 m4 M系统跑了25个线程测试速度如下。。。。没有原子裸奔的那个快............
$ c+ @' U) `- }" F, p6 N+ U+ V65.8 Mbits/sec

9 {4 o7 b9 ]  P% V~ # cat /proc/cpuinfo
5 F, x- R! @+ v7 _5 h, m' a7 ^/ cprocessor       : 00 q8 F/ t( M" `- L. B: E
model name      : ARMv7-M rev 1 (v7ml)
: @0 T" ~1 s) T0 K+ I: o1 ABogoMIPS        : 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

: K2 O+ ?/ i* x: C2 dHardware        : STM32 (Device Tree Support)
; a! J# m; \' [( U9 i3 k1 _Revision        : 0000
# S% {0 A( K+ e4 v5 sSerial          : 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
9 b: p+ Z9 j- B9 v+ a. l  H[  4]   0.00-1.01   sec  7.57 MBytes  63.0 Mbits/sec    0    173 KBytes      
- f8 E, R3 c% _4 s3 j* n! ]0 X[  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      
0 Y: @3 {3 n2 z" q6 p# [[  4]   4.04-5.15   sec  8.70 MBytes  65.4 Mbits/sec    0    181 KBytes      
; E2 H0 o* D4 S1 \2 Q) K0 @: R[  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      
1 |1 e. Y( \; F  c, j3 n[  4]   8.16-9.02   sec  6.86 MBytes  66.5 Mbits/sec    0    191 KBytes      
: A1 g  f' S% f4 ]4 J[  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
) L  E5 c, D3 G4 u[  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 [

& }2 J9 h3 k4 k) R+ @4 |9 |2 @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]
  m! B5 G' C" Y+ x9 K) P    4 root         0 IW<  [kworker/0:0H]" t# w3 `- i, H" ?- ]) E. R- v
    6 root         0 IW<  [mm_percpu_wq]
+ ?& Y6 H* \& ~# S$ f- q' _) A    7 root         0 SW   [ksoftirqd/0]. ?6 d2 x/ x3 v& o
    8 root         0 IW   [rcu_preempt]
8 X& O1 k. C+ k" W: z/ d6 U    9 root         0 IW   [rcu_sched]
7 T$ w/ C# x6 u/ l& P" j/ E3 `' ^   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]
' ?, @; F0 w! l9 C5 Y! a& A   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]
( w2 z" }4 F/ }: w. K" c$ C, ?   18 root         0 SW   [kswapd0]6 s. {0 ?# H# L2 U3 w
   41 root         0 SW   [irq/17-40011000]
4 r& \' d( J$ N+ {. o0 t   59 root       420 S    -sh
0 e; o- X* x9 \+ h7 n   60 root         0 IW   [kworker/u2:1]) |& r& G6 y* o* J1 s8 n2 t) g# Y
   61 root         0 IW   [kworker/u2:2]
) |+ N/ n3 c- C8 b2 A4 h1 D   64 root         0 IW   [kworker/0:2]
# }0 Y( T  I. ?4 P   65 root         0 IW   [kworker/0:3]
) |. h/ E3 B( _* v! _$ j   71 root         0 IW   [kworker/0:0]
* a8 S5 }( y9 ^# [! v$ _& d. u   75 root       396 R    ps
yhangzzz 回答时间:2019-3-7 20:20:51
本帖最后由 yhangzzz 于 2019-3-7 20:26 编辑
! b& c" Q0 `0 `/ t( J7 h8 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

  D2 K7 |4 w" ^* u$ ZU-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
" Q% C* J4 R# o  @1 |  E) IWARNING: Caches not enabled9 A& C( D" Y3 u
Flash: 1 MiB' r# v" s  h, h4 {! B* [8 {* Q
Using default environment
# x$ b1 l0 }9 T4 D5 x, v# ]3 J. U( n! N! ~" u3 M7 u& \  C& C
In:    serial_stm32x7
' A6 _# p# x8 bOut:   serial_stm32x7
3 _- c) M% ^1 G7 _! tErr:   serial_stm32x7% M  _( E+ o3 T) L4 \
Net:   
. p# q9 k: s& E  \& p0 ]) a4 v) E# T) jstm32 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
  w1 S# A- C9 V) k. k  }* x
0 r* K  D. Y: U' g' EWarning: eth_stm32_eth using MAC address from ROM
1 v3 y6 s, B& ^5 Q3 U4 Y4 ueth0: eth_stm32_eth
6 \+ F4 w/ l/ U6 {1 w" `( y- [" U  Cstm32_write_hwaddr
: \& c  Y  V8 P& q- s6 @5 R
+ v6 G: u' D' T' t! j8 W6 zHit 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

9 j6 A1 a0 _; N* Xstm32_eth_stop start
+ o+ M0 u, C0 {% U- c  E) t( ~7 f8 rstm32_eth_stop end
4 x" n" E- r2 a! C
* L8 R* ?% S; qstm32_eth_start start
; s  t  O9 v# r+ Tstm32_eth_start end9 w4 P* t7 l/ L+ t7 G+ B+ `8 t- k
Using eth_stm32_eth device
/ `* S2 x$ x7 @" Y! M5 A( R" gTFTP 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
9 {; U5 M1 n% _( qLoading: #################################################################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)
, t1 l% Q3 e% S" A7 B6 O' I% w/ D7 [/ K3 T3 _) j2 d
stm32_eth_stop start
/ ]$ N+ I* r8 u. p( a3 Y# c1 t8 tstm32_eth_stop end
, i% o- P. j, |, Z/ v! tU-Boot > tftp c0600000 discodtb.bin8 X, o. k/ ]' \4 x0 S- x

$ p) K9 }/ }- ^$ a, [  M. r" rstm32_eth_stop start7 d( D' O+ V/ u3 ]+ ], D* f
stm32_eth_stop end
( [& e# ^4 Z2 C7 o5 F" U# S( R$ _5 U% g+ O
stm32_eth_start start
8 J4 M: |0 l% B# jstm32_eth_start end, d& z: H% n' j- I+ J
Using eth_stm32_eth device
: X. X: {: V( B/ h0 |& j: K2 d) M+ YTFTP from server 10.0.0.6; our IP address is 10.0.0.2
, N+ }; m0 u. @: pFilename 'discodtb.bin'.
* k% u* Z, L8 a. ]9 K' kLoad address: 0xc0600000
: f% y4 E" V' l% `8 D9 DLoading: ##+ b; I) |% C0 ~4 p* |
         966.8 KiB/s
, q, x4 X; u" ~& K" I  p5 d9 g) i6 Gdone, V- y9 [# p6 q$ _  J3 M! c
Bytes transferred = 14858 (3a0a hex)
3 A0 L2 C& {* q0 i
5 B! j- J& J- N4 @( Z" a8 L5 V) Lstm32_eth_stop start: Q1 s' m* w; r) J. `/ v: W
stm32_eth_stop end
8 H4 S/ V  A' MU-Boot > bootm c0400000 - c0600000
6 h/ Q* C0 n8 A- J$ M## Booting kernel from Legacy Image at c0400000 ...
% b9 S4 {; z, H# N7 c   Image Name:   Linux-4.19.24
$ i# g5 q3 g/ v9 S) {+ s   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
, M( K1 C* F4 U! K   Entry Point:  c0008000
. Q, f* N" w; N" w" A6 a- C0 G   Verifying Checksum ... OK
4 y5 i% v$ z% t4 I0 Y9 z) _## Flattened Device Tree blob at c0600000
. a2 w" W# B6 G. O9 Y0 _" _   Booting using the fdt blob at 0xc0600000
+ c5 {) o1 n6 `' K: Y   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
stone-363407 回答时间:2018-11-25 11:03:43
eth 刚刚测试完成,只移植了UBOOT下的eth
! S# T4 k8 ^' l
1 `$ a0 R* Z( u+ `! \5 ~U-Boot 2018.09-rc2-g36b739b (Nov 25 2018 - 10:45:48 +0800)! f* c( o% n5 ^" y) z. S+ R

6 ?) J" r+ J) f3 Z! A0 D. |: M0 _Model: STMicroelectronics STM32H743i-EVAL board
$ Z( H- C3 Y/ M. PDRAM:  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
/ B" S) \! s8 C* c* eNet:   
$ G6 ]- _# @4 LWarning: ethernet@40028000 (eth0) using random MAC address - b6:1d:0e:15:99:e3
) f5 ^, {4 L1 v# A' n1 leth0: ethernet@40028000
: ^/ J* ^2 }) y$ \# \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
! j- b6 t  K% v) D! k8 v*** 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
: h5 Y) F0 V$ T7 d" o1 Sethernet@40028000 Waiting for PHY auto negotiation to complete... done6 a2 S! J- [* q3 Q  ]8 d5 C
Using ethernet@40028000 device
3 r0 e3 _: R. c% rTFTP from server 192.168.1.103; our IP address is 192.168.1.101
8 `/ s6 ^8 M5 x. DFilename 'u-boot.bin'." j: {  [4 F- w+ t- V. z# ~
Load address: 0x60001000- {* |, @8 r0 s: l+ m
Loading: ##################
: ^- l7 t* c6 k3 v8 [& p6 M         1.8 MiB/s" y4 _: v% X4 y8 k" E* z, o
done
+ s0 Q8 Q& R$ p6 TBytes transferred = 257336 (3ed38 hex)
: T6 B9 {4 K; a+ wU-Boot > cmp.b 60001000 8000000 3ed38
1 `+ ]6 w! _2 y' h1 U7 y+ BTotal of 257336 byte(s) were the same0 I, A- l$ H7 c  L- v
8 u& ~7 j" K8 ?% T
接下来看看kernel 咋能。
- D" ]+ B/ z; O* E& B! k" F
* A2 G4 M; E9 W; M6 \: [" c说下eth dma 最大的注意事项,就是cache dma  ram  一致性,  卡了好个晚上,对于这个一致性,没有多少经验,希望大家给点经验指导下。
mzy2364 回答时间:2018-11-22 15:43:47
赞,这个厉害
andey 回答时间:2018-11-22 16:45:58
提示: 作者被禁止或删除 内容自动屏蔽
stone-363407 回答时间:2018-12-7 16:12:46
另外附上 uboot 下SD卡的速度
' F6 T% c( n- I1 C- n# j1 N2 m" W2 G* @5 d5 i0 z
switch to partitions #0, OK
* C% x& X* b3 ]6 z- l9 t% Q, Fmmc0 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)
: D& q9 f) f! G/ ^  b& `U-Boot >
STMWoodData 回答时间:2018-12-7 16:25:35
提示: 作者被禁止或删除 内容自动屏蔽
stone-363407 回答时间:2018-12-19 14:42:14
6#数据因为timer 不对所以数据不对 抱歉!!!
3111272 回答时间:2019-3-8 08:58:55
厉害厉害
stone-363407 回答时间:2019-3-12 21:14:54
yhangzzz 发表于 2019-3-7 20:20
+ r, V/ A$ t4 |" Q' K4 q楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...

% Y: G! u+ y2 N8 b请查看串口定义部分 高版本内核串口的定义不一样 ttys0 具体看下驱动代码
stone-363407 回答时间:2019-3-12 21:53:59
本帖最后由 stone-363407 于 2019-3-12 21:57 编辑
7 q% S3 G1 H% t
yhangzzz 发表于 2019-3-7 20:20' e. i: i) Q; o& T
楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...
; p/ x3 i2 N* i
看下这个如果你用的内核版本是这样+ 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"
5 f# ?9 P3 s4 f) O- z* `& @5 {把这个    U-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 "
! V/ j9 b7 }% Q, t2 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

3 T, G) q" s- s$ I" Henv set bootargs "root=/dev/ram console=ttySTM,115200 "
2 y* k( x4 O' E
2 }+ T( q1 G2 h" a3 r/ x/ L+ y
4 N& d4 O! |. b% M3 K; O0 j2 y- R
这个STM工程师比较那个,我也被坑了,各种分析,内存BUFF分析 等等 我就像骂一句 mmp
! p0 Q, A, }$ q
stary666 回答时间:2019-3-12 22:18:05
太牛了,,,,,,
yhangzzz 回答时间:2019-3-15 09:01:25
stone-363407 发表于 2019-3-12 21:53
' l" K( F% k( t# [& y看下这个如果你用的内核版本是这样
( V* V, |1 I' e0 O- dgit\linux-4.19.9\drivers\tty\serial\stm32-usart.h
* _: D! @, d: F
谢楼主啊,我回头试一下
yhangzzz 回答时间:2019-3-15 11:25:50
stone-363407 发表于 2019-3-12 21:53- ]9 k. Q9 V/ s1 `2 Y/ t* d
看下这个如果你用的内核版本是这样1 {  U" U5 A5 k& E3 _+ m
git\linux-4.19.9\drivers\tty\serial\stm32-usart.h

3 o4 \( G- `! |! D楼主您好,linux内核确实是你说的那样,但是改了uboot的bootargs后,仍然不能在启动内核后打印信息。。。stm的工程师看来是只管写不管有没有用啊。。。
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版