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

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

[复制链接]
stone-363407 发布时间:2018-11-22 15:29
本帖最后由 stone-363407 于 2018-12-7 16:42 编辑
2 d# }' T2 P, [4 e' z) v3 D& Y" |0 {* M) f
代码地址: http://github.com/huayuguo/uboot-stm32h743_eth) a0 v  B  K; l" [9 N2 i  ?1 Y
. Y" c( d2 G+ a, X2 t' `5 @

) }3 k. {1 P6 p/ Y- c# \, W$ ?; {3 m

) D& O; T2 @, g* pU-Boot 2018.09-rc2-gc16d658 (Dec 06 2018 - 16:00:30 +0800)
, W' \) N3 Q9 _) J3 ?) y% A/ I: x% d5 S% R6 e; ~  C( q
$ [! S0 W. ~$ I3 T6 r& G) ]7 R. ^% ^
Model: STMicroelectronics STM32H743i-EVAL board% O6 Y* C9 U  P2 ~2 \# G
DRAM:  32 MiB
2 l6 p8 ~+ z' J" Z2 S- q, L7 iMMC:   STM32 SDMMC2: 0
1 k' ~! I0 s* s1 j. P0 WIn:    serial@40011000
3 U& N: \" k. ~& s5 d( cOut:   serial@40011000& W. e$ _+ N, \# ]8 \1 J! m$ Z0 h
Err:   serial@40011000* l4 o7 |! o  ^1 ~+ F
Net:   1 G3 Y; e2 T7 I6 |9 k2 a5 f0 E
Warning: ethernet@40028000 (eth0) using random MAC address - fe:f8:94:5f:5e:263 ?) Y  O& P: h% H, J
eth0: ethernet@40028000
* o. k; X& x( ?  r/ tHit SPACE in 3 seconds to stop autoboot.
- L( [% w$ S  x! P( ?* X0 pswitch to partitions #0, OK* t4 {& @9 {7 D- f! O3 u' Q" P
mmc0 is current device! ?; z5 O. C" @8 |  @
Scanning mmc 0:1...
- @2 Z3 s" }* n. Y0 u3 e2 W$ ]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;
+ A/ `/ J; u  w- M" [: UU-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 "
5 u4 w+ d0 m* G; h4 |. i6 a' L2 oU-Boot > tftpboot 61000000 192.168.10.25:uImage;tftpboot 61300000 192.168.10.25:stm32h743i-eval.dtb;
0 k/ N6 g/ I: W6 |  W' eethernet@40028000 Waiting for PHY auto negotiation to complete. done
, j% q# e% y" }/ ]Using ethernet@40028000 device
  h3 I9 E& X* }  [9 G# I$ p  ~TFTP from server 192.168.10.25; our IP address is 192.168.10.22+ L6 K6 N$ W+ m: b) p" z
Filename 'uImage'.$ o  |& |6 {( m  V* W! N
Load address: 0x61000000
3 g  l, n( `" B3 \; }6 m3 BLoading: #################################################################/ f$ q+ G$ e/ C) _1 Y& n& k
         #################################################################
/ O- s; Y& o: S7 b% b. U5 M4 u# m         ##########
2 b! K2 x. b1 j. A3 d+ [         1.4 MiB/s
* O3 _! v8 l+ v7 ?/ F" ddone
% @4 r  A( H( u; n3 IBytes transferred = 2048568 (1f4238 hex)
. a1 p, b8 f- T8 h8 p* d5 |ethernet@40028000 Waiting for PHY auto negotiation to complete. done  B& K+ G7 ^/ ]  ?1 M5 K
Using ethernet@40028000 device* x% e. {. M, J! [
TFTP from server 192.168.10.25; our IP address is 192.168.10.22. t8 x- [3 o2 Y1 ~
Filename 'stm32h743i-eval.dtb'.
. j, N+ m5 E/ yLoad address: 0x61300000& V  s2 f5 i3 c, E$ |8 q9 ?. _
Loading: #, L+ e/ N% H. |$ i: g" n
         999 KiB/s- L( q! x2 u- Q! }( @; T' ^$ H
done
$ @" ]1 ~! O( ]* ]) LBytes transferred = 5115 (13fb hex)
. ]/ E  w, k1 OU-Boot > bootm 61000000 - 61300000 ; r) K7 S# i1 r2 D4 h$ `
## Booting kernel from Legacy Image at 61000000 ...! Q# N- g, u/ \; v: J
   Image Name:   linux
+ F6 ]( q+ s1 T5 i, r3 j+ o+ p9 ^   Image Type:   ARM Linux Kernel Image (uncompressed)% G7 g! f. h+ g( a! e/ k/ u4 g4 j
   Data Size:    2048504 Bytes = 2 MiB
, M# V. p' m. S+ N( s8 u, P; }   Load Address: 610000005 v9 i; I4 i# W* p
   Entry Point:  61000000
5 Y# f# g0 i+ T) n1 y- T   Verifying Checksum ... OK
$ [+ X) H: @; z- x% R& r& {## Flattened Device Tree blob at 61300000" Q/ J  l) F2 K- y0 e9 y2 B/ e0 g
   Booting using the fdt blob at 0x61300000% t4 t% f6 U9 V5 \2 r+ l
   Loading Kernel Image ... OK1 E1 g* r' L# P
   Using Device Tree in place at 61300000, end 613043fa) G1 F8 ]0 Q! d8 E/ P# f' H

6 P. z' y# _, [' J2 r# k3 g

9 F) S8 x+ G9 S. E6 f0 H! Y# n# H) qStarting kernel ...
7 N) j7 l% `1 y4 z3 G3 H$ d
3 X! M4 G: d. O! `/ c
' T0 A2 ?8 e7 p8 C# U% R8 X
[    0.000000] Booting Linux on physical CPU 0x0
8 }) z* e' Z) h/ _% F' y9 d[    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
- B1 z# ^  a0 ?) i! {9 p[    0.000000] CPU: ARMv7-M [411fc271] revision 1 (ARMv7M), cr=00000000
3 S) G( X0 o* t, ^[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
+ _/ E3 t) V6 R, v[    0.000000] OF: fdt: Machine model: STMicroelectronics STM32H743i-EVAL board4 `4 f. T! G/ v: Y! G1 j$ S
[    0.000000] Reserved memory: created DMA memory pool at 0x61000000, size 2 MiB- T: ~1 X9 a5 g# W5 H# e8 ?) K
[    0.000000] OF: reserved mem: initialized node linux,dma, compatible id shared-dma-pool, I3 _8 M1 i' s3 I8 y# `
[    0.000000] Ignoring RAM after 0x61000000, memory at 0x61200000 ignored3 k. B6 N( M" @! ~
[    0.000000] Using ARMv7 PMSA Compliant MPU. Region independence: No, Used 2 of 16 regions1 q! {# n; J( a5 h# ?- ^* e
[    0.000000] On node 0 totalpages: 40969 b0 g5 c# j5 d7 n% p5 L8 Q6 G& D' g
[    0.000000]   Normal zone: 32 pages used for memmap  u1 L. Q1 N, A$ j( n' |/ V
[    0.000000]   Normal zone: 0 pages reserved; ~7 ~5 ]7 N; T9 b/ m
[    0.000000]   Normal zone: 4096 pages, LIFO batch:0- @2 J3 p* j2 T6 c6 p8 l9 ~  B, o3 E
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
6 G9 Q2 J/ s6 V; [' P[    0.000000] pcpu-alloc: [0] 0 % x# L$ b+ K2 ~5 G0 T  y% C
[    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 4064  q1 ?, A/ ]8 F' `% G  e$ `
[    0.000000] Kernel command line: root=/dev/ram console=ttyS0,115200
" ]& [+ M( p6 C8 J( [; n* V[    0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)$ W5 W; K& G; ~$ D5 b! R7 s5 J
[    0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)4 e! N) O$ z' l
[    0.000000] Memory: 13080K/16384K available (1596K kernel code, 154K rwdata, 496K rodata, 632K init, 130K bss, 3304K reserved, 0K cma-reserved)# Q1 |# f6 M+ ~
[    0.000000] Virtual kernel memory layout:
5 I  U# y0 \- M. i! f* H7 `[    0.000000]     vector  : 0x00000000 - 0x00001000   (   4 kB)
; I  ?) ]. C% w5 E% u[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)! n9 ?9 X" `& L$ L
[    0.000000]     vmalloc : 0x00000000 - 0xffffffff   (4095 MB)
' W7 |! a/ n1 z% m1 k  ]" C1 ]2 Q$ k[    0.000000]     lowmem  : 0x60000000 - 0x61000000   (  16 MB)
6 A6 o& v' q+ B1 z2 n  o9 k[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (1597 kB)7 Q/ H5 `( e" Y  g4 L- H8 j& N
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   ( 632 kB): b7 z1 v" J; ^" W
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 155 kB)
9 [! M% j# a: |) n- O7 a" i[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 131 kB)4 w' ?$ s2 {- \( I) F8 ]4 k
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=10 d& D% s: Q" A+ W. H/ ?
[    0.000000] Preemptible hierarchical RCU implementation." C  Z& p; R  ~# V% Q7 ?2 T3 Y0 q' O; v
[    0.000000]  Tasks RCU enabled.( x# W$ |# J' p2 {
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16+ S! k( W/ g# K% o9 \
[    0.000000] clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 18664651 ns" _9 }6 G3 @/ y7 g1 q3 M: z
[    0.000000] ARM System timer initialized as clocksource9 ?: P1 j0 x* j' D) X
[    0.000000] /soc/timer@40000c00: STM32 clockevent driver initialized (32 bits)& ?3 q& K4 k* |* l; N
[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
2 J9 y8 e4 t- a* J8 N[    0.010000] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)) t) p$ {8 M1 g$ k, p
[    0.100000] pid_max: default: 4096 minimum: 301
0 x: [; O% h5 q3 q+ ?+ O. N[    0.100000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
3 F  U# r/ p: c# r# ]) N& Y[    0.100000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
( i. ^( K$ J% S* f0 b8 V# u[    0.100000] Hierarchical SRCU implementation.% f4 Q) e0 W2 S5 J# @- s" X$ y
[    0.100000] devtmpfs: initialized
$ T, M6 Z% V2 j' G% @[    0.110000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
6 o( R  c7 c6 u! X; M* t2 g[    0.110000] pinctrl core: initialized pinctrl subsystem
! D, H. t8 C  u# L1 d; i5 L[    0.110000] DMA: default coherent area is set6 r) z  d1 ^1 v8 ^( `( ?5 r" x
[    0.110000] random: get_random_u32 called from bucket_table_alloc+0xc9/0xf4 with crng_init=09 |' X/ d, Y. s
[    0.110000] NET: Registered protocol family 16+ [9 b' _* I7 W( Y
[    0.120000] cpuidle: using governor ladder
3 |$ i- p- v# J[    0.120000] cpuidle: using governor menu
, T0 X. U  F4 Y8 F# K9 ^/ V8 n[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOA bank added; T$ x3 A& |, s7 ^' \" \
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOB bank added/ R' j  c& h; p7 j! q
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOC bank added9 ?7 _! f' Q3 o/ n, o4 g- _
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOD bank added
! s3 J& o! s+ Q$ L- u9 k/ c[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOE bank added
& b& w8 h- ?5 |" y! r- S5 y8 E[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOF bank added
; W' u% L2 E! f# d3 Z0 ^[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOG bank added" n: s  i% t* c5 U" D0 @
[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOH bank added
7 |2 H( j4 ^% [- G+ b) j[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOI bank added6 M% V; A* |6 B/ t9 ?4 t6 a# P
[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOJ bank added
  Z5 K% W0 ]; ?0 e" c! d[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOK bank added
8 s. c9 K8 t% t+ n( D: a[    0.140000] stm32h743-pinctrl soc:pin-controller: Pinctrl STM32 initialized' ^8 i+ a3 g" V1 P1 M
[    0.160000] pps_core: LinuxPPS API ver. 1 registered% W  M, `. p/ K+ A! B! o; Q& \
[    0.160000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>$ b3 V$ V+ D: J! l: i  g# \% B$ l' b& D! z
[    0.160000] PTP clock support registered
' \8 J$ N5 k7 K% N0 D6 T[    0.160000] clocksource: Switched to clocksource arm_system_timer
$ s' o9 g7 T* w% `; _8 e[    0.170000] NET: Registered protocol family 2
" z/ _' L/ F4 Z  r( k" I[    0.170000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
) D5 q6 h' ?; |: U[    0.170000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)0 T; h1 f# c6 p2 T" ?
[    0.170000] TCP: Hash tables configured (established 1024 bind 1024)* I1 K: ~0 i9 L8 b; {/ Q- u/ }
[    0.170000] UDP hash table entries: 256 (order: 0, 4096 bytes)# T; \4 h( \, ]/ A" I9 n
[    0.170000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
$ Z) T% u9 Y4 |( M/ c# z- ~9 n[    0.170000] NET: Registered protocol family 1
/ j2 }# _0 A1 F8 d7 J# j0 ][    0.360000] workingset: timestamp_bits=30 max_order=12 bucket_order=0
$ l0 s* q: X4 ][    0.380000] random: fast init done, L. V' M, ~+ |/ s9 c1 s$ |) n
[    0.400000] io scheduler noop registered# k1 R- @# E" M8 V* q6 E
[    0.400000] io scheduler deadline registered
3 F- b5 S+ l  Q$ C% @/ k[    0.400000] io scheduler cfq registered (default)# v6 ^) d8 y) ^+ r7 h6 N
[    0.400000] io scheduler mq-deadline registered: E! @$ B7 D( i+ ?$ m" V2 m2 X0 b
[    0.400000] io scheduler kyber registered' G& |' Q  ]3 B1 u, {
[    0.400000] STM32 USART driver initialized
- v; T5 O. W" M% w, e[    0.400000] 40011000.serial: ttyS0 at MMIO 0x40011000 (irq = 17, base_baud = 12500000) is a stm32-usart
0 f, P0 D2 \9 `3 P[    0.850000] console [ttyS0] enabled
. J: D+ P9 F2 V+ y/ \3 }[    0.850000] stm32-usart 40011000.serial: rx dma alloc failed
& ^6 A2 _- p2 v- C2 T[    0.860000] stm32-usart 40011000.serial: interrupt mode used for rx (no dma)
) R& I' d0 l& m+ `. Q. u[    0.870000] stm32-usart 40011000.serial: tx dma alloc failed
+ {% r+ {  j2 Z) V. D, d; T[    0.870000] stm32-usart 40011000.serial: interrupt mode used for tx (no dma)
/ E0 w, I4 ~8 i+ A. H8 p0 `7 R[    0.880000] libphy: Fixed MDIO Bus: probed
, u) {: Q- C: t6 l, }8 e8 W[    0.890000] tun: Universal TUN/TAP device driver, 1.60 Q  e0 B7 |: F7 Y, g# D8 ?
[    0.890000] stm32-dwmac 40028000.ethernet: Found phy-handle subnode
% A) t- y/ N  W, _4 e4 K* J[    0.900000] stm32-dwmac 40028000.ethernet: Found MDIO subnode: k7 L4 `1 U' e( O
[    0.910000] stm32-dwmac 40028000.ethernet: use snps,dwmac-4.00..
) K6 c4 w' E; p( t7 b) y[    0.910000] stm32-dwmac 40028000.ethernet: PTP uses main clock0 _( Y& h' L" E3 [
[    0.910000] stm32-dwmac 40028000.ethernet: no reset control found. v! m9 a! k: G$ q. h, d
[    0.930000] stmmac - user ID: 0x30, Synopsys ID: 0x41
* y2 B+ z8 o& [  C[    0.930000] stm32-dwmac 40028000.ethernet: DMA HW capability register supported
! H8 [  ]. q1 ]9 \! w+ W[    0.930000] stm32-dwmac 40028000.ethernet: RX Checksum Offload Engine supported( O+ q) D4 W4 P; x- n
[    0.950000] stm32-dwmac 40028000.ethernet: TX Checksum insertion supported+ s  G- Y+ |# t; P
[    0.950000] stm32-dwmac 40028000.ethernet: Wake-Up On Lan supported( N0 b4 P8 B  U! F0 _
[    0.950000] stm32-dwmac 40028000.ethernet: TSO supported
' y% ^/ D3 \3 x- Y% n* l- E[    0.970000] stm32-dwmac 40028000.ethernet: Enable RX Mitigation via HW Watchdog Timer0 F+ D& D; k9 A$ Z% x
[    0.970000] stmmac_mdio_reset : reset gpio direction num=28 % C$ R6 F0 p& b% h
[    1.080000] libphy: stmmac: probed8 n9 L% U4 D! F0 c* e" }: u- Y
[    1.090000] stm32-dwmac 40028000.ethernet: register the MDIO bus
5 B* G5 H  @" y8 G/ d' s: I3 U[    1.100000] u32 classifier0 m9 V+ m+ W' n. g8 T; l
[    1.100000] Initializing XFRM netlink socket% b. b8 V! a5 ~+ N4 I
[    1.110000] NET: Registered protocol family 17) Q: |; Y+ m6 `' O* U  y2 M4 i
[    1.110000] NET: Registered protocol family 15" p8 t8 c: B7 ]( f
[    1.110000] 8021q: 802.1Q VLAN Support v1.89 v4 V$ O9 ?8 E3 s
[    1.120000] Key type dns_resolver registered
% _/ j6 Y8 g, J' J0 M: |& T; ]" S: {[    1.130000] Freeing unused kernel memory: 632K' }: e3 \% S$ Z& z# G
[    1.140000] This architecture does not have kernel memory protection." J1 {  ~9 i0 `! s2 o' m) R8 C/ _0 J
can't run '/sbin/swapon': No such file or directory* s) G, n/ O! J* ]/ S
Initializing random number generator... done./ t3 ~. T( X: k/ c+ s0 R1 E
Jan  1 00:00:01 login[59]: root login on 'console'% k% ~0 J5 g" S, k! G: U3 N
~ #
% o2 g  [) _* V. y# A- A4 d  x7 X
收藏 5 评论16 发布时间:2018-11-22 15:29

举报

16个回答
stone-363407 回答时间:2018-12-7 16:08:07
本帖最后由 stone-363407 于 2018-12-7 16:09 编辑 6 O* h( \  p, S1 J3 Q2 y! V
; z+ x) p6 X4 u* u2 ~" [
cpu 400Mhz  sdram 100mhz  cas=2 8 l, p' U+ T( Q  D5 ^. L+ c( O+ X! f
测试软件:iperf3 8 }. N* m: I. l& T8 Z$ d# d
系统跑了25个线程测试速度如下。。。。没有原子裸奔的那个快............! h6 A' O! z' t5 L7 R$ _3 u9 t" j2 g
65.8 Mbits/sec
9 m8 e4 r! b: H- H6 p1 M! Q" ^
~ # cat /proc/cpuinfo & G+ M. c$ m& M6 \7 \0 z. z! o
processor       : 0
; V& v# D' n5 [, H# h- W4 e, Pmodel name      : ARMv7-M rev 1 (v7ml)
% Z4 Y! B+ p5 ?* sBogoMIPS        : 795.444 W1 a2 I% r0 S. f1 x% D( \& }
Features        : half thumb fastmult edsp idivt 1 ?* K, r: f! A% m% \
CPU implementer : 0x41
* p& t" f- O. Z$ P/ q9 |CPU architecture: 7M+ c4 A9 X; @% O& F, ?" b5 G
CPU variant     : 0x1" t# l7 k! Z  ^' D" H$ \) {
CPU part        : 0xc276 O9 p" e% H4 E# [) U! m8 j
CPU revision    : 1
0 D$ A+ `  X, `) V) t
% X( l: w3 x- j! _Hardware        : STM32 (Device Tree Support)5 C8 \, ]3 ^4 b9 z
Revision        : 0000
4 |( Y6 {4 Y* b/ x$ D5 @) dSerial          : 0000000000000000- Q* u& C) c5 ?; b$ `& ]
~ # iperf3 -c 192.168.10.26
; W3 B1 d9 ~  M% rConnecting to host 192.168.10.26, port 5201- B* {/ S/ t( q( p; m! S% H
[  4] local 192.168.10.22 port 41328 connected to 192.168.10.26 port 5201
& S! D+ K  u# @  e: _! e4 Q[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd# h7 m- L! a; b. S0 r
[  4]   0.00-1.01   sec  7.57 MBytes  63.0 Mbits/sec    0    173 KBytes      
! R2 R8 P* v: K( m[  4]   1.01-2.03   sec  8.22 MBytes  67.3 Mbits/sec    0    181 KBytes       % I: C$ Z2 v9 l! f9 Y
[  4]   2.03-3.15   sec  8.75 MBytes  66.0 Mbits/sec    0    181 KBytes       : ~% H" l3 B- J" Y
[  4]   3.15-4.04   sec  6.90 MBytes  65.0 Mbits/sec    0    181 KBytes         I% W( f9 ~+ G8 ^/ j2 [( F
[  4]   4.04-5.15   sec  8.70 MBytes  65.4 Mbits/sec    0    181 KBytes      
8 B' Q8 q1 }$ l! O" A[  4]   5.15-6.10   sec  7.40 MBytes  65.5 Mbits/sec    0    181 KBytes       " ^' P! e7 c+ m) |" s  P
[  4]   6.10-7.01   sec  7.37 MBytes  67.7 Mbits/sec    0    191 KBytes      
" r  |1 t* o# }9 K( U: l$ W[  4]   7.01-8.16   sec  8.95 MBytes  65.6 Mbits/sec    0    191 KBytes      
5 H+ x4 M5 @8 L; d# [, \[  4]   8.16-9.02   sec  6.86 MBytes  66.5 Mbits/sec    0    191 KBytes      
" d# _2 u5 R1 u! R[  4]   9.02-10.13  sec  8.73 MBytes  65.9 Mbits/sec    0    191 KBytes      
+ D8 `# |1 y- p- - - - - - - - - - - - - - - - - - - - - - - - -
/ E& h6 f+ Q/ i" n( ?$ `[ ID] Interval           Transfer     Bandwidth       Retr; Q$ _. {. k$ M4 t0 c
[  4]   0.00-10.13  sec  79.4 MBytes  65.8 Mbits/sec    0             sender
; X5 U# J5 m( T6 }2 h[  4]   0.00-10.13  sec  79.4 MBytes  65.8 Mbits/sec                  receiver
( p3 s2 l6 Q* a' |9 m$ B& D6 b9 S. M8 ~) k1 n; i7 ^
iperf Done.
  }  f# H  L& |. X0 n~ # ps8 ]. m9 l) {7 Q. h- f
  PID USER       VSZ STAT COMMAND
% [- x' C* G- Z) l. @5 X: u    1 root       400 S    init7 \3 o( K+ s" U  }8 t8 |! Q8 m
    2 root         0 SW   [kthreadd]
+ F' v& \$ `/ X4 F# E/ r    4 root         0 IW<  [kworker/0:0H]; o  M) l+ Q+ x) ~" E/ s1 y6 s
    6 root         0 IW<  [mm_percpu_wq]
5 f* ^. [" {9 y  L3 g    7 root         0 SW   [ksoftirqd/0]
- r2 h) |& A% x% f    8 root         0 IW   [rcu_preempt]0 V& B* V$ G9 T, b7 w# o
    9 root         0 IW   [rcu_sched]* Z$ [4 a# W6 \" K% |
   10 root         0 IW   [rcu_bh], q/ c. H0 t, b1 N+ S3 c
   11 root         0 SW   [kdevtmpfs]
) j7 H: @' T6 F' s   12 root         0 SW   [rcu_tasks_kthre]
" r( v( f- ^4 z3 r& }  L   14 root         0 IW<  [writeback]
  _9 J5 o) L$ r' _   15 root         0 IW<  [crypto]8 i- f" t- I6 H% O& ~* P
   16 root         0 IW<  [kblockd]  c$ X8 q0 h5 F# x( l+ K
   17 root         0 IW<  [watchdogd]
8 L6 F+ k' e6 u; c   18 root         0 SW   [kswapd0]6 e# G8 q' W: p/ }9 S
   41 root         0 SW   [irq/17-40011000]# D- F2 v# i9 m9 ~$ u4 }5 E) a
   59 root       420 S    -sh6 j, U7 G2 E; O1 ]- i/ ?$ \  b
   60 root         0 IW   [kworker/u2:1]
  N0 S- J( f/ B. T9 s! F7 Z- A   61 root         0 IW   [kworker/u2:2]
- M6 T* C1 _. {: \6 r   64 root         0 IW   [kworker/0:2]# l0 k5 D( @3 F% j
   65 root         0 IW   [kworker/0:3]2 g3 a# `" f$ `1 m+ k8 S
   71 root         0 IW   [kworker/0:0]
. H# ~) u: y! `" {/ U- x% G   75 root       396 R    ps
yhangzzz 回答时间:2019-3-7 20:20:51
本帖最后由 yhangzzz 于 2019-3-7 20:26 编辑 . h* L. i  V' k8 O2 L1 F
% l8 O- B2 m5 d0 p  I: t, |  d1 q
楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移植了uboot eth驱动,因为没有移植MMC驱动,就打算把linux内核加载在SDRAM上,再从SDRAM启动内核;使用的是linux4.19.24默认的stm32配置,但是现在一直卡在“Starting kernel ...”,内核应该是没有起来;不知道您调试过程中是否遇到这个问题。附上打印的信息:! t# Y  m1 |8 P  t
2 f+ f& B+ b7 \  Y! C
U-Boot 2016.09-g83ec55b-dirty (Feb 22 2019 - 18:30:58 +0800)
; ?% o9 g  l7 n; }" R' }$ Q* c6 ?$ L& O, X6 {2 \) _0 z$ ?
DRAM:  8 MiB
& x. w9 Q- _1 l& gWARNING: Caches not enabled8 B0 G( [" G9 N
Flash: 1 MiB( N, x9 m! t& b" Y
Using default environment
2 W/ g" B6 w* c+ p: J) B& B+ z) l& k
In:    serial_stm32x79 s; o7 O3 c6 u. v& y, @
Out:   serial_stm32x7
, X! n+ y) W9 A  fErr:   serial_stm32x77 C9 L1 O! }& O$ B- C
Net:   7 d) v! s: a" s3 {7 y% i$ S, ]+ m8 z; ~% S
stm32 eth probe start' v; ?$ {4 [( s' ~5 \4 x
stm32 eth probe end  G6 ]9 g) U/ Z5 {( q6 x6 p5 t
stm32_read_rom_hwaddr5 ^/ q" J7 k/ n) R, K' E- J

/ V8 E) h. z2 L' OWarning: eth_stm32_eth using MAC address from ROM
, M/ g& J2 a4 Leth0: eth_stm32_eth
" }' O6 q2 H/ @1 C4 K$ estm32_write_hwaddr
4 [, M1 k7 z( G; T  G. K+ F8 W- d- ~
Hit SPACE in 3 seconds to stop autoboot.
- J, i9 b8 v2 t+ t! DU-Boot > set ipaddr 10.0.0.2
0 R7 W' E* g- g% r- c+ x9 bU-Boot > set serverip 10.0.0.6
; d8 K3 ^. B1 C3 [1 N( X1 bU-Boot > tftp c0400000 uImage.bin+ @3 t) y0 r' q3 z$ {& k
! q  B* M8 N; v* B+ A8 r) d
stm32_eth_stop start
) v2 l9 g& S, ?  N5 p8 h$ kstm32_eth_stop end
: {  L/ u1 q8 |1 [. ]" O6 e1 a1 ?1 u/ F& s& B& V5 T
stm32_eth_start start
$ f3 V: ?# z1 p9 V- y" i- ~stm32_eth_start end4 Y9 v4 `  N4 X( U8 p
Using eth_stm32_eth device$ Y8 {! o( ]( g4 B7 N! ?: z
TFTP from server 10.0.0.6; our IP address is 10.0.0.2; S  E; l  N( k
Filename 'uImage.bin'.
1 [* U5 T& z4 l/ ^! BLoad address: 0xc0400000% N0 Z( Y; |5 Z
Loading: #################################################################; l5 r- U; w; E% C2 f8 N) X
         ###########################
- `; X. M6 K# H) b& M9 f         2 MiB/s/ i7 i4 b$ f  Z6 u% W% k
done
# d  w6 ~7 J9 v0 S; eBytes transferred = 1337888 (146a20 hex)4 F, b+ a+ y# d% \! t% B

8 r1 I1 W0 K8 f: M; D( D. |stm32_eth_stop start
4 o# w4 x/ c' T7 Estm32_eth_stop end
0 e8 Z, u( }! b, e, h/ o& pU-Boot > tftp c0600000 discodtb.bin% L; T9 B; x1 j4 u) T4 g

  ?& g- v3 T: Istm32_eth_stop start
; J; Q! L; [: Kstm32_eth_stop end
8 R* f  d* Q8 l, ]- {! j7 i; |" D% N3 G
stm32_eth_start start
6 @" X/ ~, N- [0 K( c" Ystm32_eth_start end7 d- l$ v+ |6 ~9 y3 X; D/ ?9 s
Using eth_stm32_eth device6 h) l. X9 _7 d& Q! }  L; x: W
TFTP from server 10.0.0.6; our IP address is 10.0.0.2, u( V# f- Y8 X1 y* F  _. \
Filename 'discodtb.bin'.9 O* f$ y/ K- U  e
Load address: 0xc0600000
; M# P5 `* q1 @  F* f4 TLoading: ##
: z6 y. M5 y7 |! k' B         966.8 KiB/s
$ w1 v6 M. s. V5 \! W0 |9 T5 edone( H5 U- V9 R( {0 W$ h; j7 }; [
Bytes transferred = 14858 (3a0a hex)3 t7 v; k, [% X: Y
; V7 q( @* \7 t
stm32_eth_stop start0 F5 M9 x$ M( q' N0 h: W
stm32_eth_stop end( e7 d7 x( m+ m+ M8 A& Q
U-Boot > bootm c0400000 - c0600000
$ U4 S8 q7 l7 w9 m  ^: }! n## Booting kernel from Legacy Image at c0400000 ...
* L. n/ H( V& u# p9 J   Image Name:   Linux-4.19.24! l2 {- j$ w) b% |; @# ]
   Image Type:   ARM Linux Kernel Image (uncompressed)9 x3 y9 M1 u+ {! X) r* w
   Data Size:    1337824 Bytes = 1.3 MiB
6 \& g! M+ B& |+ w! e1 m# \8 q   Load Address: c00080009 d2 B) v5 o  M8 s) Z
   Entry Point:  c0008000& ]+ t" f( @0 A1 T: `6 k; f9 ]5 a. E
   Verifying Checksum ... OK
' ?0 @% q$ C7 l2 a; q7 G## Flattened Device Tree blob at c0600000( }/ Y+ K5 C" p( F$ R5 W: ?( U
   Booting using the fdt blob at 0xc0600000; Y7 N8 ~. N8 m) `1 J
   Loading Kernel Image ... OK9 S; ^5 m0 M  N$ M: {: X8 E
   Loading Device Tree to c07c7000, end c07cda09 ... OK3 x6 L: F3 B7 r+ z& P3 x
$ I- i! l5 E) k8 O
Starting kernel ...
- S: L5 z# A2 q' v! u/ k
1 o0 H9 H; b5 ~) `8 E$ \
stone-363407 回答时间:2018-11-25 11:03:43
eth 刚刚测试完成,只移植了UBOOT下的eth
$ o9 n% X1 H# ~8 z  {; P
- ]' {. x1 O4 U" i$ SU-Boot 2018.09-rc2-g36b739b (Nov 25 2018 - 10:45:48 +0800)
( d, g. y1 N6 d5 a) h) L* {( D/ G
: V0 P* U* N! E- T9 z2 p* `Model: STMicroelectronics STM32H743i-EVAL board$ J& E% J. U" W( @, s
DRAM:  32 MiB$ K3 F0 i0 N0 ~  K/ e) R6 T
MMC:   STM32 SDMMC2: 0
  A6 l) |' \5 {In:    serial@40011000
* \- k* ^! _% QOut:   serial@400110002 h) r2 b2 w3 g" G# a
Err:   serial@40011000- Q% C" q( E; |* E4 g# B/ n
Net:   
- V" t! I" N: fWarning: ethernet@40028000 (eth0) using random MAC address - b6:1d:0e:15:99:e3" Z6 H6 Q  e8 {# N# J5 @
eth0: ethernet@40028000
8 F- D2 ]* t& r( c9 S- o; w6 \Hit SPACE in 3 seconds to stop autoboot.
  T+ @8 l/ n" gCard did not respond to voltage select!8 p5 F+ ]1 j, u- h# q* W8 s, Y
U-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin
( i$ f: o2 K2 E" Q/ lethernet@40028000 Waiting for PHY auto negotiation to complete... done
+ w0 s1 Y. U5 }8 K8 u5 o. V*** ERROR: `ipaddr' not set
6 {# n% ^5 f4 C3 o" wU-Boot > set ipaddr 192.168.1.101;set serverip 192.168.1.1;set ethaddr d6:54:97:9f:9a:90; ) K, e& n' }8 p. v2 C" z. J/ ?
U-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin 7 _/ c8 k6 F9 C/ s4 G! r
ethernet@40028000 Waiting for PHY auto negotiation to complete... done
: j# e# w" h5 Y; C) w: }0 tUsing ethernet@40028000 device% G) `' c2 m4 Q' J) \& Y) e
TFTP from server 192.168.1.103; our IP address is 192.168.1.1013 h& f; \1 L8 b0 \; n
Filename 'u-boot.bin'.
- K' n# L" b  G, V* N# uLoad address: 0x60001000
# _2 e" f7 b% C: ^Loading: ##################; ?1 f( j- t* q
         1.8 MiB/s$ ^3 O$ y3 Y. V+ S0 @/ n. f
done
  V7 r" F, u2 ?# p4 x/ @Bytes transferred = 257336 (3ed38 hex)0 |1 t4 o4 |4 L8 g6 u1 C5 I, r. [5 k
U-Boot > cmp.b 60001000 8000000 3ed38
5 S- M) ?1 ^8 a4 F" BTotal of 257336 byte(s) were the same, r# u, N' a& b8 W. {1 W
1 r* A. y" h6 p3 W6 @! \) O% {: D
接下来看看kernel 咋能。
' c1 @* Y6 ~) F) e/ q3 Q
- X4 R- ?* t; `7 F4 Z  I" o- B& P8 o说下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卡的速度7 H# q" @$ Y2 T% J5 `3 ~' l& G

1 ^: _/ f+ {5 c: E) Z; @  \' z, oswitch to partitions #0, OK' J* A& ?6 p7 j+ d5 o3 b
mmc0 is current device
; F. E4 w! u7 FScanning mmc 0:1...: H8 n& ~! C+ R5 U1 D0 E: i" A: y" E
U-Boot > fatload mmc 0 60008000 uImage;fatload mmc 0 60800000 stm32h743i-eval.dtb
# v9 o& K4 K/ f0 L" ^1926672 bytes read in 19 ms (96.7 MiB/s)9 B- ~9 S- w0 O, ?$ O* A
9370 bytes read in 2 ms (4.5 MiB/s)
, R- H, e3 O3 o( fU-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
4 \, R9 |7 S) k( o6 ~楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...

) n2 S/ p( r* H! u9 |请查看串口定义部分 高版本内核串口的定义不一样 ttys0 具体看下驱动代码
stone-363407 回答时间:2019-3-12 21:53:59
本帖最后由 stone-363407 于 2019-3-12 21:57 编辑
2 _" p  {- k- F7 c, ^1 Q
yhangzzz 发表于 2019-3-7 20:20
2 z0 m5 @% k* ?( ]8 U* d5 R楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...
/ H5 S+ K7 c3 `, y1 Y
看下这个如果你用的内核版本是这样8 \+ g  p  U2 X1 [
git\linux-4.19.9\drivers\tty\serial\stm32-usart.h
& _" X8 s7 l2 ^2 z2 U  I; ?/ S5 j1 v6 a! N, e% q! C/ x
#define _SERIAL_NAME "ttySTM"
" O! Q/ t& n/ C  n2 ~- Q- J把这个    U-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 "   C2 y* N, A5 R, J) q) g
5 |+ @. r9 q5 F

! Y3 X8 X' o& m3 Y改成这个$ ^9 c1 Z. o$ g

# _4 |' [# E9 I7 Y3 T; C+ L. @) J
+ n) T9 j* x6 L! i
env set bootargs "root=/dev/ram console=ttySTM,115200 " ( _7 S3 H! [4 i3 c" p

  a- o" S' D% h+ q
" {4 u# {, h, D% Q) |6 Q! N

8 l9 J1 J7 g- H1 J- t这个STM工程师比较那个,我也被坑了,各种分析,内存BUFF分析 等等 我就像骂一句 mmp& w5 ]5 b4 @/ F/ {5 h; t
stary666 回答时间:2019-3-12 22:18:05
太牛了,,,,,,
yhangzzz 回答时间:2019-3-15 09:01:25
stone-363407 发表于 2019-3-12 21:53
1 h9 o2 g! ?3 s' \看下这个如果你用的内核版本是这样
# x! p0 o$ d% N0 l# vgit\linux-4.19.9\drivers\tty\serial\stm32-usart.h

- X' z% u2 i/ Y  m: ]& b& U谢楼主啊,我回头试一下
yhangzzz 回答时间:2019-3-15 11:25:50
stone-363407 发表于 2019-3-12 21:538 p  Y1 b8 g9 I  @) V3 ~
看下这个如果你用的内核版本是这样
7 v/ j! @) l' o' A1 |) Z: _git\linux-4.19.9\drivers\tty\serial\stm32-usart.h

  q6 l& y; e7 Z: O0 q楼主您好,linux内核确实是你说的那样,但是改了uboot的bootargs后,仍然不能在启动内核后打印信息。。。stm的工程师看来是只管写不管有没有用啊。。。
12下一页

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版