开发板,是工程师探索新技术、试用新产品、快速开发原型样机的最佳方式。因此硬禾学堂联合全球著名的元器件分销商Digi-Key发起这个为期一年的Funpack活动——从这个月开始,每个月给大家推出一款用全球顶级半导体厂商的新产品构成的开发板套件。如果你能在一个月内按照指定目标把它玩起来,就可以免费获得它。
本月是Funpack第一期,我们的活动产品是由Seeed设计、用意法半导体的STM32MP157C为处理器的模块系统。先一起来听听苏老师的介绍。
玩成就送!是不是动心了?我们一起来看看本期活动的详细安排。
活动流程及时间安排
3. 在10月15日(一个月时间)前完成指定任务(简单来说是把板子跑起来,并驱动SPI、I2C、UART三个外设中的其中一个),通过邮件提交指定材料给硬禾,提交时间截止到10月15日晚23:59;
具体提交的材料和详细要求,请点击“阅读原文”到活动首页后点击“怎么玩”就能看到。
或者你会问这个会不会很难。其实不要担心,这一期硬禾学堂的吴志军老师将给大家带来详细的上手指导,为大家扫清障碍。交流群已经建立,扫码就能进入。
STM32MP1推出以来,市面上已经有好几种开发板,今天给大家介绍一款由矽递(Seeed)推出的ODYSSEY-STM32MP157C开发板,其最大的特色是类似树莓派的结构设计,兼容树莓派接口。融入树莓派生态系统,不仅增加了各种资源,增加了可玩性,对新用户来说了降低了Linux门槛,上手入门更容易。
核心板SoM详细参数
STM32MP157C:MPU(双核Arm Cortex-A7 + 单核Cortex-M4 )
MT41K256M16TW-107:512MB RAM
STPMIC1APQR: 电源管理芯片
EMMC04G-M627: 4GB eMMC内存
LED: 成功供电后,PWR将继续工作。当系统正常运行时,USER LED将一直闪烁。
70针连接器:3路70针板对板连接器
核心STM32MP157C处理器是工作在650Mhz的双核Arm Cortex-A7核心处理器。该处理器还与Cortex-M4协处理器集成在一起,使其适合于实时任务。Cortex-A7主要在操作系统级别执行操作,Cortex-M4在MCU级别处理操作。芯片含有丰富的资源,支持各种存储器接口、图形加速/显示接口和丰富的通信接口。可以广泛应用于工业制造、消费电子、医疗、高端可穿戴设备、智能家居设备等领域。
载板详细参数
载板:安装核心板 SoM-STM32MP157C的区域(载板的结构类似树莓派)。
直流电源输入端口:12V〜24V / 2A(建议输入12V / 2A电源)。
ETH接口:网络电缆接口可以连接到千兆级网络。
USB端口:两个USB主机端口
USB设备:USB 2.0 TypeC。如果将Type C用作板卡电源输入,则应使用5V / 3A电源适配器。
数字Grove接口:将Grove接口连接到数字引脚。
IIC Grove接口:将Grove接口连接到IIC引脚。
音频接口:3.5mm音频接口。
MIPI DSI接口:使用MIPI DSI接口(FPC 20Pin 1.0mm)连接到显示器。
40 PIN GPIO接口:与Raspberry Pi的40-PIN兼容。
AP6236: 2.4G WiFi&BT 4.2控制芯片
滑动开关:可用于选择SD卡或eMMC来启动。
调试UART:系统默认的调试串行端口
JST 1.0mm: 3VRTC电池接口。
RST键:系统复位键
PWR按键:长按约8秒可关闭,短按可启动。
用户按钮:用户按钮。
PWR LED: 开发板电源指示灯。
User LED: 用户可编程的LED。
ACA-5036-A2-CC-S: 板载2.4G陶瓷天线。
IPEX 1代:外部2.4 G外部天线座(使用外部天线时,需要卸下R49,R51两个0Ω电阻)
lSD卡插槽:将装有系统的SD卡插入该区域
DVP摄像头接口:通过DVP接口(FPC 20Pin 1.0mm)连接到摄像机。
KSZ9031: 1000M网络电缆驱动器网卡。
STMPS2252MTR: 电源开关芯片。
MP9943: 降压DCDC电源芯片。
WM8960: 音频编解码器芯片。
MP2161: 降压DCDC电源芯片。
准备工作
电源推荐12V2A直流电源(也可以通过Type C USB供电,需要5V3A适配器)
串口连接线
4GB以上SD卡
网线(可选)
首先我们要在wiki页面下载烧录Linux镜像,熟悉树莓派的朋友一定不陌生。
然后连接硬件平台,串口这样连接,如果有网线也可以插上。
在板上有开关控制启动模式(SD or eMMC),第一次拨到SD端。
第一次启动
输入默认的用户密码debian temppwd进入Linux系统,可以看看系统信息,如查看当前操作系统内核信息等。
这时候Linux系统基本上是一个裸系统,如果已经连上了有线网络(或者激活WiFi),我们可以进行系统更新,因为更新源在国外,所以系统更新速度有些慢,需要耐心等待。
sudo apt-get update
sudo apt-get upgrade
更新完成后需要安装一些基本工具,如ssh、git、wget、make等等。安装ssh后可以通过ssh远程登录系统更方便。
sudo apt install ssh
切换eMMC启动
系统从eMMC启动更方便,这样就不需要再插上SD卡。要如何切换到eMMC启动?首先要更改启动文件/boot/uEnv.txt,
sudo sh -c "echo cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3-stm32mp1.sh >> /boot/uEnv.txt"
sudo reboot
直接重启,重启完成后会发现这时候SoM上的user led变成常亮。
激活WiFi
如果已经插上网线的话,可以直接连通网络。想要激活WiFi功能首先要修改/boot/uEnv.exe的内容。
重启系统,该Linux镜像集成了网络管理工具connmanctl,按照wiki教程设置WiFi激活。
连上网络后可以通过ssh登录系统。
安装Python工具
sudo apt install linux-headers-$(uname -r) -y
git clone https://github.com/Seeed-Studio/seeed-linux-dtverlays
cd seeed-linux-dtverlays
make all_stm32mp1 CUSTOM_MOD_FILTER_OUT="jtsn-wm8960" && sudo make install_stm32mp1 CUSTOM_MOD_FILTER_OUT="jtsn-wm8960"
sudo apt install python3 python3-pip -y
sudo pip3 install Seeed-grove.py
cd ~
git clone https://github.com/Seeed-Studio/grove.py
import time
from grove.grove_led import GroveLed
# connect to pin 5(slot D5)
PIN = 5
led = GroveLed(PIN)
while True:
led.on()
time.sleep(1)
led.off()
time.sleep(1)
sudo python3 led.py
在这块开发板上没有引出STLink接口,不过PCB还是预留了STLink的调试信号,可以焊接引出STLink接口用于单片机调试。
总结
ODYSSEY-STM32MP157C开发板设计之初就考虑融入树莓派生态系统,不仅增加了可玩性,也降低了使用门槛。对于习惯MCU开发的用户是一个很好地上手工具。这款开发板还有一个优势是核心板和载板分离设计,而且硬件设计完全开源。我们知道有很多设计可以直接基于树莓派开发,但是最大缺点是树莓派的硬件是没法定制的。而这款开发板不仅可以做原型设计和软件验证,也很方便将核心板集成到自己的设计,降低产品的设计和时间成本。
END
硬禾学堂
硬禾团队一直致力于给电子工程师和相关专业的同学,带来规范的核心技能课程,帮助大家在学习和工作的各个阶段,都能有效地提升自己的职业能力。
硬禾学堂
我们一起在电子领域探索前进
关注硬禾服务号,随时直达课堂
点击阅读原文查看详情规则并报名