STMCU小助手
发布时间:2021-12-14 10:42
|
前段时间ST推出了Value Line的STM32F750和H750两个系列,看了一下选型表,F750有LQFP144封装,正好适合我的STM32 linux板子。 , b9 I5 |5 I* P$ b3 ?2 b$ O+ D3 { 于是,双十一买了几片。同时,我对我的linux板做了小幅改版:将SPI Flash容量扩大到32MB并连接到F750的QSPI BANK1,添加了CAN收发器和接口,增加了两个I2C外设(温湿度传感器和气压传感器)。板子做回来后先焊了一片,调试过程还算比较顺利,现在u-boot和Linux都工作起来了,下面是系统启动log,F750速度还是相当快的(427.620 W; }- O6 f% p" O: S5 C0 ^' z' e BogoMIPS,F429跑Linux只有35.843 V- _) f& t+ v5 _# ~' } BogoMIPS),QSPI的加载速度也很给力。下一步我准备多测试几种STM32外设的Linux |: X4 z: @, \, f driver,emcraft现在的SDK比两三年前多了不少外设驱动,可以都试试看。
: n4 ?4 m' k2 D; V% A. o
4 r ~" J+ `0 E' U# } U-Boot 2010.03 (Nov 26 2018 - 21:30:21)' e' z5 s, V% u( n- I; R, | # `3 x' K# o; X4 k CPU : STM32F7 (Cortex-M7)4 a! n8 w0 F5 h- j Freqs: SYSCLK=216MHz,HCLK=216MHz,PCLK1=54MHz,PCLK2=108MHz! W2 z3 N% M# q) [0 o* C" @ Board: STM32F750 Rev 1.0 DRAM: 64 MB In: serial X, ^& f7 g5 o/ j+ p Out: serial3 K1 @# I+ N8 k. a Err: serial QSPI: 32 MB mapped at 0x90000000 Net: miiphy_register done.' O8 e6 n0 \' J# @; }- F eth hw init done.( y+ P! H' z' ]8 k _ STM32_MAC Hit any key to stop autoboot: 0 Booting from QSPI: R! Y* W \+ [2 q3 M% a ## Booting kernel from Legacy Image at c0007fc0 ... Image Name: Linux-4.2.0 Image Type: ARM Linux Multi-File Image (uncompressed). \; ]7 [; n# H( o, d; P [2 G8 e Data Size: 7496295 Bytes = 7.1 MB$ O" p/ G! z- f, v Load Address: c00080003 I2 O1 U8 e, e Entry Point: c0008001/ r5 d5 k5 i8 X Contents: Image 0: 7471388 Bytes = 7.1 MB Image 1: 24895 Bytes = 24.3 kB Verifying Checksum ... OK# D5 q. w. |/ p' h1 Z& @* | ## Flattened Device Tree from multi component Image at C0007FC0 Booting using the fdt at 0xc0728128/ ?6 w) N3 n8 ^4 k6 Y$ }# k% ?& } Loading Multi-File Image ... OK OK WARNING: legacy format multi component image overwritten6 D! x2 `* N9 `0 w Loading Device Tree to c3ff6000, end c3fff13e ... OK Starting kernel ...Booting Linux on physical CPU 0x01 s2 C/ x7 o3 o$ U Linux version 4.2.0(gcc version 4.4.1 (Sourcery G++ Lite 2010( G" ]9 _; Z7 V' b n/ x q1-189) ) #90 Tue Dec 4 03:32:33 EST 2018 CPU: ARMv7-M [410fc271] revision 1 (ARMv7M), cr=00000000 CPU: WBA data cache, WBA instruction cache0 @2 A& S) @; s$ \$ o$ D* N Machine model: EmCraft Systems STM32F7-SOM board Built 1 zonelists in Zone order, mobility grouping on. Total pages: 162565 g1 Z1 o( t0 W* x% z; y8 Y8 b Kernel command line: stm32_platform=stm32f7-disco console=ttyS0,115200 panic=10 ip=169.25 4.1.10:169.254.1.2:::stm32f7-disco:eth0:ff; [% z4 [4 i4 S+ D! Y, n4 n PID hash table entries: 256 (order: -2, 1024 bytes)1 E" a" b' D5 ]1 t z3 l# a2 @2 J! [# G Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)3 o' x. _, B+ R* A6 h: T. D Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)6 x( Z/ \0 W2 A9 M" D Memory: 56432K/65536K available (2523K kernel code, 181K rwdata, 588K rodata, 4000K init, 111K bss, 9104K reserved, 0K cma-reserved)+ `' W8 e! e. Q2 q, ?; |9 L Virtual kernel memory layout: vector : 0x00000000 - 0x00001000 ( 4 kB)* H# A; I& S( j+ v fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0x00000000 - 0xffffffff (4095 MB) lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)- S% ^, e0 e w .text : 0xc0008000 - 0xc0312000 (3112 kB) .init : 0xc0312000 - 0xc06fa000 (4000 kB)" f' e$ j# M7 P4 a" G .data : 0xc06fa000 - 0xc07277c0 ( 182 kB)7 ~% R8 l/ @: G. I4 j .bss : 0xc072811c - 0xc0743e84 ( 112 kB)4 r; A# L1 L/ k0 ~9 W# w, d " c# H1 l+ S e+ \1 ~1 H NR_IRQS:16 nr_irqs:16 16 /interrupt-controller@40013c00: 24 External IRQs detected clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 27651335 8 ns ARM System timer initialized as clocksource8 z7 v. Y# ?) o$ A* t4 a /soc/timer@40000000: STM32 clockevent driver initialized (32 bits) sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns Calibrating delay loop... 427.62 BogoMIPS (lpj=2138112)7 I( [( c: ?' C pid_max: default: 4096 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) devtmpfs: initialized8 I9 p7 _3 e- c# T+ P clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462757 f. G7 F- @+ U2 B- t( g 0000 ns pinctrl core: initialized pinctrl subsystem$ Y( ]& R' `# y s; {. u a2 ` NET: Registered protocol family 160 Z2 e9 ^6 ~# q# f! T( J. z* P1 ^ stm32-pinctrl pin-controller: nbanks = 11) e+ s0 |7 [! L- T5 k V' ~# V# U) m7 u stm32-pinctrl pin-controller: nfunctions = 20 stm32-pinctrl pin-controller: ngroups = 23 stm32-pinctrl pin-controller: GPIOA bank added. stm32-pinctrl pin-controller: GPIOB bank added. I3 ] ?% V9 b* ^ stm32-pinctrl pin-controller: GPIOC bank added. stm32-pinctrl pin-controller: GPIOD bank added. stm32-pinctrl pin-controller: GPIOE bank added.4 Y1 U$ n' |. U4 Q1 c# x3 J q stm32-pinctrl pin-controller: GPIOF bank added.+ [# A+ i4 x9 `; b" T stm32-pinctrl pin-controller: GPIOG bank added. stm32-pinctrl pin-controller: GPIOH bank added.) }) p! z( ]3 A! u stm32-pinctrl pin-controller: GPIOI bank added. stm32-pinctrl pin-controller: GPIOJ bank added.% r/ i S$ H! J6 m" O8 i stm32-pinctrl pin-controller: GPIOK bank added. u7 g# `% ?1 A% p, q) `5 G stm32-pinctrl pin-controller: Function[0 name:i2c_1, groups:1]1 F) O) O9 m& H( }4 S: k) D, F5 S stm32-pinctrl pin-controller: Function[1 name:i2c_2, groups:1]5 @* f+ \1 }: _2 T! | stm32-pinctrl pin-controller: Function[2 name:i2c_3, groups:1] stm32-pinctrl pin-controller: Function[3 name:mac, groups:2] stm32-pinctrl pin-controller: Function[4 name:sdio, groups:1] stm32-pinctrl pin-controller: Function[5 name:spi_2, groups:1]$ [: k& o4 h9 r. S6 x, y stm32-pinctrl pin-controller: Function[6 name:spi_4, groups:1]6 ~1 h# G1 h! E: U' M1 x stm32-pinctrl pin-controller: Function[7 name:spi_5, groups:1] stm32-pinctrl pin-controller: Function[8 name:usart1, groups:1]& j5 X: L; P J8 B0 G6 S! \ stm32-pinctrl pin-controller: Function[9 name:usart6, groups:1]( l9 ?; _) y0 }: ^3 \$ p& w stm32-pinctrl pin-controller: Function[10 name:usart7, groups:1] stm32-pinctrl pin-controller: Function[11 name:usb_fs, groups:1]3 U$ ~/ f, L' e% Z3 T stm32-pinctrl pin-controller: Function[12 name:usb_hs, groups:1] stm32-pinctrl pin-controller: Function[13 name:can_1, groups:1]! g+ n" h" d# y$ Z stm32-pinctrl pin-controller: Function[14 name:adc1_in0_pin, groups:1]+ c& q7 c6 i9 ~2 |: |# i. x8 o5 d stm32-pinctrl pin-controller: Function[15 name:dac_out2_pin, groups:1] stm32-pinctrl pin-controller: Function[16 name:ltdc, groups:1] stm32-pinctrl pin-controller: Function[17 name:sai_2, groups:1] stm32-pinctrl pin-controller: Function[18 name:i2c_4, groups:1] stm32-pinctrl pin-controller: Function[19 name:gpio, groups:3] stm32-dma 40026000.dma: STM32 DMA driver registered stm32-dma 40026400.dma: STM32 DMA driver registered9 P& o+ @6 E+ u: K4 c- j/ X SCSI subsystem initialized usbcore: registered new interface driver usbfs/ }5 G: d- h" e* j8 X% g5 x3 e usbcore: registered new interface driver hub usbcore: registered new device driver usb8 y, C( h- G" k$ A q2 e soc:phy_hs supply vcc not found, using dummy regulator5 e+ H7 ?8 C6 A6 k( D1 @: K" l soc:phy_fs supply vcc not found, using dummy regulator* z/ i0 C% i4 X6 e3 M5 o# f pps_core: LinuxPPS API ver. 1 registered! i. w+ ^8 w4 z2 h pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> PTP clock support registered Advanced Linux Sound Architecture Driver Initialized. Bluetooth: Core ver 2.20$ x) u4 w L# j9 x# o& s NET: Registered protocol family 31+ Z( y( P- G$ N. _9 {0 L Bluetooth: HCI device and connection manager initialized" n4 q* W7 s ^/ ` Bluetooth: HCI socket layer initialized Bluetooth: L2CAP socket layer initialized/ X& U" D: c9 v. c! g Bluetooth: SCO socket layer initialized" o! f; l; {+ C' [7 z6 O } clocksource: Switched to clocksource arm_system_timer NET: Registered protocol family 2- u' M, g# Z6 C TCP established hash table entries: 1024 (order: 0, 4096 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes)/ E( p6 g! @3 ~& O# A TCP: Hash tables configured (established 1024 bind 1024) UDP hash table entries: 256 (order: 0, 4096 bytes), S; {- b* c" J UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module.: _; M7 p; k1 b% S RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. Power Management for STM329 P' D5 _5 R! U/ D0 n futex hash table entries: 16 (order: -5, 192 bytes); r9 d# _* o, f jffs2: version 2.2. (NAND) (SUMMARY) 漏 2001-2006 Red Hat, Inc. fuse init (API version 7.23)9 G7 n" Z7 ^$ t' d. g& Q+ w. y Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) io scheduler noop registered* j$ Q# m; |0 c: f; v2 N" m2 n9 O io scheduler cfq registered (default)% Q) S$ I/ P* I4 T stm32-pinctrl pin-controller: maps: function gpio group pwms num 2 stm32-pwm pwm0: basing on TIM3.1(x16) stm32-pinctrl pin-controller: maps: function ltdc group ltdc-0 num 29$ w h9 y' C* I" \5 ` p& S: h/ v stm32_lcdfb 40016800.ltdc: fb0: fb device registered successfully STM32 USART driver initialized stm32-pinctrl pin-controller: maps: function usart1 group usart1-0 num 3 40011000.serial: ttyS0 at MMIO 0x40011000 (irq = 34, base_baud = 6750000) is a stm32-usar: F- I& |% Z# w; b# v6 c: X t console [ttyS0] enabled stm32-pinctrl pin-controller: maps: function usart6 group usart6-0 num 31 W- Q0 R( w5 m3 l) k 40011400.serial: ttyS5 at MMIO 0x40011400 (irq = 35, base_baud = 6750000) is a stm32-usar t nbd: registered device at major 43 stm32-pinctrl pin-controller: maps: function dac_out2_pin group dac-0 num 2 stm32_dac 40007400.dac: dac1: no timer assigned, DMA functionality is not available stm32_dac 40007400.dac: created 1 character devices with MAJOR 2481 e' X! t) `7 L" X: s; m) W 2 ofpart partitions found on MTD device physmap-stm-flash.0 Creating 2 MTD partitions on "physmap-stm-flash.0":- T4 k& I8 B Z" |& B0 l 0x000000000000-0x000000020000 : "stm_flash_uboot"/ c5 u2 q7 O/ I" R 0x000000040000-0x000000100000 : "stm_flash_unused" stm32-pinctrl pin-controller: maps: function spi_5 group spi_5-0 num 4 stm32-spi 40015000.spi: SPI Controller 4 at 40015000,irq=38,hz=1080000008 l0 o1 `" w, H- Q1 K! H8 ~ CAN device driver interface B, ~$ V7 P. A stm32-pinctrl pin-controller: maps: function can_1 group can_1-0 num 36 V: ?* \' R: |5 M stm32-can 40006400.can: device registered (reg=40006400, irq=31) stm32-pinctrl pin-controller: maps: function mac group mac_rmii num 10, Q7 B" v; ^, T stmmac - user ID: 0x10, Synopsys ID: 0x35 Ring mode enabled DMA HW capability register supported Enhanced/Alternate descriptors Enabled extended descriptors RX Checksum Offload Engine supported (type 2)& S8 d+ h7 H8 W# |# L TX Checksum insertion supported Wake-Up On Lan supported Enable RX Mitigation via HW Watchdog Timer stm32-dwmac 40028000.ethernet eth0: No MDIO subnode found2 w& e) J5 M) p/ ?4 P: ^% x1 Q* Z libphy: stmmac: probed7 a" l: F4 s* a: g ]6 ] eth0: PHY ID 0007c0f1 at 0 IRQ POLL (stmmac-0:00) active PPP generic driver version 2.4.2 PPP BSD Compression module registered PPP Deflate Compression module registered usbcore: registered new interface driver rt2800usb m0 M8 b5 m1 |1 V1 h stm32-pinctrl pin-controller: maps: function usb_hs group usb_hs-0 num 3 dwc2 40040000.usb: DWC OTG Controller1 P# L+ Q7 f0 U W( i, F, o5 w dwc2 40040000.usb: new USB bus registered, assigned bus number 1. i9 ~, a7 ~0 i3 h. y$ w4 C) j dwc2 40040000.usb: irq 56, io mem 0x00000000& q# b) j+ ^3 j% a* ], A6 j usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1& y$ l% A% d' S B. k* t usb usb1: Product: DWC OTG Controller usb usb1: Manufacturer: Linux 4.2.0 dwc2_hsotg8 x0 [6 v- q3 M# Q2 o3 T usb usb1: SerialNumber: 40040000.usb hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected stm32-pinctrl pin-controller: maps: function usb_fs group usb_fs-0 num 3 50000000.usb supply vusb_d not found, using dummy regulator1 Q2 D0 |4 U, e$ u8 g) ` 50000000.usb supply vusb_a not found, using dummy regulator' K0 ^& S, c1 |0 m dwc2 50000000.usb: EPs: 6, dedicated fifos, 512 entries in SPRAM+ U1 |+ s; z! s& E) D A dwc2 50000000.usb: DCFG=0x08200000, DCTL=0x00000002, DIEPMSK=0000000b dwc2 50000000.usb: GAHBCFG=0x00000000, GHWCFG1=0x00000000 dwc2 50000000.usb: GRXFSIZ=0x000000a0, GNPTXFSIZ=0x004000a05 ~; B) h. y1 H: \8 t: D: n! U dwc2 50000000.usb: DPTx[1] FSize=32, StAddr=0x000000e0 dwc2 50000000.usb: DPTx[2] FSize=64, StAddr=0x00000100 dwc2 50000000.usb: DPTx[3] FSize=512, StAddr=0x00000800 dwc2 50000000.usb: DPTx[4] FSize=512, StAddr=0x00000a00* F% R/ M& [; s$ y9 n& S4 {0 @ | dwc2 50000000.usb: DPTx[5] FSize=512, StAddr=0x00000c00' c1 E, F2 ^2 E6 y' d4 i dwc2 50000000.usb: ep0-in: EPCTL=0x00008000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep0-out: EPCTL=0x00008000, SIZ=0x00000000, DMA=0x5abee5fb9 t8 h* h( o8 r9 ?+ x# c3 l9 o% E dwc2 50000000.usb: ep1-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep1-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb, X& W2 w) w' \* U5 T/ c, V dwc2 50000000.usb: ep2-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep2-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep3-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep3-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep4-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep4-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb8 k2 Z/ X- j& j: I) ?1 T0 z" t+ ? dwc2 50000000.usb: ep5-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep5-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: DVBUSDIS=0x000017d7, DVBUSPULSE=000005b82 Z8 ?2 d1 D5 B: n* W, Z6 b usbcore: registered new interface driver cdc_acm cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters O7 Y. C \! B6 ^. I4 r% u usbcore: registered new interface driver uas usbcore: registered new interface driver usb-storage g_serial gadget: Gadget Serial v2.4& t. i& S/ |8 ^( a4 @# T4 } g_serial gadget: g_serial ready dwc2 50000000.usb: bound driver g_serial6 @2 g& T+ ~5 E! ^( z i2c /dev entries driver stm32-pinctrl pin-controller: maps: function i2c_4 group i2c_4-0 num 3 bmp085 3-0077: Successfully initialized bmp085! stm32f7-i2c 40006000.i2c: I2C Controller i2c-3 at 40006000,irq=58 Driver for 1-wire Dallas network protocol. usbcore: registered new interface driver btusb/ c8 o* h; E0 ~4 i" Z( ^! W stm32-pinctrl pin-controller: maps: function sdio group sdio-0 num 73 ~% A* p8 C' t2 Z3 H) p mmci-pl18x 40012c00.sdi: Got CD GPIO; F( a3 h8 F" w9 q mmci-pl18x 40012c00.sdi: mmc0: PL180 manf 80 rev4 at 0x40012c00 irq 37,0 (pio) stm32-dma 40026400.dma: stm32_dma_of_xlate: unable to get channel 3 - was already request ed mmci-pl18x 40012c00.sdi: DMA channels RX dma1chan3, TX dma1chan3 stm32_gpio_to_irq: Event line 3 now points to fire interrupts from bank G( l( U7 ~% Y v7 _: u/ o. W# s stm32-pinctrl pin-controller: maps: function gpio group outs num 2 hidraw: raw HID events driver (C) Jiri Kosina usbcore: registered new interface driver usbhid- w: v: n' |0 y" F1 ? usbhid: USB HID core driver stm32-pinctrl pin-controller: maps: function adc1_in0_pin group adc1-0 num 2 stm32f4-adc 40012000.adc: registered# ]9 A- J6 p; b stm32-pinctrl pin-controller: maps: function sai_2 group sai_2-0 num 5 stm32-dma 40026400.dma: stm32_dma_of_xlate: unable to get channel 4 - was already request ed stm32-asoc-card sound: failed to find codec platform device stm32-asoc-card: probe of sound failed with error -22 NET: Registered protocol family 17) [) c. C4 X$ h can: controller area network core (rev 20120528 abi 9)2 L: m7 t6 W! N0 J NET: Registered protocol family 29 can: raw protocol (rev 20120528)1 W# m2 x: _, P5 j# } J8 t0 k( d can: broadcast manager protocol (rev 20120528 t), C8 U+ ~, k/ i% G can: netlink gateway (rev 20130117) max_hops=14 ~- X$ z; L; M7 |5 B" F e Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.119 p4 g' j Z- ^, B8 m& S7 T8 t3 d3 h hctosys: unable to open rtc device (rtc0)% L( e! n2 |( ^$ c2 w# E- L( f vmmc: disabling" J$ |- O4 u% y8 l5 S1 Q- a- j) T ALSA device list:3 C& G* i1 a2 R g" Q No soundcards found.( Y$ O r2 H2 ]8 M Freeing unused kernel memory: 4000K (c0312000 - c06fa000)) Y0 v8 E" \) c init started: BusyBox v1.24.2 (2018-11-22 20:35:58 EST)9 M2 `6 C& j/ p2 e) ^( P / # amixer: Mixer attach default error: No such file or directory0 W/ @) X8 s! R8 K stm32-dwmac 40028000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx / q- ?! y8 c" |" h! V" P6 Y / # free& G" D' F, f, q: y total used free shared buffers cached Mem: 60432 8140 52292 0 0 47927 w' `) g+ ^- J- X1 c$ Z6 ^9 L -/+ buffers/cache: 3348 57084 / #9 R4 {, \7 x* B/ l. y 7 J4 U1 v7 \. C2 K" ~7 C 4 c4 B7 X( ]! }3 a+ l! _( n |
基于STM32F767通过cube配置:QSPI接口读写64M PSRAM+flash参考资料...
STM32F746G-DISCO移植lvgl9.0性能基准测试
STM32F745 USART1 Bootloader启动失败排查与解决的流程分析
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
入门嵌入式,为什么STM32是“优选起步”?
嵌入式-单片机-STM32 EXTI中断
STM32单片机进行除零运算,为何程序不崩溃?
STM32 LL为什么比HAL高效?
STM32时钟详解
微信公众号
手机版