STMCU小助手
发布时间:2022-4-7 18:35
|
前段时间ST推出了Value Line的STM32F750和H750两个系列,看了一下选型表,F750有LQFP144封装,正好适合我的STM32 linux板子。 于是,双十一买了几片。同时,我对我的linux板做了小幅改版:将SPI Flash容量扩大到32MB并连接到F750的QSPI8 S0 }( B+ H' c; g+ t BANK1,添加了CAN收发器和接口,增加了两个I2C外设(温湿度传感器和气压传感器)。板子做回来后先焊了一片,调试过程还算比较顺利,现在u-boot和Linux都工作起来了,下面是系统启动log,F750速度还是相当快的(427.629 O$ R V4 p" N2 b BogoMIPS,F429跑Linux只有35.844 G5 x% ]! L& I2 C" B" C, ~) ?3 [5 W0 X BogoMIPS),QSPI的加载速度也很给力。下一步我准备多测试几种STM32外设的Linux6 Y7 o, M v$ ^6 }$ `. } x driver,emcraft现在的SDK比两三年前多了不少外设驱动,可以都试试看。
0 y8 _9 b4 k2 Q( D! b/ Z. p U-Boot 2010.03 (Nov 26 2018 - 21:30:21) 2 u$ y3 f$ J: \% _ CPU : STM32F7 (Cortex-M7) Freqs: SYSCLK=216MHz,HCLK=216MHz,PCLK1=54MHz,PCLK2=108MHz DRAM: 64 MB% T4 e3 L4 D& o In: serial Out: serial Err: serial% _0 F* {. L! I% Y& k2 l9 f QSPI: 32 MB mapped at 0x90000000 Net: miiphy_register done. eth hw init done. STM32_MAC Hit any key to stop autoboot: 0 Booting from QSPI$ E! G* U3 Q& }; F+ G, w' i ## Booting kernel from Legacy Image at c0007fc0 ...- p& d5 V1 b4 I9 h Image Name: Linux-4.2.08 X5 v7 K! j g- u% A Image Type: ARM Linux Multi-File Image (uncompressed) Data Size: 7496295 Bytes = 7.1 MB Load Address: c0008000 Entry Point: c0008001 Contents: Image 0: 7471388 Bytes = 7.1 MB9 K2 E k4 a3 \) T! i Image 1: 24895 Bytes = 24.3 kB Verifying Checksum ... OK ## Flattened Device Tree from multi component Image at C0007FC0" \$ O# W+ K' W+ {+ @+ E" E) ], a Booting using the fdt at 0xc0728128 Loading Multi-File Image ... OK) D; e ?; a* |) Y( }0 y OK& f0 Z- Z3 [5 r WARNING: legacy format multi component image overwritten Loading Device Tree to c3ff6000, end c3fff13e ... OK " h1 A8 j0 h$ Y4 l/ ]7 Q Starting kernel ... / @; `$ ?% }& d2 @" X7 L6 Q Booting Linux on physical CPU 0x0 Linux version 4.2.0 (hw@localhost.localdomain) (gcc version 4.4.1 (Sourcery G++ Lite 2010' T% a) ~. o" i$ L q1-189) ) #90 Tue Dec 4 03:32:33 EST 2018 CPU: ARMv7-M [410fc271] revision 1 (ARMv7M), cr=00000000! K8 W7 j {; A1 e9 J: Q1 u1 R CPU: WBA data cache, WBA instruction cache Machine model: EmCraft Systems STM32F7-SOM board6 x" ?0 x8 z- g7 C* X+ n Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: stm32_platform=stm32f7-disco console=ttyS0,115200 panic=10 ip=169.25' t& Z+ d8 o0 C: w, X 4.1.10:169.254.1.2:::stm32f7-disco:eth0:off PID hash table entries: 256 (order: -2, 1024 bytes)4 z! Y( y" ?9 }3 n* n Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)) [9 B9 X+ H- E# _/ J+ [- e% c Memory: 56432K/65536K available (2523K kernel code, 181K rwdata, 588K rodata, 4000K init,4 K3 B% B3 ~& }+ t0 ~0 E/ n! _ 111K bss, 9104K reserved, 0K cma-reserved) Virtual kernel memory layout:$ b$ w) ^; Q+ c vector : 0x00000000 - 0x00001000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0x00000000 - 0xffffffff (4095 MB) lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) .text : 0xc0008000 - 0xc0312000 (3112 kB): g! G! e8 Z3 } .init : 0xc0312000 - 0xc06fa000 (4000 kB), G% l, w7 _# E1 _2 }1 y( p .data : 0xc06fa000 - 0xc07277c0 ( 182 kB) .bss : 0xc072811c - 0xc0743e84 ( 112 kB)" I7 ?* Z0 z* X' j1 w NR_IRQS:16 nr_irqs:16 162 R! m( q8 u# x; G1 e3 v! N /interrupt-controller@40013c00: 24 External IRQs detected+ g- G! s, k! S) z clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 27651335, Q; e( Y. } Y6 ^7 K! L; t 8 ns; I/ Z0 i* o& _0 U% b/ [7 R ARM System timer initialized as clocksource /soc/timer@40000000: STM32 clockevent driver initialized (32 bits)( K/ O7 z# r ]- R9 h3 T6 \/ z sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns6 {2 f( `7 ^+ r4 |& s z$ ? Calibrating delay loop... 427.62 BogoMIPS (lpj=2138112)/ y& S9 V# W% M/ n3 p pid_max: default: 4096 minimum: 301/ q" m! `- j4 v2 C8 H- U Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)) `% q3 y( B \ Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) devtmpfs: initialized" @% V. C0 B0 m% h7 V, [* a clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275 0000 ns8 x& c* g) z1 z, e- R pinctrl core: initialized pinctrl subsystem0 L( K( ^3 Y P" [6 @+ M8 |7 q ^ NET: Registered protocol family 164 Q* L6 r. S6 i& ]9 V2 ^; p stm32-pinctrl pin-controller: nbanks = 11 stm32-pinctrl pin-controller: nfunctions = 20 stm32-pinctrl pin-controller: ngroups = 23: r8 ?( z8 S) m# X1 b; h& J8 h stm32-pinctrl pin-controller: GPIOA bank added.' n/ ^# H4 X+ I, n stm32-pinctrl pin-controller: GPIOB bank added.# y0 U% `# a/ G/ w O5 { stm32-pinctrl pin-controller: GPIOC bank added. stm32-pinctrl pin-controller: GPIOD bank added. stm32-pinctrl pin-controller: GPIOE bank added.* t+ Q# x$ J4 s+ {* n$ F stm32-pinctrl pin-controller: GPIOF bank added. stm32-pinctrl pin-controller: GPIOG bank added.. e- w: }0 h+ Z0 |9 P' x stm32-pinctrl pin-controller: GPIOH bank added.; d; w' p7 l C& l stm32-pinctrl pin-controller: GPIOI bank added.' x: o% W1 K0 Q5 M* n2 y stm32-pinctrl pin-controller: GPIOJ bank added." i6 j' `! S( q' N) m" p stm32-pinctrl pin-controller: GPIOK bank added.# h+ b; S* ?, y+ L, u, ]4 ^ stm32-pinctrl pin-controller: Function[0 name:i2c_1, groups:1] stm32-pinctrl pin-controller: Function[1 name:i2c_2, groups:1]* r' E3 L3 ]3 S 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] stm32-pinctrl pin-controller: Function[6 name:spi_4, groups:1] stm32-pinctrl pin-controller: Function[7 name:spi_5, groups:1] stm32-pinctrl pin-controller: Function[8 name:usart1, groups:1]3 ?8 Y* T7 K% G) J8 m' p/ Q4 c. f- w stm32-pinctrl pin-controller: Function[9 name:usart6, groups:1] stm32-pinctrl pin-controller: Function[10 name:usart7, groups:1]* ^6 b* h6 `) e8 m. B stm32-pinctrl pin-controller: Function[11 name:usb_fs, groups:1] stm32-pinctrl pin-controller: Function[12 name:usb_hs, groups:1] stm32-pinctrl pin-controller: Function[13 name:can_1, groups:1]: J0 D& Y& r- v) x stm32-pinctrl pin-controller: Function[14 name:adc1_in0_pin, groups:1] stm32-pinctrl pin-controller: Function[15 name:dac_out2_pin, groups:1]* I) }" X4 \' n& M: l( c* s stm32-pinctrl pin-controller: Function[16 name:ltdc, groups:1]& Z1 v4 |% K5 ]# q 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]7 D+ [+ n! y; Z3 V stm32-dma 40026000.dma: STM32 DMA driver registered stm32-dma 40026400.dma: STM32 DMA driver registered SCSI subsystem initialized usbcore: registered new interface driver usbfs. q. F4 Q- L0 A. | usbcore: registered new interface driver hub usbcore: registered new device driver usb soc:phy_hs supply vcc not found, using dummy regulator soc:phy_fs supply vcc not found, using dummy regulator pps_core: LinuxPPS API ver. 1 registered 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# e. y) f0 R# A$ \ NET: Registered protocol family 317 R0 k5 P" v% u- T: r( T, | Bluetooth: HCI device and connection manager initialized# z) i* }2 ?& m! k1 j: Q+ f Bluetooth: HCI socket layer initialized Bluetooth: L2CAP socket layer initialized% y x# D" z" o* h. y* d Bluetooth: SCO socket layer initialized; \: s% u9 |7 C2 x7 a3 M7 l clocksource: Switched to clocksource arm_system_timer Z4 K* |8 {. X) g' L& w+ f NET: Registered protocol family 2 TCP established hash table entries: 1024 (order: 0, 4096 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) UDP hash table entries: 256 (order: 0, 4096 bytes)0 K' ]% }" q/ d8 w7 V' h* R/ y UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)0 ]( u. q/ ~+ q' Z% B NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module.3 G# r0 A/ P# k8 o3 s& b RPC: Registered tcp transport module.' H0 h' C) C( b3 _! R RPC: Registered tcp NFSv4.1 backchannel transport module.. N% Z& m, a8 K Power Management for STM325 L- b+ y# B$ {- H futex hash table entries: 16 (order: -5, 192 bytes) jffs2: version 2.2. (NAND) (SUMMARY) 漏 2001-2006 Red Hat, Inc.7 c' s( m; g3 q+ ~* @% B9 F# n/ P fuse init (API version 7.23) Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) io scheduler noop registered io scheduler cfq registered (default) stm32-pinctrl pin-controller: maps: function gpio group pwms num 2. _% O, t3 [3 y0 J5 z% v6 V/ i' `: j stm32-pwm pwm0: basing on TIM3.1(x16) stm32-pinctrl pin-controller: maps: function ltdc group ltdc-0 num 29 stm32_lcdfb 40016800.ltdc: fb0: fb device registered successfully. i( N* A, V+ c2 p+ }( k STM32 USART driver initialized stm32-pinctrl pin-controller: maps: function usart1 group usart1-0 num 3 |8 [* q& j9 x( P8 O2 |" m( P; x/ b 40011000.serial: ttyS0 at MMIO 0x40011000 (irq = 34, base_baud = 6750000) is a stm32-usar t/ n; U+ S. T/ Y1 U2 o5 i console [ttyS0] enabled stm32-pinctrl pin-controller: maps: function usart6 group usart6-0 num 3 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/ @/ Z6 m( S. d% N( y5 l1 x stm32_dac 40007400.dac: dac1: no timer assigned, DMA functionality is not available stm32_dac 40007400.dac: created 1 character devices with MAJOR 248 2 ofpart partitions found on MTD device physmap-stm-flash.0. [/ t( e, H4 r! v/ ` Creating 2 MTD partitions on "physmap-stm-flash.0":" I( m; d; p0 ~( B+ |9 c 0x000000000000-0x000000020000 : "stm_flash_uboot" 0x000000040000-0x000000100000 : "stm_flash_unused"+ P8 Q: E3 n1 F- e' X/ E: q stm32-pinctrl pin-controller: maps: function spi_5 group spi_5-0 num 43 l! ~ o9 D! i( I$ @ stm32-spi 40015000.spi: SPI Controller 4 at 40015000,irq=38,hz=1080000005 @0 Q# m. I6 n, I2 z8 n# F CAN device driver interface7 w0 f+ b; H* y stm32-pinctrl pin-controller: maps: function can_1 group can_1-0 num 33 L$ b- p! t; z6 I stm32-can 40006400.can: device registered (reg=40006400, irq=31) stm32-pinctrl pin-controller: maps: function mac group mac_rmii num 10 stmmac - user ID: 0x10, Synopsys ID: 0x35% t I x9 ^, _- a Ring mode enabled, O5 a+ Z8 W! [$ k8 _ DMA HW capability register supported4 { H& [, V/ T I% d" ^0 M Enhanced/Alternate descriptors5 w* \. z2 n3 P Enabled extended descriptors RX Checksum Offload Engine supported (type 2)9 m0 H7 C3 y( z0 Y9 \ TX Checksum insertion supported Wake-Up On Lan supported Enable RX Mitigation via HW Watchdog Timer stm32-dwmac 40028000.ethernet eth0: No MDIO subnode found libphy: stmmac: probed4 m9 T2 S: h1 N5 P* u: r( z- i eth0: PHY ID 0007c0f1 at 0 IRQ POLL (stmmac-0:00) active# y& q# Z+ x R5 |) k PPP generic driver version 2.4.2; u2 _/ f9 D2 d J PPP BSD Compression module registered PPP Deflate Compression module registered usbcore: registered new interface driver rt2800usb stm32-pinctrl pin-controller: maps: function usb_hs group usb_hs-0 num 3 dwc2 40040000.usb: DWC OTG Controller: T0 f" {6 {& X: [, |9 Z# f+ a dwc2 40040000.usb: new USB bus registered, assigned bus number 1 dwc2 40040000.usb: irq 56, io mem 0x00000000' k4 C( E1 ]* [. q usb usb1: New USB device found, idVendor=1d6b, idProduct=0002& ^4 F7 V8 @5 A8 d% l" V2 Z usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: DWC OTG Controller usb usb1: Manufacturer: Linux 4.2.0 dwc2_hsotg usb usb1: SerialNumber: 40040000.usb hub 1-0:1.0: USB hub found9 g3 E9 T+ @" q( z. N3 a* }9 ^8 y" Q hub 1-0:1.0: 1 port detected stm32-pinctrl pin-controller: maps: function usb_fs group usb_fs-0 num 31 W8 S" Q% q) z- J9 Z1 ` 50000000.usb supply vusb_d not found, using dummy regulator0 ~& h9 q5 i7 y0 S: u2 d& ]0 \ 50000000.usb supply vusb_a not found, using dummy regulator dwc2 50000000.usb: EPs: 6, dedicated fifos, 512 entries in SPRAM dwc2 50000000.usb: DCFG=0x08200000, DCTL=0x00000002, DIEPMSK=0000000b( R, H; f" ~: j5 r- \ dwc2 50000000.usb: GAHBCFG=0x00000000, GHWCFG1=0x00000000 dwc2 50000000.usb: GRXFSIZ=0x000000a0, GNPTXFSIZ=0x004000a0 dwc2 50000000.usb: DPTx[1] FSize=32, StAddr=0x000000e0; m. z! w k l& u: r# V) X/ [ dwc2 50000000.usb: DPTx[2] FSize=64, StAddr=0x00000100 dwc2 50000000.usb: DPTx[3] FSize=512, StAddr=0x00000800% U5 M! ?. T3 E5 ]' q dwc2 50000000.usb: DPTx[4] FSize=512, StAddr=0x00000a00 dwc2 50000000.usb: DPTx[5] FSize=512, StAddr=0x00000c00 dwc2 50000000.usb: ep0-in: EPCTL=0x00008000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep0-out: EPCTL=0x00008000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep1-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb( W8 e0 L" Y0 i6 t( H+ R6 r# Y dwc2 50000000.usb: ep1-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep2-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep2-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb% w! R+ x1 k, \7 ]6 X0 e- O 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# F. E/ C0 X- \: f; Q dwc2 50000000.usb: ep4-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep5-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep5-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb# y6 o) t; h" u9 F. b+ j dwc2 50000000.usb: DVBUSDIS=0x000017d7, DVBUSPULSE=000005b8 usbcore: registered new interface driver cdc_acm cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters usbcore: registered new interface driver uas usbcore: registered new interface driver usb-storage" X" r: @8 E+ B) d* s g_serial gadget: Gadget Serial v2.4 g_serial gadget: g_serial ready5 ^* c4 u; o& H* ?9 C7 N dwc2 50000000.usb: bound driver g_serial2 ?# f0 s" {7 g/ [; Z$ N! a: T i2c /dev entries driver stm32-pinctrl pin-controller: maps: function i2c_4 group i2c_4-0 num 3* g# K$ e }9 S' R$ W4 @ bmp085 3-0077: Successfully initialized bmp085!8 Z" R, m: L/ h& g P) F stm32f7-i2c 40006000.i2c: I2C Controller i2c-3 at 40006000,irq=58+ h- h+ [' v4 |- e0 _ ?2 A/ ` Driver for 1-wire Dallas network protocol.8 r. u% Z, l* S usbcore: registered new interface driver btusb. u* L: x* d$ L: E' W stm32-pinctrl pin-controller: maps: function sdio group sdio-0 num 76 X) y' `+ ]+ C! w# s mmci-pl18x 40012c00.sdi: Got CD GPIO 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 request0 z& H8 p$ `* _! e: |: d) ?, {; m ed) a( }7 Z( X: G% ` mmci-pl18x 40012c00.sdi: DMA channels RX dma1chan3, TX dma1chan3: b; N# o/ o0 e. A4 G stm32_gpio_to_irq: Event line 3 now points to fire interrupts from bank G. M$ |) J. k/ P' h7 B stm32-pinctrl pin-controller: maps: function gpio group outs num 2; y$ ?0 R+ r; K( |' A+ H0 T hidraw: raw HID events driver (C) Jiri Kosina- R. W! d9 m; g! K$ A$ a5 ] usbcore: registered new interface driver usbhid9 S3 j& d' g( U6 Z& d usbhid: USB HID core driver0 u4 `; K6 ^* _5 O# j; b stm32-pinctrl pin-controller: maps: function adc1_in0_pin group adc1-0 num 2! g6 S6 t# X$ {+ { stm32f4-adc 40012000.adc: registered" \, J" ~+ B# a* D$ X stm32-pinctrl pin-controller: maps: function sai_2 group sai_2-0 num 55 S: X2 O9 y$ l0 A2 r 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. W; m" H- Q* Z0 z stm32-asoc-card: probe of sound failed with error -22 NET: Registered protocol family 17 can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29- e2 t2 D }6 c; |" j can: raw protocol (rev 20120528)5 d) q3 T) b1 y+ x. N can: broadcast manager protocol (rev 20120528 t)7 F9 G; P6 @1 c$ H! g6 x! l can: netlink gateway (rev 20130117) max_hops=1 Bluetooth: RFCOMM TTY layer initialized8 E) b6 l! |4 x; p' l* Y Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 hctosys: unable to open rtc device (rtc0) vmmc: disabling ALSA device list: No soundcards found.' D* c, J0 ?# G Freeing unused kernel memory: 4000K (c0312000 - c06fa000) r3 ~! E" t, _ init started: BusyBox v1.24.2 (2018-11-22 20:35:58 EST) / # amixer: Mixer attach default error: No such file or directory' |2 R0 _1 a4 L- G H stm32-dwmac 40028000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx / # free total used free shared buffers cached Mem: 60432 8140 52292 0 0 4792 -/+ buffers/cache: 3348 57084( S' w/ Z' w7 i2 t& I( ]% t4 s / # 5 ^9 o, a; R9 S5 n! O$ @% d. t8 C |
基于STM32F767通过cube配置:QSPI接口读写64M PSRAM+flash参考资料...
STM32F746G-DISCO移植lvgl9.0性能基准测试
STM32F745 USART1 Bootloader启动失败排查与解决的流程分析
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
入门嵌入式,为什么STM32是“优选起步”?
嵌入式-单片机-STM32 EXTI中断
STM32单片机进行除零运算,为何程序不崩溃?
STM32 LL为什么比HAL高效?
STM32时钟详解
微信公众号
手机版
哇哦!