你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32mp1开发板入门pangu

[复制链接]
STMCU小助手 发布时间:2022-9-28 19:50
开发软件安装,STM32CubeMX5 w! C* ?  E- o2 \
STM32CubeMX 是 ST 意法半导体近几年来大力推荐的 STM32 芯片图形化配置工具, 允许用户使用图形化向导生成 C 初始化代码,可以大大减轻开发工作,时间和费用。stm32mp1中使用协处理器M4需要安装stm32cubemx:9 m: _/ s7 ?$ \- j3 v
stm32cubemx运行环境搭建,包含两个部分,首先是安装java运行环境(版本必须为v1.7以上),然后是安装stm32cubemx开发软件。# \- d( G- x* r0 M& G5 ?" ^
简单使用:
' E* T0 W; B; z新建工程第一步,选择mcu型号# N: s5 {# u$ s3 x. p6 n
" o: K  d( G( g3 A
20200222114600172.png 5 i8 x' O# q7 Z" b) ^0 M; q

: F5 G# x1 @% a* c# L: i由于pangu开发板选用的是stm32mp157AAA3芯片,故选择stm32mp157AAAX
. ]& @' K8 P4 x+ P# u  O# d
$ r3 N1 v% Y8 s9 H2 H) ]: l$ @ 20200222114620944.png ; g0 {& A/ S- i, n0 v

) I( t2 S! |0 V; |$ Y接下来配置时钟源,如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;4 s9 I0 |, o0 c9 v+ t2 m7 p

+ [2 {8 A- A% c3 E) B( p4 v' @如果使用默认内部时钟(HSI),这一步可以略过;这里使用外部时钟,HSE,LSE, Q$ \" l# s6 g+ \* V
pangu开发板上的外部时钟) ]6 b, k5 D# C/ F' x
20200222114636918.png
8 ]0 F6 E% y( G. Q9 U9 ^5 ?+ S) i% H/ k
下拉框中选择crystal/Ceramic Resonator晶体/陶瓷晶振
9 r) h8 z3 T# U# K9 D( ?, {" p& `5 q5 I& ~$ d0 L
20200222114645123.png % V9 W0 e+ o6 R: ^/ |; t
$ v5 d# l# S4 x3 c+ j/ R
设置开发板上D17灯对应的PH6引脚为输出
; }% |+ K" C  z& n4 a! @
$ B  H/ q; `5 }" w7 v 20200222114656882.png
9 z/ d+ q) k1 H/ G
7 b7 {, f- D5 m1 Y+ g7 s2 a. \, r生成工程设置/ O! \) l( z# N" M& {

# ]) r  h8 S4 t7 T8 p 20200222114702610.png
' z  l( S4 Y# x6 f' e  ^- F, P5 n/ b5 {, d# ?: W2 \; K4 m- A, t' |
然后点击Generate code就可生成MDK工程代码。
( C4 M. B* q. R- ]时钟树配置,配置主要是外部晶振大小,分频系数,倍频系统以及选择器。" J0 s' t& O  F4 [
7 ?; z- v$ [. L3 N, R6 U; e
20200222114710174.png
1 J! n; m5 I/ T3 S
/ ]5 ^$ `7 {0 u+ m! L: r# ` 20200222114716478.png
+ i. C) J3 s: z- O0 c! @( i6 t! O$ K1 }. U5 r
最后用MDK打开生成的MDK-ARM工程文件,build编译。0error。
" @3 H9 w/ q8 W9 Y4 V$ A( U' f( ]# R# F; {8 t
20200222114746322.png
7 p/ j8 `& h. g0 e- k
5 |& C, K$ ~) ?' v/ Y% S. w之前使用的STM32F407开发板用的是标准外设库(STD库), HAL库是硬件抽象层,更加标准化了。所有的函数名和函数体进行了重新定义,重新编写。更加通用。方便移植。近两年新出的STM32芯片,ST只提供HAL库,可用STM32Cube程序生成开发工具+HAL库
1 Q& p6 x, l  H. e3 g6 pstm32cube目前几乎支持STM32全系列,我们需要到ST官网下载对应的STM32Cube包1 w2 J% J' K! }8 H$ [
- K+ c9 W  ^+ s8 r
2020022211481192.png / ~: g, X8 I' M; `
* J% W6 g! k" P+ ~
包中大致有(1)Drivers文件夹,Drivers 文件夹包含BSP, CMSIS 和 STM32MP1xx_HAL_Driver 三个子文件夹。BSP是板级支持包,提供直接与硬件打交道的API。6 ~7 \8 m- u1 C/ y* n$ ]  c  @
CMSIS 文件夹是符合 CMSIS 标准的软件抽象层组件相关文件。主要包括 DSP库(DSP_LIB 文件夹), Cortex-M 内核及其设备文件(Include 文件夹), 微控制器专用头文件/启动代码/专用系统文件等(Device 文件夹)。4 x' X' p5 w; F0 Y: s( ?
STM32MP1xx_HAL_Driver文件夹中包含所有的 STM32MP1xx系列 HAL 库头文件和源文件,也就是所有底层硬件抽象层 API 声明和定义。 它的作用是屏蔽了复杂的硬件寄存器操作,统一了外设的接口函数。 该文件夹包含 Src 和 Inc 两个子文件夹,其中 Src 子文件夹存放的是.c 源文件, Inc 子文件夹存放的是与之对应的.h 头文件。每个.c 源文件对应一个.h 头文件。$ V6 I# j1 W8 H; T
Middlewares文件夹下有Third_Party文件夹(是第三方中间件)里面有FreeRTOS实时系统支持包和OpenAMP(?)  [; {! t8 j  u& k* M; h
Projects文件夹存放的是一些可以直接编译的实例工程,每个文件夹对应一个ST官方的Demo板,暂时只有SW4STM32的工程,没有MDK的。
. ~) c4 t) A. V3 C
$ x" x) L& j  ^! ~. H: q一般来说,stm32mp1处理器可以在M4上做电机控制,A7上做人机交互界面。+ P/ a$ q8 {9 M+ S( Z
# y7 p* a) O1 b# Y' ]
应用开发环境搭建1 m/ u/ @% j. `; Q* |
linux开发需要在ubuntu下进行,主要是交叉编译器的安装。3 Q. J% u7 X9 \

9 ^+ p# c8 y& slinux进行C语言开发用的是GCC编译器进行代码编译,但ubuntu自带的GCC编译器是针对X86架构的。我们现在要编译的是ARM架构的代码,需要一个在X86架构的PC机上运行,可以编译ARM架构代码的GCC编译器,这个编译器就叫做交叉编译器。(就是在一个架构上编译另外一个架构的代码)- I3 y. G- D. M/ ?  |

' ?0 D' N5 F9 P; x3 Dpangu开发板的开发环境基于Ubuntu16.04 64bit,在虚拟机上安装ubuntu16.04操作系统/ G# b" R3 V! a+ v

# z; f( K$ S4 M: M9 O/ WPanGu开发板的应用开发,需要先安装应用开发工具包(SDK)。PanGu开发板提供了两种SDK工具包:i2som-image-qt-openstlinux-eglfs-pangu-x86_64-toolchain-2.6-snapshot.sh和i2som-image-weston-openstlinux-weston-pangu-x86_64-toolchain-2.6-snapshot.sh。
, D+ j4 }9 p8 U& J8 \# p& y' v由于板载的flash预装的是weston系统,在此我选择在ubuntu系统中安装weston系统镜像的应用开发工具链。: m8 M  K' o& s! N
下面开始安装i2som-image-weston-openstlinux-weston-pangu-x86_64-toolchain-2.6-snapshot.sh工具包: u# i2 r/ b/ @
9 P* U3 l. C3 J) o8 P9 T9 s5 a% r
首先运行chmod a+x命令,给所有人加上可执行权限,用ls –lh命令查询文件的大小、权限等详细信息,权限都为rwx(读取、写入、执行)
; \4 E2 `: r1 |1 g/ i. e# P( H! ~/ X* b  F
20200222115039272.png # f$ N6 @% a* T( h

3 e' I! D- q" U1 g) Y接着在路径下运行安装命令:./i2som-image-weston-openstlinux-weston-pangu-x86_64-toolchain-2.6-snapshot.sh! m2 \% @1 `  f2 D

* e- \0 G: V, K/ y# F6 t2 M$ t; g7 Z2 j 20200222115050732.png
& ^/ H/ `, R/ j9 L
: U3 v& w& x/ Y& T6 }# b安装路径输入 /opt/st/pangu-i2som-image-weston/2.6-snapshot" V/ Q- X$ c3 G
- ^5 ~* a4 u9 _, Z' E9 J( B. g
20200222115058493.png 4 \% k1 |/ \5 J5 V2 f% J* }
3 C6 `8 K, x  X) t
接着会让你输入管理员密码,之后就等待安装了。
# `: {* k  c. ^" t4 W当出现SDK has been successfully时证明安装完成了。
. h( e8 T! d7 C) i# R" p, b  d, K/ J) |: V
然后运行如下命令:
, p. G0 I4 F- [4 U. /opt/st/pangu-i2som-image-weston/2.6-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi0 Q+ p) C: Q1 |; }( R$ X9 i
6 U8 \2 M7 n0 v7 A$ y
20200222115117851.png 4 E3 j) k/ }7 p# Z9 m9 x
0 P  c" J7 ~3 L( Y
通过$CC –version验证开发工具是否正确安装,如图显示了版本信息表示工具链安装完成。
! \' s" V) n' c+ \8 n
7 m8 o8 c0 ?7 y5 r6 g7 r编写测试文件test.c内容如下' b# Q/ p# g$ B1 V
, ~$ }  T1 O" ]5 ]! d
20200222115130646.png
' z. Y; ~' @' K2 v! C4 y4 H& i+ t; [; w# e0 t
编译test应用
% o, ?; s0 V3 w' L6 H) m2 s) [1 y$ X* p6 t5 \
2020022211513545.png 6 Q" e+ @* ^( H4 `6 W
9 W4 Y% b, X" [) n" I, S4 @3 R
然后将输出的 复制到pangu开发板后直接运行
0 S9 `5 j1 ?7 n. ^5 G8 q- P, f4 J( X( c! _
通过MobaXtern配置ssh登录pangu开发板,可通过sftp服务进行文件的复制拷贝。4 Y( |  _3 I3 F& \

6 c0 ~& ^% o+ f4 z* j2 t. N; U4 y 2020022211514457.png
8 U6 }% t' }2 h6 X( f
7 Q0 y9 H0 n, }" F5 t0 t( k8 s3 K上图是pangu开发板的home目录
! c/ X" o9 u# f% `6 m- Y6 f现在将编译输出的test从虚拟机的ubuntu系统复制到home目录下! O3 c  l9 k  ^9 g) Z
+ J% k9 }/ X/ {  T; S5 H
20200222115156304.png 3 R/ i/ @1 R6 b7 D! w2 z

1 {) p1 t8 r& v! D7 C可以看到此时多了个test文件。  Z2 Y; Z: }- {% W

- U, s5 A( A7 H5 O1 Q 20200222115206362.png
& f- e% ?0 @' @1 [3 V8 E! W
  D; i  i; W$ s2 k( N0 G* R* I直接运行发现permission denied
  {( w& U2 m- b/ }, A7 i) \通过chmod a+x命令修改下权限,紧接着再输入./test: u2 W( T& i9 |! h
输出是hello,I am wangrongyao!8 G9 @  ?& W4 z1 p2 n. U7 t

* W0 r. m- v! k6 D# jpangu开发板的Micro usb接口可以作为从设备,默认是作为usb以太网设备,可以实现将开发板的usb otg接口作为从设备模式,模拟成为一个网口,通过PC的usb接口连接到开发板。使用Micro USB线连接开发板J5和PC USB Host接口。PanGu开发板上usb0为网络设备,默认IP地址为192.168.7.2( t- w3 I8 w7 l6 z8 Y( }2 Z
$ c3 B3 O; F% @/ a3 |
20200222115720532.png
0 C$ y( g3 o+ \" F) N4 D4 ?6 K
4 z: \4 j  X! m/ BPC通过usb连接开发板后,PC上会出现一个usb虚拟的网络设备,自行手动配置ip地址为192.168.7.10,之后就可以通过ssh登录pangu开发板了。
% E  ^* z# _4 `/ X* C3 \$ z: a# g6 _3 d- G7 c5 [/ D: Z
20200222115727727.png 5 l$ E2 \" P1 i# C
/ q  w1 T3 g% |
————————————————1 U, y$ e% c" Z/ s7 R" i
版权声明:honor、
, g3 u* f5 I( w+ d5 `, m, j7 R
% _; E! D3 Q+ W' l8 `
5 v' l0 C( ~9 \; l9 [" m
赞 收藏 评论0 发布时间:2022-9-28 19:50

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版