论坛发帖太分散了,在此记录一下我开发STM32F750 uClinux开发板的进程,这是第一篇,发表于2018年12月。
前段时间ST推出了Value Line的STM32F750和H750两个系列,看了一下选型表,F750有LQFP144封装,正好适合我的STM32 linux板子。
于是,双十一买了几片。同时,我对我的linux板做了小幅改版:将SPI Flash容量扩大到32MB并连接到F750的QSPI
BANK1,添加了CAN收发器和接口,增加了两个I2C外设(温湿度传感器和气压传感器)。板子做回来后先焊了一片,调试过程还算比较顺利,现在u-boot和Linux都工作起来了,下面是系统启动log,F750速度还是相当快的(427.62
BogoMIPS,F429跑Linux只有35.84
BogoMIPS),QSPI的加载速度也很给力。下一步我准备多测试几种STM32外设的Linux
driver,emcraft现在的SDK比两三年前多了不少外设驱动,可以都试试看。
U-Boot 2010.03 (Nov 26 2018 - 21:30:21)
CPU : STM32F7 (Cortex-M7)
Freqs: SYSCLK=216MHz,HCLK=216MHz,PCLK1=54MHz,PCLK2=108MHz
Board: STM32F750 Rev 1.0, www.emcraft.com
DRAM: 64 MB
In: serial
Out: serial
Err: serial
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
## Booting kernel from Legacy Image at c0007fc0 ...
Image Name: Linux-4.2.0
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 MB
Image 1: 24895 Bytes = 24.3 kB
Verifying Checksum ... OK
## Flattened Device Tree from multi component Image at C0007FC0
Booting using the fdt at 0xc0728128
Loading Multi-File Image ... OK
OK
WARNING: legacy format multi component image overwritten
Loading Device Tree to c3ff6000, end c3fff13e ... OK
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 4.2.0 (hw@localhost.localdomain) (gcc version 4.4.1 (Sourcery G++ Lite 2010
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 cache
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:off
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 56432K/65536K available (2523K kernel code, 181K rwdata, 588K rodata, 4000K init,
111K bss, 9104K reserved, 0K cma-reserved)
Virtual kernel memory layout:
vector : 0x00000000 - 0x00001000 ( 4 kB)