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

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

[复制链接]
stone-363407 发布时间:2018-11-22 15:29
本帖最后由 stone-363407 于 2018-12-7 16:42 编辑 ( P/ m( h( }1 L9 \
7 T. ~/ |% _! p2 y; n% K% L9 q0 Z
代码地址: http://github.com/huayuguo/uboot-stm32h743_eth
* m4 i6 p4 V" ~( p, E
0 ]" A% @' }0 O, S1 g4 `5 r
  X& [$ b) n0 u0 l0 M
( h- P/ s; Z* _
U-Boot 2018.09-rc2-gc16d658 (Dec 06 2018 - 16:00:30 +0800)
7 q4 L! G# @. N" w+ N. q7 B
5 K2 X! Y4 I. |4 I6 p2 o
& J8 r9 d1 j( }
Model: STMicroelectronics STM32H743i-EVAL board
1 [% H  V& Y% [/ i1 D4 b+ e- f; hDRAM:  32 MiB
1 M" n, u1 o' h3 BMMC:   STM32 SDMMC2: 0
- O. J- `0 o6 `5 y) l1 L2 eIn:    serial@40011000
6 j6 k$ Z) b3 J; z; b+ v% hOut:   serial@40011000/ U, y; q& `5 D# P  z3 X4 c
Err:   serial@40011000
8 b  U$ |, C  \0 U0 @$ FNet:   0 s) h$ }5 C& s  t. [
Warning: ethernet@40028000 (eth0) using random MAC address - fe:f8:94:5f:5e:268 \. b: h$ n5 p2 o; x  P
eth0: ethernet@40028000' X0 E  U) ^1 ~6 Q3 @
Hit SPACE in 3 seconds to stop autoboot.+ C. K1 p) p* q6 G0 B
switch to partitions #0, OK; `! ~4 b% A/ X# a$ z
mmc0 is current device
! A& F' i$ l! M# xScanning mmc 0:1...% g+ G8 x( ~, n" _# \' i
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;' ~4 i6 m, O' a8 l3 B. A: g2 ^
U-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 "
, U: o+ w. h; d% |U-Boot > tftpboot 61000000 192.168.10.25:uImage;tftpboot 61300000 192.168.10.25:stm32h743i-eval.dtb; , B) M" \: k$ M" r& i
ethernet@40028000 Waiting for PHY auto negotiation to complete. done% M+ G. T% M" V/ V
Using ethernet@40028000 device5 b% l5 b: F, h0 Z* a$ n6 U
TFTP from server 192.168.10.25; our IP address is 192.168.10.22
, O0 D5 J# m, O& B6 PFilename 'uImage'.: R5 v* Z# V! ^: p
Load address: 0x610000007 X  v. z  V9 \4 _
Loading: #################################################################
  D0 J" z& {# b. L         #################################################################6 n5 B6 [; q) y
         ##########, K( s5 |: L* {
         1.4 MiB/s
1 t+ f# m. P, o2 G7 ]+ xdone1 e9 `1 z' |+ o- B, y4 `
Bytes transferred = 2048568 (1f4238 hex)( e  R& T4 J- U8 l5 n
ethernet@40028000 Waiting for PHY auto negotiation to complete. done, t- \  O) P! `$ E/ e
Using ethernet@40028000 device+ w, e( N: @" Y& {1 i1 ]
TFTP from server 192.168.10.25; our IP address is 192.168.10.22
+ f. C2 M& i/ f% P; [' J+ hFilename 'stm32h743i-eval.dtb'.' o9 q$ j3 ]- f
Load address: 0x61300000# U6 T0 q# |" R7 E4 \7 Q0 s
Loading: #
  h" S9 _: W& w/ l         999 KiB/s0 q4 ~$ M5 b: m' [3 c: z
done
/ c. _7 `. C/ o5 ]* p; G7 rBytes transferred = 5115 (13fb hex)
. m/ M8 Y  J( \U-Boot > bootm 61000000 - 61300000
/ W9 |3 z5 `% ~0 z" x( s6 P2 [## Booting kernel from Legacy Image at 61000000 ...
( {5 z4 k" b5 s! b$ k   Image Name:   linux+ x+ W: A, c( a
   Image Type:   ARM Linux Kernel Image (uncompressed)) N/ t5 B: D0 L  M
   Data Size:    2048504 Bytes = 2 MiB6 s( _* J$ d9 L& `# b: Z" Z2 T
   Load Address: 61000000
' U- J) n7 F& p   Entry Point:  610000000 z. r  `# O! o% v' p% f
   Verifying Checksum ... OK' @  l+ f0 ~8 l  E! Y
## Flattened Device Tree blob at 61300000! k8 q, j- h6 @0 _! p4 N) x
   Booting using the fdt blob at 0x61300000
! [4 o+ y8 D9 Z( `3 @   Loading Kernel Image ... OK
% @2 {6 @* ^# E, C6 N2 d   Using Device Tree in place at 61300000, end 613043fa) a& K' Q0 X, a, v8 K
5 F! O+ Y  Y2 v' A

& k. H$ ~' N( w: s9 M! ~* e# gStarting kernel ...9 ?7 ^  Z/ v9 \2 ^5 e  T
5 J# W  b1 s5 H" H# n7 r

1 U5 D- ?$ ^& z[    0.000000] Booting Linux on physical CPU 0x0
2 U6 w6 M* X0 G. 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 20183 P3 m% K4 Y0 Z8 e; b/ W  c
[    0.000000] CPU: ARMv7-M [411fc271] revision 1 (ARMv7M), cr=00000000
' {$ x' s1 N8 [% X& y[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
  v8 h5 W1 F8 r# s! G5 _6 l6 o: [9 G[    0.000000] OF: fdt: Machine model: STMicroelectronics STM32H743i-EVAL board
$ Q1 `% S& d* z6 t# |4 o- K+ b[    0.000000] Reserved memory: created DMA memory pool at 0x61000000, size 2 MiB
& L8 i; Q3 i+ p5 P5 |1 s, P[    0.000000] OF: reserved mem: initialized node linux,dma, compatible id shared-dma-pool( f1 t3 j5 r: b3 y
[    0.000000] Ignoring RAM after 0x61000000, memory at 0x61200000 ignored
. ]2 F+ V/ g1 u9 ?4 B[    0.000000] Using ARMv7 PMSA Compliant MPU. Region independence: No, Used 2 of 16 regions% O; L0 b2 j; ~$ Y" K, H
[    0.000000] On node 0 totalpages: 4096
" O3 l: M' Z* T( H4 G3 {[    0.000000]   Normal zone: 32 pages used for memmap1 P  A4 z/ D* Q) ~6 E
[    0.000000]   Normal zone: 0 pages reserved
2 X8 W2 J9 g6 J, U) _6 A[    0.000000]   Normal zone: 4096 pages, LIFO batch:0, s8 U4 K! Y' B2 \. Y2 I9 }
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*327680 A: ^4 }4 y) Q/ H# m0 n7 [! A
[    0.000000] pcpu-alloc: [0] 0 3 d% n. I2 M1 q+ y% E
[    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 4064
: Z5 H# `; k# j/ o[    0.000000] Kernel command line: root=/dev/ram console=ttyS0,115200 3 G% Z, U. Q) M7 Y0 L$ V
[    0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)$ r, M; m1 T# u2 \
[    0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)" i: {, i. `  m5 t7 @
[    0.000000] Memory: 13080K/16384K available (1596K kernel code, 154K rwdata, 496K rodata, 632K init, 130K bss, 3304K reserved, 0K cma-reserved), U( u0 H6 Y8 m- |
[    0.000000] Virtual kernel memory layout:
. |3 Q! Z# C. P- t# h, j, k& d[    0.000000]     vector  : 0x00000000 - 0x00001000   (   4 kB)" l9 N6 d" S5 H! Q
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
' b+ p# z( r5 P% d4 E[    0.000000]     vmalloc : 0x00000000 - 0xffffffff   (4095 MB)
' Q1 M! t; E9 ~& B- l3 `[    0.000000]     lowmem  : 0x60000000 - 0x61000000   (  16 MB)
' Z9 Y( F+ X& _[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (1597 kB)
4 S& c' D; C3 e" D0 |3 \$ y[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   ( 632 kB)
7 a, }$ y* `2 m0 [3 {[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 155 kB)1 R" z# b' s7 Y- c3 b
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 131 kB)
( ?7 Z. h. P+ P6 g- R- W( l[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=19 a3 M% W+ a% Y3 P* K( a/ h' P& A  P
[    0.000000] Preemptible hierarchical RCU implementation.
0 D+ d. Z; }  {" b7 G: }2 e[    0.000000]  Tasks RCU enabled.4 ~+ h0 ~, K1 t' G2 s
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
! [- M' I# ~2 D/ D5 q) |$ O/ ~) C[    0.000000] clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 18664651 ns1 D  C* b# M* R/ r8 }+ N) ^
[    0.000000] ARM System timer initialized as clocksource9 A3 u  p2 C0 F7 O) j* i
[    0.000000] /soc/timer@40000c00: STM32 clockevent driver initialized (32 bits)0 J% w: A' B5 i1 q1 V4 C  P
[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
! \* S; B9 B1 ~' x8 [, q& C[    0.010000] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
0 K3 d) Q+ P. z3 B: H$ D[    0.100000] pid_max: default: 4096 minimum: 301! I" Q  N4 M% \6 D( e
[    0.100000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
# k& v6 G, s& k1 Q; Y- @  ?[    0.100000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)) O8 n/ {2 ?- h
[    0.100000] Hierarchical SRCU implementation.
& N2 |  B% _; t$ w! e$ Q[    0.100000] devtmpfs: initialized7 }! s# z: K7 Y! I' p# s1 n! ~
[    0.110000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns3 ^' ]  ?1 B4 Q& q, r' E6 ?
[    0.110000] pinctrl core: initialized pinctrl subsystem( T, ?& T" d6 m1 k' y% I1 Y
[    0.110000] DMA: default coherent area is set
7 R) D1 C1 ]8 s- G0 X- G[    0.110000] random: get_random_u32 called from bucket_table_alloc+0xc9/0xf4 with crng_init=0$ J8 z& J' k& k$ X" ?# `0 u
[    0.110000] NET: Registered protocol family 16
& _. s1 J- ?& ~$ y5 E6 A  Z[    0.120000] cpuidle: using governor ladder& d/ ~- x$ F5 D7 `! D
[    0.120000] cpuidle: using governor menu% ~4 B- r& a; C( y
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOA bank added
8 E+ d7 ^) E' S$ N1 _[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOB bank added1 }* _  [' z' F( B+ L9 S
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOC bank added( `/ W+ I: _8 K* W5 _
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOD bank added& w) O' o4 @' U8 z* i9 P
[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOE bank added
* T: |* n$ B4 J  z) I4 a' O( e[    0.130000] stm32h743-pinctrl soc:pin-controller: GPIOF bank added
0 F$ q, e9 e3 m; n[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOG bank added! N* d6 T! x% [" z! }5 q0 v
[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOH bank added
0 J7 X: h/ }$ a[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOI bank added
' S- I" l4 h! g2 N! z; Y[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOJ bank added
/ l  v4 W# t4 c6 V0 y" g[    0.140000] stm32h743-pinctrl soc:pin-controller: GPIOK bank added. j1 z/ q! p( D
[    0.140000] stm32h743-pinctrl soc:pin-controller: Pinctrl STM32 initialized
6 j) ?/ f, e7 M% A  g) Q7 i[    0.160000] pps_core: LinuxPPS API ver. 1 registered/ M% Q; _9 H  o* {  E5 S8 [' g
[    0.160000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>7 M2 o$ C7 D" B" M
[    0.160000] PTP clock support registered
0 @0 a1 `" ~! \1 L/ ~4 w. Z9 p[    0.160000] clocksource: Switched to clocksource arm_system_timer; t6 A. o: @$ r6 a; G( T
[    0.170000] NET: Registered protocol family 2) q7 C: t8 J  I5 N* V( `
[    0.170000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)+ o" a$ }6 r, j% U* C+ K
[    0.170000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)/ r- Q1 |- L) X
[    0.170000] TCP: Hash tables configured (established 1024 bind 1024)- n$ X/ Q9 Z/ i% [5 B
[    0.170000] UDP hash table entries: 256 (order: 0, 4096 bytes)
2 I5 ~, t  e( s! s7 ^7 g/ B) @[    0.170000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)' |1 C% ?: E) O4 Z$ ?# |( C
[    0.170000] NET: Registered protocol family 1
3 {' s8 C* q+ V& S; ^[    0.360000] workingset: timestamp_bits=30 max_order=12 bucket_order=0; r& h5 o( W. t4 k
[    0.380000] random: fast init done4 }" ]1 h% W# K
[    0.400000] io scheduler noop registered
, _1 A7 [9 o0 [! t/ n[    0.400000] io scheduler deadline registered" O( s$ Q' O. C1 R2 q
[    0.400000] io scheduler cfq registered (default)) }. u+ T" [* `$ {( N8 G' d
[    0.400000] io scheduler mq-deadline registered! [# N$ R4 ~* i+ o. I  l
[    0.400000] io scheduler kyber registered. v9 Z0 c. j6 e+ B
[    0.400000] STM32 USART driver initialized3 w3 t/ B( c4 N; w/ T3 ~4 r- {
[    0.400000] 40011000.serial: ttyS0 at MMIO 0x40011000 (irq = 17, base_baud = 12500000) is a stm32-usart# I( A9 A5 v7 {3 w
[    0.850000] console [ttyS0] enabled) D6 E3 j3 G- \7 R8 p8 \
[    0.850000] stm32-usart 40011000.serial: rx dma alloc failed( ?5 o- W# j& r- h; d$ x
[    0.860000] stm32-usart 40011000.serial: interrupt mode used for rx (no dma). b8 F/ l; C% `9 X' W
[    0.870000] stm32-usart 40011000.serial: tx dma alloc failed  G+ s1 z" @9 _! g
[    0.870000] stm32-usart 40011000.serial: interrupt mode used for tx (no dma)1 H2 W: L* G! E$ O# i! u2 V$ e
[    0.880000] libphy: Fixed MDIO Bus: probed
, A( U) |( m: _+ u[    0.890000] tun: Universal TUN/TAP device driver, 1.6! {+ ~) N- p( Z( c
[    0.890000] stm32-dwmac 40028000.ethernet: Found phy-handle subnode( ^5 O! p* g+ R
[    0.900000] stm32-dwmac 40028000.ethernet: Found MDIO subnode; @7 y/ y. z4 Z( e. _  _
[    0.910000] stm32-dwmac 40028000.ethernet: use snps,dwmac-4.00..* Z3 r3 |/ x& N* u
[    0.910000] stm32-dwmac 40028000.ethernet: PTP uses main clock" z0 h7 V8 K# k7 l% _: _5 @
[    0.910000] stm32-dwmac 40028000.ethernet: no reset control found1 Q' ^8 K/ s, P6 z1 @, D$ b# P
[    0.930000] stmmac - user ID: 0x30, Synopsys ID: 0x415 `5 b0 B- ~. @4 @/ w) j: |
[    0.930000] stm32-dwmac 40028000.ethernet: DMA HW capability register supported
- Y( Q. o9 I1 x7 X: L[    0.930000] stm32-dwmac 40028000.ethernet: RX Checksum Offload Engine supported
6 W/ I6 M. s: X* U! Z( G! n5 Y' m! G[    0.950000] stm32-dwmac 40028000.ethernet: TX Checksum insertion supported
! {9 ^; |( [9 Z- b0 T+ `[    0.950000] stm32-dwmac 40028000.ethernet: Wake-Up On Lan supported
6 P% j" W1 A, F; I$ k[    0.950000] stm32-dwmac 40028000.ethernet: TSO supported
' v6 b5 H. k1 t  z( d- f[    0.970000] stm32-dwmac 40028000.ethernet: Enable RX Mitigation via HW Watchdog Timer
4 ~. e. y, e7 H: A4 @+ _2 r  H- @( q[    0.970000] stmmac_mdio_reset : reset gpio direction num=28
& m& s0 u* U1 F. }+ Y& K[    1.080000] libphy: stmmac: probed) |) v) U% a. q9 U
[    1.090000] stm32-dwmac 40028000.ethernet: register the MDIO bus3 S7 l- F( y7 Q
[    1.100000] u32 classifier% k% P; w; o: N; Y+ G
[    1.100000] Initializing XFRM netlink socket
) R3 J/ o( F& G7 t1 A7 \% o[    1.110000] NET: Registered protocol family 17
1 Z+ K0 m) I% c9 p1 p, b: x9 I" \4 ~[    1.110000] NET: Registered protocol family 150 {$ M% F4 G$ P, i
[    1.110000] 8021q: 802.1Q VLAN Support v1.8
2 K& l0 ~( s& N! l' c[    1.120000] Key type dns_resolver registered/ J! q2 j  X) B/ r. p
[    1.130000] Freeing unused kernel memory: 632K
# |. B2 \7 d" `7 f$ ?0 b4 |[    1.140000] This architecture does not have kernel memory protection.
1 ^! x  R0 p; x4 M3 u1 ucan't run '/sbin/swapon': No such file or directory
8 m1 `9 e2 R3 u7 t& }6 R% RInitializing random number generator... done.
' R; F' M9 a! y8 k% OJan  1 00:00:01 login[59]: root login on 'console'
+ ?% r+ n  I: L1 q1 |~ #
2 c/ k8 T5 F8 ?
收藏 5 评论16 发布时间:2018-11-22 15:29

举报

16个回答
stone-363407 回答时间:2018-12-7 16:08:07
本帖最后由 stone-363407 于 2018-12-7 16:09 编辑
3 g  h; y  Z1 m2 X' I: J1 h, [$ o" K' }) D
cpu 400Mhz  sdram 100mhz  cas=2
! u3 [( h7 A! b测试软件:iperf3 ! n; s/ @6 T! F4 C8 G
系统跑了25个线程测试速度如下。。。。没有原子裸奔的那个快............
- s5 d! Y; j# V. S+ W65.8 Mbits/sec
- ~9 @- j- U7 J& W/ o# A2 V
~ # cat /proc/cpuinfo
/ o4 f6 h7 T0 Q6 K5 Cprocessor       : 0' E' q2 z8 L, b( `
model name      : ARMv7-M rev 1 (v7ml)5 N5 z% {( i3 B
BogoMIPS        : 795.44
3 e2 U# T" e; ^" K0 S. b/ R5 LFeatures        : half thumb fastmult edsp idivt ( G- w3 Z; S4 T
CPU implementer : 0x41& R: T' i* L! T$ Z  k) J
CPU architecture: 7M$ w+ k3 c. U1 S4 m9 X
CPU variant     : 0x1
4 e' u5 v6 t) F( ACPU part        : 0xc273 h; ?8 z4 w: v* L/ h
CPU revision    : 19 O1 ]$ g* a5 J* A8 U! ?
2 t% a" n4 I4 {, x( Z/ x4 \4 E6 `
Hardware        : STM32 (Device Tree Support)
8 k' r# r/ g' p* wRevision        : 0000
0 S1 x/ M9 x( {7 Y' wSerial          : 0000000000000000& m* x; R3 l7 o: I$ a* P1 r
~ # iperf3 -c 192.168.10.26
" ?% d( B6 W) M" ]/ cConnecting to host 192.168.10.26, port 52019 L2 N4 m" t: K# ?+ L8 C
[  4] local 192.168.10.22 port 41328 connected to 192.168.10.26 port 5201
: X. M2 a6 ?+ C8 @$ M* g; o[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
7 z, \. r6 p) y- o' _5 R[  4]   0.00-1.01   sec  7.57 MBytes  63.0 Mbits/sec    0    173 KBytes       # I: @3 @8 g* B( ]8 p- j2 e
[  4]   1.01-2.03   sec  8.22 MBytes  67.3 Mbits/sec    0    181 KBytes         n: F4 Z* O- x6 A- x! _4 [! R7 b; y
[  4]   2.03-3.15   sec  8.75 MBytes  66.0 Mbits/sec    0    181 KBytes      
  T- i% M- f; B. c[  4]   3.15-4.04   sec  6.90 MBytes  65.0 Mbits/sec    0    181 KBytes      
& y. @% n+ f. z( h9 u# A( m3 `6 L[  4]   4.04-5.15   sec  8.70 MBytes  65.4 Mbits/sec    0    181 KBytes       / l3 J; [1 S; l/ y# {5 o! Y
[  4]   5.15-6.10   sec  7.40 MBytes  65.5 Mbits/sec    0    181 KBytes       + {6 h  z! `8 k  w9 f0 v/ h
[  4]   6.10-7.01   sec  7.37 MBytes  67.7 Mbits/sec    0    191 KBytes         s2 K" z9 r3 E: w, a
[  4]   7.01-8.16   sec  8.95 MBytes  65.6 Mbits/sec    0    191 KBytes       1 n: U. C& t0 O4 X8 [; H& V
[  4]   8.16-9.02   sec  6.86 MBytes  66.5 Mbits/sec    0    191 KBytes       . O) O+ ~& R( g
[  4]   9.02-10.13  sec  8.73 MBytes  65.9 Mbits/sec    0    191 KBytes      
. A6 B* |1 `1 ]. t1 T- - - - - - - - - - - - - - - - - - - - - - - - -2 j, |: L3 f9 H* P, R+ u% v0 i2 r& m' A
[ ID] Interval           Transfer     Bandwidth       Retr8 l4 f" W6 |4 q" {9 ?8 L" a  B
[  4]   0.00-10.13  sec  79.4 MBytes  65.8 Mbits/sec    0             sender
4 j1 m( D( G3 \/ W# N[  4]   0.00-10.13  sec  79.4 MBytes  65.8 Mbits/sec                  receiver& B1 |; z0 W3 `9 C. b3 ]: v
. p. B0 Z. C- w# W
iperf Done.! d: V: L; V1 H& F
~ # ps! x0 F- d# l0 P/ Z
  PID USER       VSZ STAT COMMAND
# T1 M1 Y" r+ a( X- p; b' Y    1 root       400 S    init
" Z. X4 d; a& ~4 C' Q    2 root         0 SW   [kthreadd]
" g4 [" ]: z% I: L" H% T3 X: K    4 root         0 IW<  [kworker/0:0H]3 z0 X  S: o$ L( ?8 F; {
    6 root         0 IW<  [mm_percpu_wq]
/ p2 b2 L2 d* M& Z5 Z$ [    7 root         0 SW   [ksoftirqd/0]7 u" \$ C/ b$ W8 t0 e
    8 root         0 IW   [rcu_preempt]
3 C) C5 D! i8 C) _1 f# `5 ?    9 root         0 IW   [rcu_sched]
9 ^$ K9 B; v4 [; s9 [, [   10 root         0 IW   [rcu_bh]8 t0 s  S. |" Q
   11 root         0 SW   [kdevtmpfs]+ C8 T1 M4 [9 y4 `# L
   12 root         0 SW   [rcu_tasks_kthre]
6 }) D( e9 a/ S/ p   14 root         0 IW<  [writeback]
  V( }% g; k% O. x8 f: \   15 root         0 IW<  [crypto]3 F' o! {; u- U1 W6 J, Q
   16 root         0 IW<  [kblockd]
: }1 a2 P' F5 ]7 W   17 root         0 IW<  [watchdogd]0 w# k' v/ H4 B/ _  t
   18 root         0 SW   [kswapd0]% h, c6 w6 f9 S" F
   41 root         0 SW   [irq/17-40011000]- L- j9 Q& ]+ f$ o6 q0 @% n
   59 root       420 S    -sh
. R- V/ n1 [7 r; e   60 root         0 IW   [kworker/u2:1]0 p. [# j$ H- j) @8 O- F
   61 root         0 IW   [kworker/u2:2]( [# F6 H1 T  V* E: a/ H
   64 root         0 IW   [kworker/0:2]0 b; M' F: i$ h/ ~
   65 root         0 IW   [kworker/0:3]
# r& `2 J  n! e+ U. U   71 root         0 IW   [kworker/0:0]7 h% T& M" L8 q& S
   75 root       396 R    ps
yhangzzz 回答时间:2019-3-7 20:20:51
本帖最后由 yhangzzz 于 2019-3-7 20:26 编辑 # U2 u4 _1 w5 Z. `1 `! H

+ X: M/ C$ @7 s5 Q0 t$ B楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移植了uboot eth驱动,因为没有移植MMC驱动,就打算把linux内核加载在SDRAM上,再从SDRAM启动内核;使用的是linux4.19.24默认的stm32配置,但是现在一直卡在“Starting kernel ...”,内核应该是没有起来;不知道您调试过程中是否遇到这个问题。附上打印的信息:
- Q7 ?  w* b# X4 B; I; I$ P+ d/ d1 d- o( C  j
U-Boot 2016.09-g83ec55b-dirty (Feb 22 2019 - 18:30:58 +0800)
! E6 V5 y% \* W4 A7 p: L3 _0 N/ y* [
DRAM:  8 MiB
" w2 Y1 [' g  X' {WARNING: Caches not enabled
* H3 }% l9 a* l4 X- V) nFlash: 1 MiB0 e" U3 s+ A9 t/ i6 h* B8 y
Using default environment
* v! t! P) v2 q4 U1 F- N, O8 C8 z' J8 \. ?3 q
In:    serial_stm32x7: u% t6 N! d+ d/ }  t  h
Out:   serial_stm32x7( C( X! N, y7 r+ C. C( d0 n
Err:   serial_stm32x73 A$ g$ m9 V& s* Z6 ^" [
Net:   ! t$ s4 d8 V) ]6 q8 e
stm32 eth probe start9 d3 d8 z5 P) r/ J. b
stm32 eth probe end
0 O  k% ?5 z4 p1 r( o+ Wstm32_read_rom_hwaddr
6 N& ]2 L* I* |! ]# G% @; ?* |' z* Y8 o1 ^0 q8 ]5 g! T
Warning: eth_stm32_eth using MAC address from ROM
7 Y7 G/ Q2 ?$ d; d- U' neth0: eth_stm32_eth
' r, |4 D5 d8 n) ystm32_write_hwaddr
  b. V8 M: i3 D; {' u/ b' H" q8 Q$ h  T. @5 z! W, a
Hit SPACE in 3 seconds to stop autoboot.
8 d5 e: m0 F. r8 E0 g) nU-Boot > set ipaddr 10.0.0.2
/ Y8 o  W7 Y( DU-Boot > set serverip 10.0.0.6
  g5 S! o$ e; x7 \8 EU-Boot > tftp c0400000 uImage.bin8 O4 [6 q$ L9 S

5 W: x% z6 l2 Zstm32_eth_stop start4 G1 V" Q# N% C% E
stm32_eth_stop end
* E  k; _( p2 j8 P1 A' M0 s
& v3 G- W1 y7 D+ ^5 r! xstm32_eth_start start
- |7 O2 W' c  p& D. ostm32_eth_start end
' w7 b4 d. @, |7 Y% x# {* z: ]Using eth_stm32_eth device" L6 E; R7 J1 Q& q# S8 ?0 Q9 w
TFTP from server 10.0.0.6; our IP address is 10.0.0.25 _/ w7 Y4 s/ d. `$ W
Filename 'uImage.bin'.7 N7 _" `$ n& {9 I. b) Q
Load address: 0xc0400000
) t+ ^+ A7 I6 g5 U0 a& RLoading: #################################################################
7 k9 l' I9 O3 Q* ^1 ]& B         ###########################
) x- t# C, x- A         2 MiB/s+ Z6 E9 S! o' W
done
7 g, P9 a8 |8 RBytes transferred = 1337888 (146a20 hex)8 K3 r5 C3 m5 A3 g4 y7 g4 |9 A

( w6 P/ E3 |# t3 j0 D+ e7 O, k4 Estm32_eth_stop start. V, y) m7 ]9 H. x0 q
stm32_eth_stop end
* J! _' j- W. f1 kU-Boot > tftp c0600000 discodtb.bin
5 H0 ]. ^  I1 d9 l' }# }2 I9 [9 E$ d' _' M  @
stm32_eth_stop start
0 I& w  K) _) s% n. [8 x+ s/ lstm32_eth_stop end
' i5 S  e5 |  [+ d& x8 X: s, Q6 f7 q5 C# x& H
stm32_eth_start start
0 f! A% V; n  m4 @' g, o% gstm32_eth_start end
5 t" k" i! \( I4 X2 G5 oUsing eth_stm32_eth device
( ^5 g- ]2 ^3 j$ k* u! @) NTFTP from server 10.0.0.6; our IP address is 10.0.0.2" J$ b5 w; b6 L+ c4 [
Filename 'discodtb.bin'.
. Q: Q1 `  m; _( _, ]Load address: 0xc0600000- F6 H" [* A' W
Loading: ##$ T0 j& ~0 C" g" F
         966.8 KiB/s
+ T5 g* N: g/ Q! Sdone' _) e8 M2 r7 }
Bytes transferred = 14858 (3a0a hex)
/ E7 {+ N3 l+ j0 @8 A
3 n! e+ s3 U( D( }7 Lstm32_eth_stop start
  k4 U  [; Z) p/ _; m: Pstm32_eth_stop end
4 T2 ?! k. l( @& `U-Boot > bootm c0400000 - c0600000
5 l. \( j; X, n6 z/ N0 Q## Booting kernel from Legacy Image at c0400000 ...3 q# o- D1 S0 P0 g" a$ @0 g
   Image Name:   Linux-4.19.242 N: y/ J; e9 m) J4 \+ K* ^5 N
   Image Type:   ARM Linux Kernel Image (uncompressed)
7 J( O. z8 {8 p1 R   Data Size:    1337824 Bytes = 1.3 MiB
6 ~( I( d+ Q( V6 b! e4 w& U% G* z8 v   Load Address: c0008000
" t8 {, c0 W% g1 q. P- H; N. z   Entry Point:  c0008000
+ e( I+ @$ N7 p( V" c2 r7 \% _   Verifying Checksum ... OK. C+ u/ Z  a2 {7 l  y8 j) W
## Flattened Device Tree blob at c06000005 ^5 x$ r1 x8 F5 ]
   Booting using the fdt blob at 0xc0600000. [2 R; X: x2 a
   Loading Kernel Image ... OK
, J) [8 O% F/ i. M   Loading Device Tree to c07c7000, end c07cda09 ... OK
1 s# N; ]' ^" L( ~9 e7 J; c) P
Starting kernel ...
5 W; u1 b' }6 J, k. B5 G4 G3 }3 ~0 H
stone-363407 回答时间:2018-11-25 11:03:43
eth 刚刚测试完成,只移植了UBOOT下的eth
  p4 c  `1 G5 p+ _/ U( O. F
, H% w& D7 C" X- bU-Boot 2018.09-rc2-g36b739b (Nov 25 2018 - 10:45:48 +0800): L5 ^9 z2 T, f4 J$ r9 l: b4 ^

7 G; d2 Q$ O- L' rModel: STMicroelectronics STM32H743i-EVAL board
' C5 w( Y; C$ |' [9 LDRAM:  32 MiB
% U' F3 ?" b" a2 O) YMMC:   STM32 SDMMC2: 07 o& E  C# ?, Z  @* J# s
In:    serial@40011000
# E7 z* ]* W, ?& ~+ }4 aOut:   serial@40011000$ _, N4 J* Z) j8 e# c: C
Err:   serial@400110006 n  Z: c( P2 t! H8 }* T, s
Net:   
# T% k: a+ E  a* SWarning: ethernet@40028000 (eth0) using random MAC address - b6:1d:0e:15:99:e3& i5 F. M+ y/ a1 n+ @
eth0: ethernet@400280003 H, B( G6 K  j: A0 E: Z3 n. ^8 p1 O
Hit SPACE in 3 seconds to stop autoboot.6 P& T+ O3 |: }( `* q$ S
Card did not respond to voltage select!3 Z) o5 I+ I2 C7 m  E* H3 o" e
U-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin
0 |+ Z$ S4 W% H9 ^+ G2 j: a& jethernet@40028000 Waiting for PHY auto negotiation to complete... done( e7 A' g6 v+ _" H1 \3 r
*** ERROR: `ipaddr' not set
) a0 R9 i. B7 n% p$ S) L+ @U-Boot > set ipaddr 192.168.1.101;set serverip 192.168.1.1;set ethaddr d6:54:97:9f:9a:90; * d, ?$ a0 u) a4 t; [* b8 @
U-Boot > tftpboot 0x60001000 192.168.1.103:u-boot.bin
  x& v: i3 {5 N& Methernet@40028000 Waiting for PHY auto negotiation to complete... done
- C$ c6 B4 q# ^9 |5 ?Using ethernet@40028000 device5 w/ R+ }" N  Q8 K. i9 e& h' S1 Y
TFTP from server 192.168.1.103; our IP address is 192.168.1.101- F% U; L4 ?4 I, _
Filename 'u-boot.bin'.* B4 y" j8 S. O, }0 m& D
Load address: 0x60001000
# Z# U1 D6 J( O, A5 JLoading: ##################
) p) z* s/ L4 D" h. e         1.8 MiB/s
. `, s- \& I  gdone! }& g% [+ j  [. x
Bytes transferred = 257336 (3ed38 hex)1 B" X5 ^2 ^  I9 Z
U-Boot > cmp.b 60001000 8000000 3ed38
% Q. F: K. S% C6 g( G/ [6 KTotal of 257336 byte(s) were the same
% X- a& y) M: f- ]
9 d! U! @  [+ r" T" [) h  s% b9 s接下来看看kernel 咋能。6 g% c& H9 {0 o3 r
) P/ o' J( `+ i
说下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卡的速度5 f8 K! ]0 x4 W) D* G7 ]" q( D

- d  l/ l2 _8 j; \& H* Tswitch to partitions #0, OK' V2 e& O. z& P: I
mmc0 is current device
0 f0 P7 v& L* J% I$ C; gScanning mmc 0:1...1 g( ^' a4 ^! H( P. @% p% C8 M
U-Boot > fatload mmc 0 60008000 uImage;fatload mmc 0 60800000 stm32h743i-eval.dtb 7 K8 W4 e! V4 Y
1926672 bytes read in 19 ms (96.7 MiB/s)- E# G9 P# ?! R% X
9370 bytes read in 2 ms (4.5 MiB/s)
! q  {1 @+ z+ J! H0 E; @4 zU-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
% Z) ?! W4 b5 ~: a楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...
8 n: s) M' Q) n  {, s( L
请查看串口定义部分 高版本内核串口的定义不一样 ttys0 具体看下驱动代码
stone-363407 回答时间:2019-3-12 21:53:59
本帖最后由 stone-363407 于 2019-3-12 21:57 编辑 : c5 W* e0 c" F
yhangzzz 发表于 2019-3-7 20:20
. K, R" `. t- @楼主,您好,看了您的贴子,手头正好有一块stm32f746-disco 的板子,按照您的思路,移植了uboot2016.09,移 ...
# i# X/ s* L4 @) B6 J
看下这个如果你用的内核版本是这样
- B6 Y9 S6 I& _3 v( ]git\linux-4.19.9\drivers\tty\serial\stm32-usart.h& t+ @) v4 z; ~& I8 Y
7 ^% I9 A0 R! X9 b" B. e( j
#define _SERIAL_NAME "ttySTM"$ i7 p. Y% n# Q' Q% S6 c) N5 U, L/ v
把这个    U-Boot > env set bootargs "root=/dev/ram console=ttyS0,115200 " ! ^# J' i, l7 x0 {$ ^1 e. a5 I

8 j! F" I* s2 S" p3 J

, Z. j& X' k' C. r, R! ^改成这个* B7 M  t" t8 X+ I* `# H
+ `; p) P  g- |; s" o* v. S9 E
+ ^. m5 V. i- }& f8 S& X
env set bootargs "root=/dev/ram console=ttySTM,115200 "
4 P8 H' D+ z( _. R9 a- j# Q; R' X1 u( C

' L- u6 X* E: u: f2 t1 w
* |$ _" }, x3 B: J
这个STM工程师比较那个,我也被坑了,各种分析,内存BUFF分析 等等 我就像骂一句 mmp
2 D+ K& e0 ~; B5 f9 o
stary666 回答时间:2019-3-12 22:18:05
太牛了,,,,,,
yhangzzz 回答时间:2019-3-15 09:01:25
stone-363407 发表于 2019-3-12 21:539 U; `+ e7 |' U, v* Q% ?
看下这个如果你用的内核版本是这样
$ H2 e! |7 s! mgit\linux-4.19.9\drivers\tty\serial\stm32-usart.h
9 k4 I" V8 W9 d5 u
谢楼主啊,我回头试一下
yhangzzz 回答时间:2019-3-15 11:25:50
stone-363407 发表于 2019-3-12 21:53
; r" s2 }& A( r: w看下这个如果你用的内核版本是这样
( I2 G" r4 h% ~5 {git\linux-4.19.9\drivers\tty\serial\stm32-usart.h

2 K0 F% j7 K# U楼主您好,linux内核确实是你说的那样,但是改了uboot的bootargs后,仍然不能在启动内核后打印信息。。。stm的工程师看来是只管写不管有没有用啊。。。
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版