
前段时间ST推出了Value Line的STM32F750和H750两个系列,看了一下选型表,F750有LQFP144封装,正好适合我的STM32 linux板子。% F% e4 ^8 a6 L8 d$ e* S4 k & j2 [. O; B' ^$ }* F6 x- j$ Y 于是,双十一买了几片。同时,我对我的linux板做了小幅改版:将SPI Flash容量扩大到32MB并连接到F750的QSPI* @; q, X1 ]$ s* N BANK1,添加了CAN收发器和接口,增加了两个I2C外设(温湿度传感器和气压传感器)。板子做回来后先焊了一片,调试过程还算比较顺利,现在u-boot和Linux都工作起来了,下面是系统启动log,F750速度还是相当快的(427.62 BogoMIPS,F429跑Linux只有35.84 BogoMIPS),QSPI的加载速度也很给力。下一步我准备多测试几种STM32外设的Linux- v! K6 c# S0 Q3 V/ j driver,emcraft现在的SDK比两三年前多了不少外设驱动,可以都试试看。8 }+ u4 R" }% _. X7 u) e4 a + L4 v2 w o* l ![]() ![]() ) `5 z" `) `+ d( b. A9 J 3 G8 ^! t7 e- r0 v( S7 j. V% l; _ U-Boot 2010.03 (Nov 26 2018 - 21:30:21)/ N1 j6 H& W+ m & i* \0 s: F* u5 @ CPU : STM32F7 (Cortex-M7)& m. y( ~. o9 ?! t3 |. T Freqs: SYSCLK=216MHz,HCLK=216MHz,PCLK1=54MHz,PCLK2=108MHz Board: STM32F750 Rev 1.0 DRAM: 64 MB In: serial2 E1 T8 J! {. K8 U: @8 ~ Out: serial Err: serial) U+ u- p7 V+ F5 o QSPI: 32 MB mapped at 0x90000000' |- N' D# V, j" X* I" w Net: miiphy_register done." }- G# e. E A9 T' h eth hw init done. STM32_MAC Hit any key to stop autoboot: 04 I8 U6 y" I9 e/ N6 r7 K Booting from QSPI( a' {% d/ |3 b ## Booting kernel from Legacy Image at c0007fc0 ... Image Name: Linux-4.2.0+ c+ _/ T. @- e- v; H W% a1 O" D Image Type: ARM Linux Multi-File Image (uncompressed) Data Size: 7496295 Bytes = 7.1 MB) s) J ^3 M, `" i8 H$ e Load Address: c0008000 Entry Point: c0008001 Contents: Image 0: 7471388 Bytes = 7.1 MB Image 1: 24895 Bytes = 24.3 kB. C0 n2 Y' e# l Verifying Checksum ... OK ## Flattened Device Tree from multi component Image at C0007FC0' U0 O4 c8 B# ~0 H Booting using the fdt at 0xc0728128 Loading Multi-File Image ... OK+ d: A6 c, W5 U3 q/ e OK WARNING: legacy format multi component image overwritten Loading Device Tree to c3ff6000, end c3fff13e ... OK + D3 L; X& r) y: @ Starting kernel ...Booting Linux on physical CPU 0x0 Linux version 4.2.0(gcc version 4.4.1 (Sourcery G++ Lite 2010& [/ E- U# [% H8 I' P q1-189) ) #90 Tue Dec 4 03:32:33 EST 2018 CPU: ARMv7-M [410fc271] revision 1 (ARMv7M), cr=00000000$ s0 _" q& B/ W$ X CPU: WBA data cache, WBA instruction cache2 I+ y( K7 k5 f: U$ V, ]( w Machine model: EmCraft Systems STM32F7-SOM board 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 4.1.10:169.254.1.2:::stm32f7-disco:eth0:ff PID hash table entries: 256 (order: -2, 1024 bytes)# \! `7 n& X$ C5 F1 J- e Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)1 N. ?* `# F; v# A( v" j, q% q Memory: 56432K/65536K available (2523K kernel code, 181K rwdata, 588K rodata, 4000K init, 111K bss, 9104K reserved, 0K cma-reserved) Virtual kernel memory layout:* K2 v( d4 }% V: | vector : 0x00000000 - 0x00001000 ( 4 kB)9 K! Y1 B+ W O, ]" ? fixmap : 0xffc00000 - 0xfff00000 (3072 kB) Q! s0 G. {# w- W7 { vmalloc : 0x00000000 - 0xffffffff (4095 MB)& Z* s' R. G/ [) ~$ \% N lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)* @, U0 \5 R/ s! U- E. r .text : 0xc0008000 - 0xc0312000 (3112 kB) .init : 0xc0312000 - 0xc06fa000 (4000 kB)* h* }$ P8 l" b1 J$ Q" x .data : 0xc06fa000 - 0xc07277c0 ( 182 kB)/ q' R: b4 D4 S .bss : 0xc072811c - 0xc0743e84 ( 112 kB)+ P6 j* M; {7 f( R$ \( O3 I ! ^' D6 v- z) l0 {9 S$ T8 y2 N 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 ns3 Y, U/ b$ H2 X" G$ k# d ARM System timer initialized as clocksource /soc/timer@40000000: STM32 clockevent driver initialized (32 bits)7 @& a+ M5 X [9 C sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns# Q' E3 Z$ H: u; a Calibrating delay loop... 427.62 BogoMIPS (lpj=2138112) pid_max: default: 4096 minimum: 301( ?/ _ ?( Y$ w$ ~, f% E Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) devtmpfs: initialized( N2 i5 H6 X0 l2 ^6 S+ O% t clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275+ e ^- V- ?9 P* w0 D9 k4 ~8 e3 j 0000 ns pinctrl core: initialized pinctrl subsystem NET: Registered protocol family 16 stm32-pinctrl pin-controller: nbanks = 11' w$ }/ Z: {# {3 z 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. stm32-pinctrl pin-controller: GPIOC bank added. stm32-pinctrl pin-controller: GPIOD bank added.4 l) @. g$ {. M: c stm32-pinctrl pin-controller: GPIOE bank added. stm32-pinctrl pin-controller: GPIOF bank added. stm32-pinctrl pin-controller: GPIOG bank added. stm32-pinctrl pin-controller: GPIOH bank added. stm32-pinctrl pin-controller: GPIOI bank added." `" F3 [& H' `$ p2 X5 L$ w6 M# B% ` stm32-pinctrl pin-controller: GPIOJ bank added./ v; T; S. @) r! V7 H' E stm32-pinctrl pin-controller: GPIOK bank added.$ C! I, p- d% H$ E3 \ stm32-pinctrl pin-controller: Function[0 name:i2c_1, groups:1] stm32-pinctrl pin-controller: Function[1 name:i2c_2, groups:1]% |, O* T* ?* w/ { 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]0 C8 O6 H0 z+ ~6 S. S 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]- \) P& N8 m+ Y" E& O+ |' { stm32-pinctrl pin-controller: Function[8 name:usart1, groups:1] stm32-pinctrl pin-controller: Function[9 name:usart6, groups:1] stm32-pinctrl pin-controller: Function[10 name:usart7, groups:1] stm32-pinctrl pin-controller: Function[11 name:usb_fs, groups:1] stm32-pinctrl pin-controller: Function[12 name:usb_hs, groups:1]' ~& w) l( n9 t" ?# h; M, C# X! T stm32-pinctrl pin-controller: Function[13 name:can_1, groups:1] stm32-pinctrl pin-controller: Function[14 name:adc1_in0_pin, groups:1] stm32-pinctrl pin-controller: Function[15 name:dac_out2_pin, groups:1]2 k1 K, t- r" F: H' L stm32-pinctrl pin-controller: Function[16 name:ltdc, groups:1] stm32-pinctrl pin-controller: Function[17 name:sai_2, groups:1]4 w6 G, Y% \$ n: ^! s1 d# w1 a/ f stm32-pinctrl pin-controller: Function[18 name:i2c_4, groups:1]% y n0 v6 h. S8 ?. Z6 f stm32-pinctrl pin-controller: Function[19 name:gpio, groups:3]3 t: R1 i4 I, L stm32-dma 40026000.dma: STM32 DMA driver registered' a) l, J2 R6 a ^ stm32-dma 40026400.dma: STM32 DMA driver registered J; S% r$ e% U+ U X. c; g: N4 m& @ SCSI subsystem initialized usbcore: registered new interface driver usbfs4 p" ] ?; j: _+ Q2 o* r usbcore: registered new interface driver hub! Q0 E6 A) I2 U# k usbcore: registered new device driver usb2 Y7 @4 {9 u5 ^4 L soc:phy_hs supply vcc not found, using dummy regulator s" }3 U+ _# H* l7 ^# F* X 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 NET: Registered protocol family 31% Y- Y& }5 l6 X7 { Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized/ j$ h4 C8 G5 Q) i5 N" Q, H Bluetooth: L2CAP socket layer initialized. O8 a8 m% a T) w7 F Bluetooth: SCO socket layer initialized clocksource: Switched to clocksource arm_system_timer3 U0 g: A8 r6 z, |2 ]* ?: p 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) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)% x7 ?* R" Z+ h" W+ v NET: Registered protocol family 14 f5 {, m4 K( J0 ]. V4 O RPC: Registered named UNIX socket transport module.% @0 |- }( E5 v4 a" g# h RPC: Registered udp transport module.( Y, ~3 }, l, K/ r N. Y RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. Power Management for STM32 futex hash table entries: 16 (order: -5, 192 bytes)' \6 X, j0 V0 y jffs2: version 2.2. (NAND) (SUMMARY) 漏 2001-2006 Red Hat, Inc. fuse init (API version 7.23) Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) s& E& `: v, y' b io scheduler noop registered io scheduler cfq registered (default)1 G( M/ Q' t I G8 U stm32-pinctrl pin-controller: maps: function gpio group pwms num 21 u* h; e* p) d, i' { stm32-pwm pwm0: basing on TIM3.1(x16); E4 P" L9 L3 p, B$ ]( O7 s$ v& f8 m stm32-pinctrl pin-controller: maps: function ltdc group ltdc-0 num 293 z0 g: u# O8 x stm32_lcdfb 40016800.ltdc: fb0: fb device registered successfully4 f4 I/ J( T4 ]+ E; @( n STM32 USART driver initialized$ ^/ u; e0 K( g1 q8 X stm32-pinctrl pin-controller: maps: function usart1 group usart1-0 num 3: {" T6 Z0 {5 _1 h+ c# p( P0 Z( `0 S 40011000.serial: ttyS0 at MMIO 0x40011000 (irq = 34, base_baud = 6750000) is a stm32-usar& C4 F" Z0 j/ x' k t 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-usar0 V. R' e. D b( Y3 t3 z0 b; d 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 248 2 ofpart partitions found on MTD device physmap-stm-flash.09 M* d2 L- m7 X7 g8 U% b0 L Creating 2 MTD partitions on "physmap-stm-flash.0": 0x000000000000-0x000000020000 : "stm_flash_uboot"6 i+ W5 z& a% |5 t# c! p( o 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=1080000005 @$ ?, g/ G- n9 R6 N7 D8 O CAN device driver interface7 Y( m0 B$ T) S6 c; U2 Y stm32-pinctrl pin-controller: maps: function can_1 group can_1-0 num 3* O9 w6 b7 q5 F: [: w" l; S 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 Ring mode enabled+ ]3 ~/ c- v' e DMA HW capability register supported Enhanced/Alternate descriptors* g, g: p" J$ _5 h5 O' S% M) {" Q Enabled extended descriptors' S; S: ~4 ~2 a: N1 C1 n7 o6 I3 B RX Checksum Offload Engine supported (type 2)9 n( a) `/ q: U* B" ~6 Y' [ TX Checksum insertion supported Wake-Up On Lan supported1 K2 t" r7 Y! ~& X) v0 P Enable RX Mitigation via HW Watchdog Timer stm32-dwmac 40028000.ethernet eth0: No MDIO subnode found# h/ ~0 y6 v# w! I4 a3 j libphy: stmmac: probed* s9 \# a h" S r6 r# l3 Y eth0: PHY ID 0007c0f1 at 0 IRQ POLL (stmmac-0:00) active+ f0 F; z) f; c4 e PPP generic driver version 2.4.2: `& W+ u; H- @% a$ ] PPP BSD Compression module registered PPP Deflate Compression module registered usbcore: registered new interface driver rt2800usb: B; P$ s8 U. M s/ B stm32-pinctrl pin-controller: maps: function usb_hs group usb_hs-0 num 3 dwc2 40040000.usb: DWC OTG Controller& @1 a+ g- I3 Z/ f+ j dwc2 40040000.usb: new USB bus registered, assigned bus number 10 X; W1 a3 \+ t2 s" _: ^ dwc2 40040000.usb: irq 56, io mem 0x000000005 r: K( {- U# I usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, I8 v# m# Y4 | usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1. [9 T& D' \; r& ]6 E% q8 K" X7 ] usb usb1: Product: DWC OTG Controller5 d1 F0 T1 z/ l* N) O- ^$ V usb usb1: Manufacturer: Linux 4.2.0 dwc2_hsotg* |( r- F" B6 i) |4 O usb usb1: SerialNumber: 40040000.usb i: {8 G# E7 @" g1 q- [ 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/ v! D4 }/ Y* a. d 50000000.usb supply vusb_d not found, using dummy regulator ]. G' ], J8 D" h 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 dwc2 50000000.usb: GAHBCFG=0x00000000, GHWCFG1=0x000000002 t2 X$ @2 Y7 h, J; L2 X dwc2 50000000.usb: GRXFSIZ=0x000000a0, GNPTXFSIZ=0x004000a00 G3 K/ k3 P; T. N$ |3 \ 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- b$ H0 m3 I( g5 _, [ 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 dwc2 50000000.usb: ep1-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep2-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb! |$ e+ {; k+ @& ~4 r dwc2 50000000.usb: ep2-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep3-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb( G' S' g$ S5 _ dwc2 50000000.usb: ep3-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: ep4-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb2 W- h; A5 q1 x; Y& W dwc2 50000000.usb: ep4-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb( d8 d; _+ v; K: n dwc2 50000000.usb: ep5-in: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb$ V% S4 {$ w$ ^4 d% m7 f. }1 j. A dwc2 50000000.usb: ep5-out: EPCTL=0x00000000, SIZ=0x00000000, DMA=0x5abee5fb dwc2 50000000.usb: DVBUSDIS=0x000017d7, DVBUSPULSE=000005b8, U7 K) P% t7 n2 M: T usbcore: registered new interface driver cdc_acm" s% m" I1 c* x5 {8 Z1 K4 k cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters usbcore: registered new interface driver uas& {4 e4 ^) ]: K# `; J G6 a" d8 \ usbcore: registered new interface driver usb-storage g_serial gadget: Gadget Serial v2.4 g_serial gadget: g_serial ready" U9 P1 ]. \6 t' r2 [ dwc2 50000000.usb: bound driver g_serial" B3 Y9 x: _; v6 K1 B 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$ B6 e' ?& a5 f0 F& ? F Driver for 1-wire Dallas network protocol. usbcore: registered new interface driver btusb stm32-pinctrl pin-controller: maps: function sdio group sdio-0 num 7 mmci-pl18x 40012c00.sdi: Got CD GPIO mmci-pl18x 40012c00.sdi: mmc0: PL180 manf 80 rev4 at 0x40012c00 irq 37,0 (pio)* R: r5 _& n8 j4 Z# I stm32-dma 40026400.dma: stm32_dma_of_xlate: unable to get channel 3 - was already request ed2 N0 u) x: X! x) n+ A" l mmci-pl18x 40012c00.sdi: DMA channels RX dma1chan3, TX dma1chan3 stm32_gpio_to_irq: Event line 3 now points to fire interrupts from bank G1 q9 y, F: O) B" M stm32-pinctrl pin-controller: maps: function gpio group outs num 2 hidraw: raw HID events driver (C) Jiri Kosina. |1 H3 g' h$ y6 j usbcore: registered new interface driver usbhid: K# | Y, I% E8 F" J8 o usbhid: USB HID core driver stm32-pinctrl pin-controller: maps: function adc1_in0_pin group adc1-0 num 2* J/ @' h% v; ^5 S0 R5 S stm32f4-adc 40012000.adc: registered stm32-pinctrl pin-controller: maps: function sai_2 group sai_2-0 num 52 ~% M0 o. @! e& }6 r$ b 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$ L+ z& y2 O4 q3 G NET: Registered protocol family 17 can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29 can: raw protocol (rev 20120528) can: broadcast manager protocol (rev 20120528 t) can: netlink gateway (rev 20130117) max_hops=1 Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized8 A+ b8 b7 A: L: r: J8 [8 T- S0 U2 W Bluetooth: RFCOMM ver 1.11 hctosys: unable to open rtc device (rtc0)% i! F& |( d9 H, |0 R2 y vmmc: disabling ALSA device list:7 ] h. Z+ W+ R' Q( ~7 w! F# J No soundcards found. Freeing unused kernel memory: 4000K (c0312000 - c06fa000) init started: BusyBox v1.24.2 (2018-11-22 20:35:58 EST)7 W, Y+ ^4 y; J / # amixer: Mixer attach default error: No such file or directory stm32-dwmac 40028000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx3 t9 H+ U/ A% c( O; c 5 k. \: l; D: G0 M! d9 R. o% E' y( Y / # free total used free shared buffers cached" a0 I T9 \8 N& N- L Mem: 60432 8140 52292 0 0 4792' t. X- K9 j- D& {% j" W -/+ buffers/cache: 3348 570846 E( L$ t- a6 h / #7 C8 E/ I, B9 j: J 6 I+ x$ _5 R1 y% O$ y $ p- r- g- L8 u3 r; G# x |
【STM32F769I-DISC1】开发板刷入Micropython并完成点灯、读取内部温度测试
【STM32F769I-DISC1】测评01:创建STM32cube IDE 工程,点个灯
【STM32F769】创建deepseek本地服务,并实现http请求
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
coremark移植到STM32F769I-DISCO开发板的两种方法
【GUI板免费申请活动】【圣诞GUI】使用F746-DISO基于TouchGFX的圣诞树
刘氓兔的杂谈【001】-片上USB 高速PHY
【合集】STM32F7教程、资料大集合
基于STM32F746G-Discover的扩展电路板
F769 Discovery实现播放U盘音乐的播放器