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

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

[复制链接]
stone-363407 发布时间:2018-11-22 15:29
本帖最后由 stone-363407 于 2018-12-7 16:42 编辑 ' l- H# d% s* O5 ~5 B

& M3 Y! r% o+ _( |/ Y8 N代码地址: http://github.com/huayuguo/uboot-stm32h743_eth
) \$ ?3 F* F6 F% K7 _4 G* R7 Z( |! ]# y) E- @5 u# y0 r! q8 U* w

! ^$ f! E# P7 r  V) s" y% [" \

, Z( O" v, [5 {8 lU-Boot 2018.09-rc2-gc16d658 (Dec 06 2018 - 16:00:30 +0800)
2 K# j0 H9 t  k2 c
- m8 W. h+ J/ v  l0 b

' j9 J4 v/ [* a* t5 \4 ~# B" kModel: 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
  `; Q- _; c9 y' i7 x2 U- y  h9 LIn:    serial@400110003 G" o  y* R" u9 w% E: Q
Out:   serial@40011000
0 N* G$ ^# O6 I/ Q9 X5 p) DErr:   serial@40011000
6 {- ~6 w$ X( ^7 L3 M" C/ G& _Net:   
0 {) z' q$ N2 u* m1 ?5 K! ~/ @Warning: ethernet@40028000 (eth0) using random MAC address - fe:f8:94:5f:5e:26
* j6 E& ^( v, i$ B# {: geth0: ethernet@40028000
, c2 {! @$ f1 VHit 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 "
: f" W  f* V/ Q* U1 MU-Boot > tftpboot 61000000 192.168.10.25:uImage;tftpboot 61300000 192.168.10.25:stm32h743i-eval.dtb;
8 ]7 V3 v+ g2 [9 Nethernet@40028000 Waiting for PHY auto negotiation to complete. done
2 D" C8 F* F  [. U8 r( R; ~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'.
; u, }* m% b7 D. x) _9 FLoad address: 0x610000004 @) Y$ {; K, y, b9 m- q8 I
Loading: #################################################################
3 M% m7 y- y6 |; |; K" v         #################################################################
$ l+ G. D6 C$ s- u/ |$ x         ##########
1 r% G) I7 |- g$ R' _6 c- a. @- [         1.4 MiB/s
4 N* l; p7 {- \, O% ldone) 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
( D' j# q2 @2 g3 J/ Z% kUsing ethernet@40028000 device
& ?( M. ]. k- i4 u2 r8 v& b% HTFTP 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: #
4 [% w9 d5 J: S! r' P         999 KiB/s
2 `9 Y$ d% P, udone
# }) B7 B8 P$ CBytes transferred = 5115 (13fb hex)
2 `" z( q. e# ?/ Y( n# QU-Boot > bootm 61000000 - 61300000
- a, j/ {! W: V( }! \## 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
# d. C# w7 @1 _9 R   Load Address: 61000000
7 {, t) C) @/ L# c5 g   Entry Point:  61000000) J. P0 ~- {8 w7 B$ Z9 z
   Verifying Checksum ... OK
- s* I4 C: M9 m5 Z* q+ k## Flattened Device Tree blob at 61300000
- j4 |! x# a/ V   Booting using the fdt blob at 0x61300000
7 V2 S6 D% C1 M( x7 P   Loading Kernel Image ... OK
/ Q% h) ?. x$ G: T7 s6 F. o# u  t0 N   Using Device Tree in place at 61300000, end 613043fa
+ W1 n' |2 F) v2 X1 c( \% g
' M3 R) @7 f! H1 h4 l9 c

8 U, ?' K. x- o6 MStarting kernel ...' _/ @2 O7 y* k; Z
" k6 d2 n2 X$ A; b- Q+ Y6 z' K

- b5 m5 E, t2 }, U/ R9 [  c[    0.000000] Booting Linux on physical CPU 0x0
+ Q- c4 C$ [3 `: m2 t" V[    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
6 s  u- A* R+ Z( y$ ^; i' J  N$ W[    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
( E/ Z8 `9 g& m/ m/ @[    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
& T9 q# u5 _; d" J( n[    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
7 f0 M+ _/ [' ]( ~6 ~[    0.000000]   Normal zone: 32 pages used for memmap
! I( s; ?4 {1 a4 ]% p0 e[    0.000000]   Normal zone: 0 pages reserved
+ i+ X  t% P5 N/ [. X$ H6 t3 ^[    0.000000]   Normal zone: 4096 pages, LIFO batch:0
) z' |! P1 U- |[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768/ T1 ^% F  S. b% E+ l
[    0.000000] pcpu-alloc: [0] 0
0 L* a- x1 {' e# y% @  e- f, M' W[    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 4064
4 o2 V0 l! O& Q7 J, N' P[    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)
- H& M& P8 l. }' K[    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)
5 F4 g, p& z( d8 e' G[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 155 kB)
$ z; o5 Z7 \' T[    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
7 J$ m" K9 R: h. m& S* L% N[    0.000000] Preemptible hierarchical RCU implementation.( T+ y. n* C( Y, \( y0 \% J* b) n
[    0.000000]  Tasks RCU enabled.
# D2 m2 `; ~* t! p1 G% A: w4 M[    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
' L! R# n6 @- @  r% B[    0.010000] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
1 C9 q% O4 g4 F7 v! ][    0.100000] pid_max: default: 4096 minimum: 301
0 m' v$ f$ D4 p9 {5 W& \+ H8 U[    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)
4 Y- d- e0 p# r* n" Y2 H) ^) C+ V. e[    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
$ o: P. y; O/ Y# V5 z3 F[    0.110000] DMA: default coherent area is set
- p0 F/ v3 \5 b3 V3 d+ ~[    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
- u6 _# I& l* D4 Z& Z  `9 A6 M[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOB bank added
4 u! m" b5 A: e. z; s[    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
% d5 w  s! Z/ l6 \7 `[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOE bank added
. P6 B+ a( A+ }( K[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOF bank added
' M9 K3 D, n, [[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOG bank added
5 t7 a' {) k8 F; W8 Y/ R[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOH bank added
  ?  e, J3 _$ M  m[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOI bank added
0 L0 Z9 f2 r- t( \. B9 P% f4 e2 r[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOJ bank added
, {+ b: ]% C) y5 U: Z8 r[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOK bank added
4 t  C3 x" y3 g; h[    0.140000] stm32h743-pinctrl soc:pin-controller: Pinctrl STM32 initialized
% J/ I# h6 U: g* m4 A$ E[    0.160000] pps_core: LinuxPPS API ver. 1 registered
" ^. t# X" U% M! N% D. R[    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
. c4 A5 ~% e9 E: N' }) j[    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)
2 @0 `' ~/ t" L8 `" g; w* q[    0.170000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
6 m6 h% ?  |3 X0 s- U5 d[    0.170000] TCP: Hash tables configured (established 1024 bind 1024)
) {. y# E* o2 x' h1 Z* I; Y[    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)
( }- I7 ]! U5 L7 e9 Y5 ^: t[    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
* `4 V/ I. \/ o3 x$ H[    0.400000] io scheduler noop registered
" B* Q! }% H6 j' Q7 V( t[    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
/ v* O  I1 \9 X! _2 w' U[    0.850000] console [ttyS0] enabled
* @# d; J4 r1 y0 l7 u: u[    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
/ D; p. f9 o" h6 l# u& N[    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..
, E( w) ]  J" G9 l: o# [[    0.910000] stm32-dwmac 40028000.ethernet: PTP uses main clock
1 [6 s4 J) l$ I. m, O- l' P[    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 Q. Z, ]; V4 C& @  Q5 {[    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
3 h4 U% Z/ B* {[    0.950000] stm32-dwmac 40028000.ethernet: TSO supported
: h- k- u3 g$ M* u  x4 _, b/ |. H( m[    0.970000] stm32-dwmac 40028000.ethernet: Enable RX Mitigation via HW Watchdog Timer
( ^1 E: b0 ^- N8 _5 b8 k( f% s[    0.970000] stmmac_mdio_reset : reset gpio direction num=28
/ m/ y4 k# F6 f1 m+ ~4 `[    1.080000] libphy: stmmac: probed
1 x) D9 E  P2 u[    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
, A/ y( x, M# D' W: i! `# b4 {[    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
. c6 q# a4 e& W[    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.
; \7 a9 \9 x6 Hcan'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'
, C0 e. [) D& K1 v~ #
# n: g/ `7 ~4 F) z( V
收藏 5 评论16 发布时间:2018-11-22 15:29

举报

16个回答
stone-363407 回答时间:2018-12-7 16:08:07
本帖最后由 stone-363407 于 2018-12-7 16:09 编辑
% S* t" x6 H+ i2 R; e# 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/sec
8 ]8 {( g1 u( e/ F3 N
~ # cat /proc/cpuinfo
% Y2 O6 f  a7 D3 I( k% C" Cprocessor       : 0
2 A9 W! [7 K* F- X- ?! N' |model name      : ARMv7-M rev 1 (v7ml)
  s1 d8 X! o/ ?3 QBogoMIPS        : 795.44
$ t+ x1 \# C8 AFeatures        : half thumb fastmult edsp idivt
: D% }8 f. b5 ]. S$ ~9 RCPU implementer : 0x41
2 s5 h- C( g/ G8 [, s% S! B" v, WCPU architecture: 7M. h3 _3 P6 q- S
CPU variant     : 0x1
5 W/ ^5 B5 K$ h% X" i/ y9 _( WCPU part        : 0xc27
3 V: n) a' q  h! W, wCPU revision    : 15 i0 Q, ]0 f. v( N3 z
5 |$ L5 {& m2 @8 a9 _4 u4 X
Hardware        : STM32 (Device Tree Support)
6 H! s% o* L- B9 SRevision        : 0000
6 ~2 g4 d' M! p9 @Serial          : 0000000000000000
" A" L2 \7 f1 F* c8 g~ # iperf3 -c 192.168.10.26
+ d5 u4 k1 z3 l( a1 ?1 uConnecting 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
$ M7 c7 V, d0 E( l[ 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      
$ K# F/ c+ P2 Q) e: @$ |[  4]   1.01-2.03   sec  8.22 MBytes  67.3 Mbits/sec    0    181 KBytes      
3 T- y8 S% G1 ?[  4]   2.03-3.15   sec  8.75 MBytes  66.0 Mbits/sec    0    181 KBytes      
, k* ?# l" f. r( V3 N5 l[  4]   3.15-4.04   sec  6.90 MBytes  65.0 Mbits/sec    0    181 KBytes      
, O% T2 I5 n" w+ r[  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      
; z& x. n! ]  j; f* A# P[  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      
2 U# q; B5 F6 e- - - - - - - - - - - - - - - - - - - - - - - - -
6 b% C: Q2 |- R" w' a[ 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
/ o$ t0 x4 s3 j5 N[  4]   0.00-10.13  sec  79.4 MBytes  65.8 Mbits/sec                  receiver
9 y7 b9 y9 f  `: z( f3 e/ V0 F/ j) [+ ]1 b
iperf Done.
. r6 ?3 k' {4 Z$ z3 l~ # ps
' v) D# O; A, v! R6 C/ h; S& \4 J: h  PID USER       VSZ STAT COMMAND
' t5 I( P* e, F  A    1 root       400 S    init9 u+ v5 k( ?' Q0 D0 ^7 O
    2 root         0 SW   [kthreadd]
& c2 f  q0 s. \& N' p- f$ F    4 root         0 IW<  [kworker/0:0H]6 q$ Q1 V: d! P/ h
    6 root         0 IW<  [mm_percpu_wq]
. Q8 F1 u5 z% l    7 root         0 SW   [ksoftirqd/0]
4 i9 q3 a) F( j- y1 b0 I- m) J    8 root         0 IW   [rcu_preempt]
" t9 h9 L  |- v) m, J    9 root         0 IW   [rcu_sched]
, K3 r) U; N7 y( n+ I& U4 q& T5 q2 d3 T   10 root         0 IW   [rcu_bh]
$ M! \" ]/ q( A4 ]' o+ H/ k   11 root         0 SW   [kdevtmpfs]  r/ ?) J" I! {6 l3 Q- s
   12 root         0 SW   [rcu_tasks_kthre]
& X: R- V" Q$ G) @1 }( {$ |   14 root         0 IW<  [writeback]4 }2 {' B; d: A: [- g# ?
   15 root         0 IW<  [crypto]
7 M& Y0 b; F/ R1 C3 p   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]
4 L. v' ~- A+ D. K+ w   64 root         0 IW   [kworker/0:2]
6 O; p/ n3 @( b( v   65 root         0 IW   [kworker/0:3]
: j) Y$ l) _% q3 b$ F! z   71 root         0 IW   [kworker/0:0]
/ j4 \- O9 ^8 `% D0 d  h   75 root       396 R    ps
yhangzzz 回答时间:2019-3-7 20:20:51
本帖最后由 yhangzzz 于 2019-3-7 20:26 编辑
% S, n9 s( }* t( k" n! l
8 Z. b( \" F* f, e楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移植了uboot eth驱动,因为没有移植MMC驱动,就打算把linux内核加载在SDRAM上,再从SDRAM启动内核;使用的是linux4.19.24默认的stm32配置,但是现在一直卡在“Starting kernel ...”,内核应该是没有起来;不知道您调试过程中是否遇到这个问题。附上打印的信息:) }: F$ r( b1 u7 }: f. J% q' X

& F6 S# Q  o' ~6 ^% uU-Boot 2016.09-g83ec55b-dirty (Feb 22 2019 - 18:30:58 +0800)
+ D: `' J3 I6 e: u  r' [2 C$ Y! x
: y& Y. X* e+ zDRAM:  8 MiB
4 \7 w- }" h7 c6 h9 t1 BWARNING: Caches not enabled. B+ n$ p. o2 o1 K! U! B
Flash: 1 MiB# s6 i" h# [+ V! }
Using default environment
1 Z! Q. t: W3 P% a1 ?, L5 J; R5 {3 Z# o; e7 s4 U8 d
In:    serial_stm32x79 G7 C( G  w9 [
Out:   serial_stm32x7
& d" `4 T7 c$ [& h; s+ M5 n7 }Err:   serial_stm32x7
# M+ n1 x. z6 P2 L3 v- p' M: JNet:   
1 q- `, E$ U1 j. k0 rstm32 eth probe start/ L, J1 A9 C. U1 e+ r
stm32 eth probe end
6 O/ l; `7 J3 g6 _( K4 Ostm32_read_rom_hwaddr+ W( e; c) r7 a9 |* M, Q

, J& @+ n3 F, y* d' ]0 ?Warning: eth_stm32_eth using MAC address from ROM1 M2 f( `- O3 M4 P' W
eth0: eth_stm32_eth
: u( V& l4 u0 O- \2 \" \4 Jstm32_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.
5 R; h% i* h$ Z6 Y& rU-Boot > set ipaddr 10.0.0.29 D" R* w- I- [3 T
U-Boot > set serverip 10.0.0.6
! W: p2 M  F- _: ~7 N: u: eU-Boot > tftp c0400000 uImage.bin
, `+ p. c6 |3 `0 V8 z4 i' E
& K8 s0 K2 T' p/ k8 F' u; `/ qstm32_eth_stop start8 H, u! O; ]1 v) C4 r& T: b
stm32_eth_stop end
9 N" _5 b& w3 \; K$ k' v  w
1 O* y2 k. u" y7 v' d$ Gstm32_eth_start start
% M, b- U% J7 e3 b% f9 \  tstm32_eth_start end
& R1 p- Q2 K1 ~5 W  {" f$ hUsing 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
, ?: z1 Z! Z- X% q8 ?8 yFilename '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
5 D* z8 t6 S9 ^  h/ \- \! m) I; i# `done
. E. |+ o# I/ H  @Bytes transferred = 1337888 (146a20 hex)
% f) @6 a; @0 ~, ^, k' b/ l5 `3 V* H+ G
stm32_eth_stop start
& J8 H0 Z6 m* _. c! qstm32_eth_stop end( @. I. d" {) ^' Z
U-Boot > tftp c0600000 discodtb.bin. b/ {% q- g+ E" @7 t) ]

' w6 `0 j. O: t! c4 v& Sstm32_eth_stop start
0 S1 g4 e7 V! b0 \; q3 _, Lstm32_eth_stop end
7 x0 o* J8 _, Z8 Z% _
* {4 ^9 _# l- j' n+ ]$ rstm32_eth_start start4 o( F" p; P4 u4 c3 w8 ]" U
stm32_eth_start end
' _) `% }# Q$ N4 o- F/ m5 UUsing eth_stm32_eth device
2 _6 P) k0 N8 K: X) e. k1 Z) A1 p/ u) @TFTP from server 10.0.0.6; our IP address is 10.0.0.21 w* i( m3 G/ [& `# ~2 D
Filename 'discodtb.bin'.
  K- Y5 n# t# E& b/ }Load address: 0xc0600000
- A7 I# M) G  o7 ZLoading: ##$ {* o6 H1 H' O! S
         966.8 KiB/s
9 Z! {; P' W' s1 `/ jdone
" r& B  o* V/ J, J& KBytes transferred = 14858 (3a0a hex); |) \# Y9 ?+ N' ]& d; D  w

, P  T8 }: l. T4 m# g4 _2 p5 Astm32_eth_stop start8 O/ n9 Y3 q' X
stm32_eth_stop end! c8 Z( o2 ]) |5 G4 f
U-Boot > bootm c0400000 - c0600000
+ a/ Y' _, P2 i2 [7 Q$ V## Booting kernel from Legacy Image at c0400000 ...
2 i' q9 V/ O, _! J* K   Image Name:   Linux-4.19.244 v% V7 v  e; U/ T/ \9 B
   Image Type:   ARM Linux Kernel Image (uncompressed)
' B2 a3 `9 a, ?   Data Size:    1337824 Bytes = 1.3 MiB/ }9 ^0 w* m; E1 x2 q7 o7 U
   Load Address: c0008000
( T% s; O+ l6 x0 M! D: E& s; q   Entry Point:  c0008000
# k5 f8 A* S2 j   Verifying Checksum ... OK
2 ?; n) j, W  x# x## Flattened Device Tree blob at c0600000
1 g9 ~, s8 {& n; {* O: {, u4 }" u   Booting using the fdt blob at 0xc0600000
4 X6 j/ j/ z0 N$ i6 N) [& y4 v   Loading Kernel Image ... OK
' T4 P9 m* a" p6 v3 `0 j   Loading Device Tree to c07c7000, end c07cda09 ... OK
/ Y- F' k7 H5 c5 i+ \# U4 l3 m" `  f' u  K/ I0 L' e
Starting kernel ...
) W% Q1 _3 J  t8 q1 n! f% ?1 v, c
stone-363407 回答时间:2018-11-25 11:03:43
eth 刚刚测试完成,只移植了UBOOT下的eth
, Y0 J. b' ]( F' }: 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

9 l. {6 R. ~- ~6 [# qModel: STMicroelectronics STM32H743i-EVAL board5 f: [8 ?  n2 q& h& f
DRAM:  32 MiB$ v; D3 ]% x5 U) J
MMC:   STM32 SDMMC2: 0
) q) E9 c3 O6 g9 ?" J# nIn:    serial@40011000; ^; D+ {' g# e$ V7 h7 F
Out:   serial@40011000+ y5 O, k- D0 z+ n7 E
Err:   serial@40011000
: b& b. n5 Q' |& `3 t9 f4 MNet:     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;
7 l5 M$ r( M& Y! B8 ?8 }' rU-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin
: |  J6 c) }2 r3 P/ o4 uethernet@40028000 Waiting for PHY auto negotiation to complete... done
; r& i5 s% k6 A) L5 L) {/ nUsing 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
+ T0 G- L0 U( h6 U+ i1 bFilename 'u-boot.bin'.+ ^2 I7 n, N' N
Load address: 0x60001000
7 |& {6 @. ~: I4 K' w0 H$ xLoading: ################### V' X, H% w4 K
         1.8 MiB/s
: Q% M7 `; U, I, Pdone
# `# k+ X, a) N9 PBytes transferred = 257336 (3ed38 hex)
$ Q( ]1 k$ ^  }, I; {1 \U-Boot > cmp.b 60001000 8000000 3ed38
& W( \7 @( \' X: zTotal of 257336 byte(s) were the same
1 [& a3 x; A- M8 @' L
6 \4 w! Z  s# l1 G% \接下来看看kernel 咋能。
9 [7 s1 v6 Y: t8 P7 u7 d3 d9 V+ f6 i; j4 n( v9 a
说下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卡的速度
( w& ~( J" b9 D! P) w, G
- r* `$ V  V5 a; e6 |+ L6 cswitch 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...
7 S5 h. o" [2 r/ G7 |  ~U-Boot > fatload mmc 0 60008000 uImage;fatload mmc 0 60800000 stm32h743i-eval.dtb
% ^" V2 g2 G' |: P+ f1926672 bytes read in 19 ms (96.7 MiB/s)
" }1 r8 f9 L+ U7 @1 v9370 bytes read in 2 ms (4.5 MiB/s)
6 e, Z" w/ T* \* R, Q8 h) g' jU-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
& v4 R! U1 V! R5 T$ J楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...

- Y# Q9 r4 G8 N$ Z3 P请查看串口定义部分 高版本内核串口的定义不一样 ttys0 具体看下驱动代码
stone-363407 回答时间:2019-3-12 21:53:59
本帖最后由 stone-363407 于 2019-3-12 21:57 编辑
* A) \& [- k' H5 J7 w
yhangzzz 发表于 2019-3-7 20:200 j6 G4 W% [4 \# @3 F
楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...
) q2 V* C. A2 L4 r. E$ z& T
看下这个如果你用的内核版本是这样
+ ]$ m3 E9 m; P$ k& N+ P& B6 igit\linux-4.19.9\drivers\tty\serial\stm32-usart.h' v( v( }4 {- j6 K9 U3 x' A  [( X

( r, U7 O( R+ V( C8 E#define _SERIAL_NAME "ttySTM"
$ B! H3 s, |+ ~8 F把这个    U-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 " , j* L! m; Z: }
: Q5 W* Y+ M' G3 y

" u5 C6 g8 i1 m4 z5 d/ T; }+ a2 @  x改成这个
) ~7 H3 Q: `2 V3 h: G7 o* d+ U9 @# n$ b

# j. H" _! Y5 t8 j+ H# Penv set bootargs "root=/dev/ram console=ttySTM,115200 " $ y; A5 q! T& @, a, j5 r

. n$ ]% r, U  {% U9 N7 R
" F+ G1 p. y; B

5 K3 X3 p4 o: H" r" t这个STM工程师比较那个,我也被坑了,各种分析,内存BUFF分析 等等 我就像骂一句 mmp' @, J) A# z) R' V* i) R% C
stary666 回答时间:2019-3-12 22:18:05
太牛了,,,,,,
yhangzzz 回答时间:2019-3-15 09:01:25
stone-363407 发表于 2019-3-12 21:53$ Y7 E; K8 E6 O# ?
看下这个如果你用的内核版本是这样
: E* B( M/ ]& Hgit\linux-4.19.9\drivers\tty\serial\stm32-usart.h

" L: r: ?: D" t4 z) }4 k, @0 K谢楼主啊,我回头试一下
yhangzzz 回答时间:2019-3-15 11:25:50
stone-363407 发表于 2019-3-12 21:53" h+ h6 Z  B' u; R
看下这个如果你用的内核版本是这样/ f# O; ?5 H; K
git\linux-4.19.9\drivers\tty\serial\stm32-usart.h
/ ]/ \  }& ?! @' @+ f" h
楼主您好,linux内核确实是你说的那样,但是改了uboot的bootargs后,仍然不能在启动内核后打印信息。。。stm的工程师看来是只管写不管有没有用啊。。。
12下一页

所属标签

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