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

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

[复制链接]
stone-363407 发布时间:2018-11-22 15:29
本帖最后由 stone-363407 于 2018-12-7 16:42 编辑 6 Q1 g* C1 a: a

' C3 T2 b9 B3 {5 {9 x; \  J$ s  x代码地址: http://github.com/huayuguo/uboot-stm32h743_eth
7 k! S2 @7 S% d
  S! Q& `9 M, a8 \" D8 j
3 p4 f: x5 O1 w/ `
7 k' c+ ]# q' o" i* o
U-Boot 2018.09-rc2-gc16d658 (Dec 06 2018 - 16:00:30 +0800)
2 i: s" ]( O2 ]) y6 {- \
9 Q( m9 l7 S) i# e9 s2 K
- I* K7 f/ X" ~* ^* Q
Model: STMicroelectronics STM32H743i-EVAL board4 W6 H. L# V. {5 h  X8 y  c
DRAM:  32 MiB7 U: g/ t7 [  u. Q0 r
MMC:   STM32 SDMMC2: 0# i3 m: {3 W1 b# h8 Z5 G6 y0 q: _
In:    serial@40011000
; D+ t+ z; p/ C/ x) |Out:   serial@40011000
7 b, O  ]/ V5 N2 o/ g8 BErr:   serial@400110007 B( |& I. K. r. l5 D! i0 m
Net:   3 R) c" x% ]2 j( I- ~, P
Warning: ethernet@40028000 (eth0) using random MAC address - fe:f8:94:5f:5e:26
9 q9 e0 o" C" G2 W1 ?. M) Seth0: ethernet@40028000+ \- }% s8 `) ?1 m! W1 B) K& Z
Hit SPACE in 3 seconds to stop autoboot.
/ j" H2 j6 l' i8 G! z# O1 ^% kswitch to partitions #0, OK" D- c: i2 z* {$ y
mmc0 is current device  I" f, [6 X& `* e5 M( z
Scanning mmc 0:1...
8 f# Y) ^5 `3 v9 A# YU-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;
- o& ?5 ?. B  i2 Y2 L1 k2 s; ^+ mU-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 "
8 M, S) E& b% I5 i! o$ `U-Boot > tftpboot 61000000 192.168.10.25:uImage;tftpboot 61300000 192.168.10.25:stm32h743i-eval.dtb; 6 E6 A! S$ J+ h0 d
ethernet@40028000 Waiting for PHY auto negotiation to complete. done
# k8 S- X+ ?4 r8 _& D5 l4 ?Using ethernet@40028000 device0 o2 t: X- Q2 O8 n/ J
TFTP from server 192.168.10.25; our IP address is 192.168.10.226 `9 O# b" L3 Q4 n
Filename 'uImage'.
& _( e) }! g7 S, S" NLoad address: 0x610000002 d0 U" g4 S% ?& k  \6 O: I9 ~
Loading: #################################################################" t3 O0 w3 }2 F
         #################################################################/ }2 d. M! H: z& s' j3 u
         ##########: h/ Q) m! @  n
         1.4 MiB/s
) e) r0 a6 j! O& l! R  mdone
* A; f2 e# m1 g# J1 z% R0 oBytes transferred = 2048568 (1f4238 hex)5 A6 ?, c9 u7 l( @! r
ethernet@40028000 Waiting for PHY auto negotiation to complete. done
; }! o8 P% P' G" |Using ethernet@40028000 device
; L1 M0 V, @- ^& nTFTP from server 192.168.10.25; our IP address is 192.168.10.229 C% X5 F# T/ }# Z( P
Filename 'stm32h743i-eval.dtb'.3 w* B% `( i1 |# V& f' b
Load address: 0x613000003 I: @. ^5 A( f) |5 p1 v
Loading: #; W# _7 u# N' d) U: i; O3 F8 x: |
         999 KiB/s& N) `' w; _2 r( @3 d0 B
done9 i9 k; [' i7 ~4 x
Bytes transferred = 5115 (13fb hex)
2 E" K% o' ?7 o0 G5 }+ X7 P& sU-Boot > bootm 61000000 - 61300000 ! K. Q1 P; G9 F  R) H* e
## Booting kernel from Legacy Image at 61000000 ...  w& |# q7 X4 a' ^9 f- V
   Image Name:   linux& i3 l! a8 {8 k
   Image Type:   ARM Linux Kernel Image (uncompressed)
9 ~+ f/ L; l) n7 O8 r   Data Size:    2048504 Bytes = 2 MiB
9 R( O' H0 o) J% o1 n   Load Address: 61000000
  }$ x' V4 O# K& v2 E$ ~8 K( M   Entry Point:  610000000 R- t& \* Q8 Z4 q! B
   Verifying Checksum ... OK9 B) g8 Q* n+ i5 t% c4 J
## Flattened Device Tree blob at 61300000) K2 F$ _* f: l
   Booting using the fdt blob at 0x61300000/ i3 E3 j* e3 d$ J
   Loading Kernel Image ... OK0 R! Q. ~) u: a( A$ t  }
   Using Device Tree in place at 61300000, end 613043fa( `) F$ w# U- y4 [

2 {* c* W- C/ I8 g& O; ~
6 B4 Q1 m! E. U3 M
Starting kernel ...+ d# l* f. r2 U( i7 {" y% e& a

# X- Z6 ^5 f5 m) @! L  F
" u$ J! I5 F% ^& M  ~1 q
[    0.000000] Booting Linux on physical CPU 0x0
2 m/ y& o* S# {" D: |: M9 q[    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
) }5 d" v4 _5 b$ L  G  L, V[    0.000000] CPU: ARMv7-M [411fc271] revision 1 (ARMv7M), cr=00000000
1 [4 z3 g% }2 ~- y+ r[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache( m& a# \  s! g0 s6 T
[    0.000000] OF: fdt: Machine model: STMicroelectronics STM32H743i-EVAL board! k0 j( Q/ N) U, o4 g* v$ a
[    0.000000] Reserved memory: created DMA memory pool at 0x61000000, size 2 MiB
% |7 j8 B- B$ h0 W4 Y- J& @5 @# u[    0.000000] OF: reserved mem: initialized node linux,dma, compatible id shared-dma-pool
  D" @3 v5 S8 k3 I$ y[    0.000000] Ignoring RAM after 0x61000000, memory at 0x61200000 ignored
7 s/ i) x. N: \8 D: v2 E% K0 ?7 Z[    0.000000] Using ARMv7 PMSA Compliant MPU. Region independence: No, Used 2 of 16 regions) k0 w. ^6 l+ H% Y) `
[    0.000000] On node 0 totalpages: 4096% y9 R; r! E8 E2 R( N! y
[    0.000000]   Normal zone: 32 pages used for memmap
8 I; U2 I8 J3 x  j3 M( f9 d$ ][    0.000000]   Normal zone: 0 pages reserved# }- _) o9 N) o( u  B4 d
[    0.000000]   Normal zone: 4096 pages, LIFO batch:0
5 ?# u8 z" I3 ~, w, O[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
' \/ I8 x1 E) P# C6 |[    0.000000] pcpu-alloc: [0] 0
/ s, S; Y- |% n- V[    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 4064, B# a) h# O$ p  s
[    0.000000] Kernel command line: root=/dev/ram console=ttyS0,115200
( n) g% B8 w. K9 W[    0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)) c9 M+ _1 X% j, A4 l" `  l
[    0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
% ]" {- ]- A$ b* ][    0.000000] Memory: 13080K/16384K available (1596K kernel code, 154K rwdata, 496K rodata, 632K init, 130K bss, 3304K reserved, 0K cma-reserved)- g& t! R0 T+ F5 Q4 h
[    0.000000] Virtual kernel memory layout:5 \0 h; F+ |; F3 Q# [/ U
[    0.000000]     vector  : 0x00000000 - 0x00001000   (   4 kB)6 d: u8 {2 g2 F3 |: D5 ]  B7 ?
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
2 Z& f* T2 c/ v6 j6 |[    0.000000]     vmalloc : 0x00000000 - 0xffffffff   (4095 MB)$ p! V* J! R, i) T
[    0.000000]     lowmem  : 0x60000000 - 0x61000000   (  16 MB)
% N, p+ ^  X6 S2 |0 f[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (1597 kB)
3 m! p6 @# ^& E  o; j[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   ( 632 kB)$ N8 w1 H# A% a. ?! L
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 155 kB)
& Y) G0 A: q  O7 R* C% z4 `. U[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 131 kB)
1 |7 C% N7 a6 X/ a5 @6 ?; i[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1. S, X0 `+ v7 m& h8 g" D* c
[    0.000000] Preemptible hierarchical RCU implementation.
1 j  o1 Y* `$ ?* S[    0.000000]  Tasks RCU enabled.
5 D' a+ c3 p, U, G' _  \2 q[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16' ]8 U# c- T5 b, S* O7 H* h
[    0.000000] clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 18664651 ns4 S8 g# n' _3 d( g$ _
[    0.000000] ARM System timer initialized as clocksource2 l9 y/ F3 F, y/ q
[    0.000000] /soc/timer@40000c00: STM32 clockevent driver initialized (32 bits)
0 s. \4 A2 k" R[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
+ J9 n& y0 r; O) [1 W6 M! f' Q[    0.010000] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)9 I% _- Y. L# r: Y0 ?" ?) w
[    0.100000] pid_max: default: 4096 minimum: 301  B0 j# ?) W; ?0 U7 t9 d
[    0.100000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)8 ?) p+ ?. y# e# C1 _' K- v  o. Y5 u
[    0.100000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes), t* k# R9 s. f' K/ m$ g
[    0.100000] Hierarchical SRCU implementation.
0 Q8 n* t' A2 l1 u[    0.100000] devtmpfs: initialized
0 \5 j+ h. I, r% }! T( J[    0.110000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns% z3 E- {+ O. z) M4 a2 l
[    0.110000] pinctrl core: initialized pinctrl subsystem
2 |7 l: v1 P0 |$ Y/ v3 {[    0.110000] DMA: default coherent area is set8 g+ t  F$ w" Y6 ]+ }' d1 }+ v
[    0.110000] random: get_random_u32 called from bucket_table_alloc+0xc9/0xf4 with crng_init=0
4 \0 A4 {4 T* z( a[    0.110000] NET: Registered protocol family 168 C. A7 r/ D8 _/ l2 e; H
[    0.120000] cpuidle: using governor ladder
9 B! r; g* g0 \* X[    0.120000] cpuidle: using governor menu
; s: l, G2 W1 G3 o[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOA bank added3 \; X! h9 v5 @8 f2 J' [) ?
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOB bank added' g/ w5 @# x; ~! R- `% H- D
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOC bank added- \$ ?1 s; U+ Y% K
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOD bank added& c$ D; ^  w' D
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOE bank added6 v1 B3 L; e& w- ~! [( ^  u
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOF bank added7 o. t  i' r1 L8 o# Z6 M) B% P
[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOG bank added0 `& L+ E/ Y1 {8 s8 }1 ^
[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOH bank added) W% H" {; S; I9 ^( ?
[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOI bank added
; Q6 e6 ~" {7 L; a5 n/ G$ J[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOJ bank added( ~  t( X; \. R& r
[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOK bank added! M- w# u* H* V! \
[    0.140000] stm32h743-pinctrl soc:pin-controller: Pinctrl STM32 initialized5 I2 Z4 f/ I+ [2 w) v- Q6 q/ ^7 \5 `
[    0.160000] pps_core: LinuxPPS API ver. 1 registered
7 x: R. M+ Y  E6 F# |) d[    0.160000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
9 \1 g+ _1 }2 m0 J8 K[    0.160000] PTP clock support registered. s! G1 x& F" A# F7 s
[    0.160000] clocksource: Switched to clocksource arm_system_timer
% K( a% d& M3 V$ L5 G; F[    0.170000] NET: Registered protocol family 25 \- i  E  y3 P5 m+ l: B
[    0.170000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
9 v) g* z8 R( @* g- |[    0.170000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)& ^) o2 ]$ V9 s4 G4 @" e
[    0.170000] TCP: Hash tables configured (established 1024 bind 1024)3 R( {# u2 r% x8 ?& s& ~; C
[    0.170000] UDP hash table entries: 256 (order: 0, 4096 bytes)
. L" [6 u! M8 F+ w+ ?- z# f[    0.170000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
+ l; B6 P4 }5 {[    0.170000] NET: Registered protocol family 15 I8 Y4 v: \+ ^
[    0.360000] workingset: timestamp_bits=30 max_order=12 bucket_order=0
* Q9 C2 F  `* X! ~0 `[    0.380000] random: fast init done9 ~! G6 B* Z  p7 k0 |1 O8 v
[    0.400000] io scheduler noop registered
# M- ?5 X/ ^* s8 i" ?3 N$ b0 L[    0.400000] io scheduler deadline registered) u! U, L1 L, e* @4 m# K# Y' Z
[    0.400000] io scheduler cfq registered (default). g, S4 K/ F  g+ `  N
[    0.400000] io scheduler mq-deadline registered' E! J6 T& h9 o: z1 M
[    0.400000] io scheduler kyber registered* x! ]" W6 N6 b# L- V* R
[    0.400000] STM32 USART driver initialized
' a( X( H5 x/ t1 h[    0.400000] 40011000.serial: ttyS0 at MMIO 0x40011000 (irq = 17, base_baud = 12500000) is a stm32-usart4 u2 R7 }% c9 V) A5 q
[    0.850000] console [ttyS0] enabled3 L1 h4 H6 t7 a4 Q. ]$ W; i9 W5 Y
[    0.850000] stm32-usart 40011000.serial: rx dma alloc failed# F' N! |& [9 ^7 q) E
[    0.860000] stm32-usart 40011000.serial: interrupt mode used for rx (no dma)) A+ F+ i  v" f. X
[    0.870000] stm32-usart 40011000.serial: tx dma alloc failed
! q4 s$ M  }' r. w7 c/ L# B$ D[    0.870000] stm32-usart 40011000.serial: interrupt mode used for tx (no dma)# b3 E7 Y, l  j
[    0.880000] libphy: Fixed MDIO Bus: probed  G! V+ w6 f7 H1 t2 U2 _+ i6 j8 |; w3 Q
[    0.890000] tun: Universal TUN/TAP device driver, 1.6
- j, Y; r4 C; {[    0.890000] stm32-dwmac 40028000.ethernet: Found phy-handle subnode$ {3 x$ j( ]7 E* z. Z6 z
[    0.900000] stm32-dwmac 40028000.ethernet: Found MDIO subnode
( m! k' Y( e" O% f, P[    0.910000] stm32-dwmac 40028000.ethernet: use snps,dwmac-4.00..
! v; l- F& |" m3 `[    0.910000] stm32-dwmac 40028000.ethernet: PTP uses main clock
1 k/ ~! _6 Q/ g# N% H[    0.910000] stm32-dwmac 40028000.ethernet: no reset control found
* z& F' A6 ?2 D- Z1 t[    0.930000] stmmac - user ID: 0x30, Synopsys ID: 0x41
& s, O* s) [  W- y2 z[    0.930000] stm32-dwmac 40028000.ethernet: DMA HW capability register supported8 F& T- P$ Z8 [* ]3 s
[    0.930000] stm32-dwmac 40028000.ethernet: RX Checksum Offload Engine supported
) N) [2 G2 j& y% c; W4 F6 y[    0.950000] stm32-dwmac 40028000.ethernet: TX Checksum insertion supported, A  [- X  _" m, x& `. {% U
[    0.950000] stm32-dwmac 40028000.ethernet: Wake-Up On Lan supported
4 k0 m: v. T* K7 Q# o! s( b% A6 F[    0.950000] stm32-dwmac 40028000.ethernet: TSO supported
4 E6 O7 \2 m  i5 N4 a& b! R[    0.970000] stm32-dwmac 40028000.ethernet: Enable RX Mitigation via HW Watchdog Timer
1 ?" P/ h2 O* v, P0 ^[    0.970000] stmmac_mdio_reset : reset gpio direction num=28 $ E2 h+ ^7 T! M" J. R: T
[    1.080000] libphy: stmmac: probed
: @  \8 H  F4 Y, E0 U$ T[    1.090000] stm32-dwmac 40028000.ethernet: register the MDIO bus
. [0 A: t. o  O- ^* W[    1.100000] u32 classifier8 Z# b: L4 T# g; y8 D" w% L$ \
[    1.100000] Initializing XFRM netlink socket
5 d1 W8 I. f- A/ B5 f! D  u[    1.110000] NET: Registered protocol family 178 ^7 T2 l5 C& d! l
[    1.110000] NET: Registered protocol family 15
2 h, o7 q! Q$ J8 U$ N( x[    1.110000] 8021q: 802.1Q VLAN Support v1.8( N8 \' r5 z( x
[    1.120000] Key type dns_resolver registered
# o4 Q' Q# V4 e" A* T& h' F7 w2 y- ^[    1.130000] Freeing unused kernel memory: 632K) M; K7 t0 s; j, b: X
[    1.140000] This architecture does not have kernel memory protection.4 B  ]" ]6 k" K  Q% i
can't run '/sbin/swapon': No such file or directory
. {' e+ n# u7 t% KInitializing random number generator... done.# q( B' i& x; N# C4 w
Jan  1 00:00:01 login[59]: root login on 'console'
. W/ ]0 i+ E7 L# F7 H7 H6 d) X" v~ #
; F9 n0 }  N1 `0 D* p/ [! L
收藏 5 评论16 发布时间:2018-11-22 15:29

举报

16个回答
stone-363407 回答时间:2018-12-7 16:08:07
本帖最后由 stone-363407 于 2018-12-7 16:09 编辑
6 K; k# V4 i8 K4 \' h
7 _; c8 G; G  W* F$ N8 D6 m. ~cpu 400Mhz  sdram 100mhz  cas=2 ) ^! R8 r: D) P) D$ ~* V) _
测试软件:iperf3 4 |) w2 K6 O2 F
系统跑了25个线程测试速度如下。。。。没有原子裸奔的那个快............- S' L5 Z& p  r+ @4 E6 ?
65.8 Mbits/sec
4 Q) H8 D4 R0 p
~ # cat /proc/cpuinfo * M9 O" X2 d7 A7 z" y
processor       : 0% L& c6 g& z9 _  b
model name      : ARMv7-M rev 1 (v7ml)
6 V. S' Y1 Z% c! _BogoMIPS        : 795.443 q) ?& Y, T: |1 G3 }  V7 f
Features        : half thumb fastmult edsp idivt 1 X: J; \7 p; l; }: [' c
CPU implementer : 0x41
% w4 @+ g" r& TCPU architecture: 7M
+ {2 c/ f9 I: n1 B, ?/ gCPU variant     : 0x1
1 A: |+ w+ R' U7 @; h; eCPU part        : 0xc27
5 l6 r+ M, [1 u9 w1 @4 s4 }+ nCPU revision    : 1; O0 p2 `1 u" M8 D, y8 E

, D8 L& |7 {: I; \' f3 x) FHardware        : STM32 (Device Tree Support)8 g6 i. _) w; _( v* v
Revision        : 0000
2 @; S4 }/ v. N5 g: gSerial          : 0000000000000000
" Q; P1 \2 c. Z6 }0 Q8 L1 N~ # iperf3 -c 192.168.10.26
6 m' B- H6 l" g4 G* NConnecting to host 192.168.10.26, port 52017 ~3 f' F1 Y' K1 L
[  4] local 192.168.10.22 port 41328 connected to 192.168.10.26 port 5201
; X  w3 B" e1 m5 h# T! C[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
2 U! H7 j4 y* M* ^( _* O; d[  4]   0.00-1.01   sec  7.57 MBytes  63.0 Mbits/sec    0    173 KBytes      
2 y* J! P( a+ `) {; C[  4]   1.01-2.03   sec  8.22 MBytes  67.3 Mbits/sec    0    181 KBytes       % I' R6 D) i2 B9 h
[  4]   2.03-3.15   sec  8.75 MBytes  66.0 Mbits/sec    0    181 KBytes      
, W6 S& K3 F/ h4 j' D9 |[  4]   3.15-4.04   sec  6.90 MBytes  65.0 Mbits/sec    0    181 KBytes       , c- A# q  ^0 c7 ~& j
[  4]   4.04-5.15   sec  8.70 MBytes  65.4 Mbits/sec    0    181 KBytes      
: W9 c% [, P( h) {[  4]   5.15-6.10   sec  7.40 MBytes  65.5 Mbits/sec    0    181 KBytes       % ]" {* _7 L$ Y; N# X
[  4]   6.10-7.01   sec  7.37 MBytes  67.7 Mbits/sec    0    191 KBytes       9 e8 J! U& m" V3 u, D
[  4]   7.01-8.16   sec  8.95 MBytes  65.6 Mbits/sec    0    191 KBytes       - v$ i( f7 _# k# t) Z2 Y
[  4]   8.16-9.02   sec  6.86 MBytes  66.5 Mbits/sec    0    191 KBytes       / b+ e2 t$ J, ~4 g: Z3 x7 u9 s
[  4]   9.02-10.13  sec  8.73 MBytes  65.9 Mbits/sec    0    191 KBytes      
3 V. |# y+ {! \. l3 i- - - - - - - - - - - - - - - - - - - - - - - - -
- g8 ]- x: g! I  Z[ ID] Interval           Transfer     Bandwidth       Retr" [& T9 S5 Q) ~( P
[  4]   0.00-10.13  sec  79.4 MBytes  65.8 Mbits/sec    0             sender
+ `& {% a# c+ m% |1 e1 a. B[  4]   0.00-10.13  sec  79.4 MBytes  65.8 Mbits/sec                  receiver
& z, ~9 f2 d% _. M: q( e" z8 U/ J8 r9 _) s) X8 P" C) t
iperf Done.
1 Z  V9 U: |' ~; h' E# g- r% V. P~ # ps
' e! J! B5 _$ y- k3 ^  PID USER       VSZ STAT COMMAND8 l. g3 N2 v# [- i
    1 root       400 S    init
( q; ^; e: j2 V  j/ a) N" U, _$ ^7 \: c    2 root         0 SW   [kthreadd]
9 Q1 b1 ~9 Y! ^, B2 T) U1 {( A    4 root         0 IW<  [kworker/0:0H]
8 I$ o( ^* ~' t) u7 j4 ?# J( E    6 root         0 IW<  [mm_percpu_wq]
; F# Z- ^8 g" U: z) j    7 root         0 SW   [ksoftirqd/0]
4 G0 N" w0 }4 D0 [$ v4 Q: T) y; o    8 root         0 IW   [rcu_preempt]8 ]3 R" H# |; ?3 ^8 z! _
    9 root         0 IW   [rcu_sched]% b- t' Z. x0 l# Y- m
   10 root         0 IW   [rcu_bh]# O& w$ r$ n6 c8 O8 R# x
   11 root         0 SW   [kdevtmpfs]9 N: u: Z; d6 b5 l( N; `  E' S$ P+ Z- c0 [
   12 root         0 SW   [rcu_tasks_kthre]9 I8 L# C$ x! W# H% i' V* z& ?2 u
   14 root         0 IW<  [writeback]0 x  I% i9 o5 z/ I) g( v" k
   15 root         0 IW<  [crypto]' t- l% c; ~  G. `; f
   16 root         0 IW<  [kblockd]0 I- `% P: ^9 y
   17 root         0 IW<  [watchdogd], |; c* z8 }8 p4 |# _( G* j
   18 root         0 SW   [kswapd0]
7 s+ R) t- b( T   41 root         0 SW   [irq/17-40011000]! E! H. f( a7 }- x. ]+ \
   59 root       420 S    -sh
$ ]' F3 v. F- `/ M3 s   60 root         0 IW   [kworker/u2:1]
+ r4 c9 e) W6 |7 e6 _0 Q8 c+ U3 J   61 root         0 IW   [kworker/u2:2]
* n0 F3 G0 N% |1 {+ t" A   64 root         0 IW   [kworker/0:2]
* u# m4 j6 n1 v7 A' G$ `8 H  e   65 root         0 IW   [kworker/0:3]
5 m$ R, N3 z9 D' X* L5 }   71 root         0 IW   [kworker/0:0]; r2 ?1 O( @8 k
   75 root       396 R    ps
yhangzzz 回答时间:2019-3-7 20:20:51
本帖最后由 yhangzzz 于 2019-3-7 20:26 编辑 8 w' s/ w3 {1 U" }3 |
) h2 T# g% C( a& }+ k
楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移植了uboot eth驱动,因为没有移植MMC驱动,就打算把linux内核加载在SDRAM上,再从SDRAM启动内核;使用的是linux4.19.24默认的stm32配置,但是现在一直卡在“Starting kernel ...”,内核应该是没有起来;不知道您调试过程中是否遇到这个问题。附上打印的信息:1 g5 u" B( o$ b

! U' z6 Q; T* ?  C* e" lU-Boot 2016.09-g83ec55b-dirty (Feb 22 2019 - 18:30:58 +0800)' ?' g6 r  G' ], c6 w

3 t1 j8 e- w+ D# ^% l8 Y5 vDRAM:  8 MiB
" W& h' }) d' A$ m8 ?6 X# }WARNING: Caches not enabled
* i6 ?" d+ Y, }4 c) d8 c' _Flash: 1 MiB$ p- ?. d/ G7 h) X! R
Using default environment4 n  _; o+ U/ A) c

$ v8 ?' H7 Y2 N6 b9 bIn:    serial_stm32x7
: v8 c5 x4 U- `  N; uOut:   serial_stm32x7
, @! Z* u  z1 w! e0 v3 g; ]. U1 C) T! |Err:   serial_stm32x7; q3 r& x( a$ {$ W7 J+ K
Net:   
. [. t$ i! j& qstm32 eth probe start. {: r4 O  }) Q
stm32 eth probe end3 g0 U1 X' b/ t# Z. ]& o
stm32_read_rom_hwaddr) ^5 O9 f' R8 K8 q
( W- r3 C# p# F. T
Warning: eth_stm32_eth using MAC address from ROM2 `1 v! {  i; j9 x1 S! O0 d
eth0: eth_stm32_eth5 q" g+ G1 Q2 g; m) W* }, l6 U
stm32_write_hwaddr- I3 m2 A( A( O, T% D3 V/ ^

; [* K$ O1 W  E8 mHit SPACE in 3 seconds to stop autoboot.
7 f7 l1 Q. w2 x3 r* j) N) XU-Boot > set ipaddr 10.0.0.2
2 b- e  K- q' v6 N2 d: R! N- ^U-Boot > set serverip 10.0.0.6
3 O2 Y3 z( ~  V; D% ^U-Boot > tftp c0400000 uImage.bin
" e6 ]8 T+ d: _: _
# g' `% b5 P- X* ]) F2 x" Y7 Vstm32_eth_stop start
0 m9 p+ N) l! ~( x" u" ^& k" Y! Dstm32_eth_stop end
# X* @: }6 [4 S* K; A+ l. J( }
4 z# V* p3 P; mstm32_eth_start start
' V7 K" k2 u: r: ]5 R* gstm32_eth_start end7 G" y# w4 a' o1 Q4 |5 L
Using eth_stm32_eth device
/ r  k" ^& J1 PTFTP from server 10.0.0.6; our IP address is 10.0.0.2
  L$ {) [2 Q* ?% {/ Y# ~Filename 'uImage.bin'.; F7 Q! t* p* c% J+ I" }! c0 l& {
Load address: 0xc0400000
# f: u. x3 d" S4 d" k/ ULoading: #################################################################4 d+ |" e) M4 ]/ g) K. \: X
         ###########################
( }' E( X' v( W/ i5 ]/ y" \         2 MiB/s
+ L1 S/ {  E/ x2 B% w" v2 g; S4 e6 Idone; l( B3 Z+ s# ?( L+ q  |
Bytes transferred = 1337888 (146a20 hex)$ ^: O0 G0 m  N7 H& |

2 i. m0 K7 n; X7 U7 O! W5 p& `9 Estm32_eth_stop start
& c( {7 F' Z+ T% ]stm32_eth_stop end0 O3 a) B# n' }; q
U-Boot > tftp c0600000 discodtb.bin5 ?' w) }0 C. y2 h) t& j: J

* z4 U/ W+ S6 U- Z2 i5 `stm32_eth_stop start; q  M2 f9 }. x2 `
stm32_eth_stop end  [8 `1 W% q' d+ c

/ Q. J' D' I/ f/ u) [3 }6 ]stm32_eth_start start% N% B$ A' S8 K6 o
stm32_eth_start end. S- _! }8 t+ T! A- g1 c9 Y, e) r
Using eth_stm32_eth device6 m$ z1 u8 ^) I8 k% ?: y
TFTP from server 10.0.0.6; our IP address is 10.0.0.2% p) f1 X: W: ]4 Q7 J6 Y" F% h9 z
Filename 'discodtb.bin'.9 k8 ^  h4 G; c2 C
Load address: 0xc0600000
5 `. h7 {$ k7 d6 T' @Loading: ##
) T& G9 ~" E4 t0 z1 e         966.8 KiB/s: X$ G( \: p, D9 T  z
done- l/ N+ l, |% Y3 M1 F6 ~
Bytes transferred = 14858 (3a0a hex)
6 y8 B5 E- L% P1 Q: j+ n  v9 e9 o
& ]. x+ X9 k7 Dstm32_eth_stop start
+ f  D5 H4 j0 r4 d1 `stm32_eth_stop end$ a  l3 m1 q$ @6 h3 j( d/ {; D: n
U-Boot > bootm c0400000 - c0600000& p! k, V  P& ~/ Y% a- r
## Booting kernel from Legacy Image at c0400000 ...8 n) t- ]; m; y# ]1 T8 a* r
   Image Name:   Linux-4.19.246 A4 ?: _  F/ G9 a
   Image Type:   ARM Linux Kernel Image (uncompressed)
- n4 b. d' w. e' o4 `- Q3 y( f   Data Size:    1337824 Bytes = 1.3 MiB; ?0 c- V; G6 s, D# A8 i& C
   Load Address: c0008000
- M& L/ I, K0 g( x- \) j   Entry Point:  c0008000
0 e  S/ ]; K0 u$ ~/ ~   Verifying Checksum ... OK
: _; j9 X0 w2 b* Z## Flattened Device Tree blob at c0600000
; l  e1 h1 ]4 ~% z# y5 m   Booting using the fdt blob at 0xc0600000
. N, ~& J" s9 O  l% `1 C( V   Loading Kernel Image ... OK
( ?+ @: Z( e( q& V' G- O9 V   Loading Device Tree to c07c7000, end c07cda09 ... OK6 M+ O8 h& E; I( O

% b  U) |  [7 r  }+ dStarting kernel ...0 p% }, b* M; p  `) u

4 ?. x3 m! M7 h, }
stone-363407 回答时间:2018-11-25 11:03:43
eth 刚刚测试完成,只移植了UBOOT下的eth
0 l1 i6 i, A, V  }9 i5 d. g& I- a4 J$ l3 [. b  N* s
U-Boot 2018.09-rc2-g36b739b (Nov 25 2018 - 10:45:48 +0800)/ w/ }7 }  ^8 I+ c

& q9 U9 R5 T, d. ^1 oModel: STMicroelectronics STM32H743i-EVAL board# S0 {* f/ U& i" a1 O
DRAM:  32 MiB
. Q# {( Q& S  s; Z# l0 lMMC:   STM32 SDMMC2: 0
/ h0 Q0 j8 K* ]6 o# cIn:    serial@40011000
9 C: s9 O; ?3 t* y+ bOut:   serial@400110009 I. C4 ]( [5 I# [" c  L6 k5 g5 m
Err:   serial@40011000: X7 c) l# i6 z1 r0 n% E
Net:   % `, H0 x. u' y7 ~
Warning: ethernet@40028000 (eth0) using random MAC address - b6:1d:0e:15:99:e36 y9 z& s1 b1 N% i% ]+ g. N, s' W
eth0: ethernet@400280006 E$ W0 H1 c. q) S
Hit SPACE in 3 seconds to stop autoboot.
) x6 j* Q  n" g- Q3 ?7 zCard did not respond to voltage select!
" i, V) r8 ?5 p" z9 CU-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin
1 ?/ j  p  C7 G: o6 ~2 `ethernet@40028000 Waiting for PHY auto negotiation to complete... done! I" [  a1 T2 S
*** ERROR: `ipaddr' not set
4 `+ z6 T' E$ O. l  w: i. mU-Boot > set ipaddr 192.168.1.101;set serverip 192.168.1.1;set ethaddr d6:54:97:9f:9a:90;
% r7 ^/ D) x& zU-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin
8 b& x% T- b" N0 x/ j, s* W8 T+ D& y  |ethernet@40028000 Waiting for PHY auto negotiation to complete... done
$ t& ?* X4 J: mUsing ethernet@40028000 device
4 Z3 s) a' E4 c! t* j. tTFTP from server 192.168.1.103; our IP address is 192.168.1.101
2 i) M0 z6 z9 }$ D/ YFilename 'u-boot.bin'." u1 Z9 A0 b* ~9 V0 O
Load address: 0x60001000! a% Q$ A# m6 d
Loading: ##################
5 }  M0 Z9 T8 R, m" E9 H         1.8 MiB/s1 ^: {; I7 Z& \8 G1 P
done
" t$ J; x( p5 q* ?. h% `- B# oBytes transferred = 257336 (3ed38 hex)0 `' H$ w& f- r/ q3 {0 I
U-Boot > cmp.b 60001000 8000000 3ed38
8 J3 r+ A$ S4 ^& c* ~; @" g  zTotal of 257336 byte(s) were the same2 S! Y. V5 W7 m+ l# T
7 j5 {$ p! ~  {# P/ i4 x' @6 k) e
接下来看看kernel 咋能。
, Y7 b+ f2 t- J# {: g. k! X1 j  a2 Y  E2 P0 R6 k; s
说下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卡的速度
1 ]; \; k" |- r" i
, A) G7 i& A- m! U6 v: v  tswitch to partitions #0, OK; \9 w" g/ \  B
mmc0 is current device0 P- O3 {3 c( m# F" A6 w6 g4 H$ x
Scanning mmc 0:1...7 m" u$ p9 q, |' G0 [+ ], h/ o' x
U-Boot > fatload mmc 0 60008000 uImage;fatload mmc 0 60800000 stm32h743i-eval.dtb
, O6 `. W2 w  j1926672 bytes read in 19 ms (96.7 MiB/s)5 h4 }8 s# e$ ]8 C! u
9370 bytes read in 2 ms (4.5 MiB/s)
4 [7 E  h" m4 o/ N+ w$ I6 VU-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:202 e3 ~  r) z% n: S& e8 l
楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...

' _; x5 J( e" X1 _" D% C: t2 w请查看串口定义部分 高版本内核串口的定义不一样 ttys0 具体看下驱动代码
stone-363407 回答时间:2019-3-12 21:53:59
本帖最后由 stone-363407 于 2019-3-12 21:57 编辑
1 L/ z! ?4 L. E* K$ K
yhangzzz 发表于 2019-3-7 20:20& Z' g  b6 D2 S- l. z
楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...

1 j" i5 q# e! Y* D看下这个如果你用的内核版本是这样+ ?" C3 R( e  {8 X
git\linux-4.19.9\drivers\tty\serial\stm32-usart.h
; w; n/ N2 {0 A
7 T6 _9 E& \; V' I; u/ y$ C#define _SERIAL_NAME "ttySTM"* l6 l2 @9 j; a- t$ `3 e4 g
把这个    U-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 "
9 b2 |& y3 a3 O1 P8 p6 o' X, o. h
( j1 p3 V* Q) e1 b. G0 |

# ]5 Q! i, o' t) ]  S& F改成这个
. `1 t  Q7 e) z3 b$ j% _+ b& h. \% E. G; y) i

+ a# a! m+ o- Y* r- X% v1 x1 @, Eenv set bootargs "root=/dev/ram console=ttySTM,115200 " ; {1 g3 \5 {6 D* ?: ?2 U
! s. s. w- I' U, I4 c

- [1 ~0 N5 k  H

3 N/ x" P" S( R这个STM工程师比较那个,我也被坑了,各种分析,内存BUFF分析 等等 我就像骂一句 mmp
8 b' V5 G9 |  X; t4 |# }1 {
stary666 回答时间:2019-3-12 22:18:05
太牛了,,,,,,
yhangzzz 回答时间:2019-3-15 09:01:25
stone-363407 发表于 2019-3-12 21:53, J/ ], S' M# c4 E+ K1 r
看下这个如果你用的内核版本是这样' ^4 |# z3 G/ S2 Y- l: R
git\linux-4.19.9\drivers\tty\serial\stm32-usart.h

, p" }$ ~. B  b谢楼主啊,我回头试一下
yhangzzz 回答时间:2019-3-15 11:25:50
stone-363407 发表于 2019-3-12 21:53* a# s1 s) Z- o  L% }# e8 m7 b
看下这个如果你用的内核版本是这样: Q3 E# [% `7 X2 [2 ^
git\linux-4.19.9\drivers\tty\serial\stm32-usart.h

. a( c8 T( K2 L( ?8 u) X楼主您好,linux内核确实是你说的那样,但是改了uboot的bootargs后,仍然不能在启动内核后打印信息。。。stm的工程师看来是只管写不管有没有用啊。。。
12下一页

所属标签

相似分享

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