stm32mp1开发板入门pangu
pangu开发板介绍
pangu开发板主芯片基于ST公司STM32MP1系列微处理器(ARM dual Cortex-A7 650Mhz + Cortex-M4)
开发软件安装,STM32CubeMX
STM32CubeMX 是 ST 意法半导体近几年来大力推荐的 STM32 芯片图形化配置工具, 允许用户使用图形化向导生成 C 初始化代码,可以大大减轻开发工作,时间和费用。stm32mp1中使用协处理器M4需要安装stm32cubemx:
stm32cubemx运行环境搭建,包含两个部分,首先是安装java运行环境(版本必须为v1.7以上),然后是安装stm32cubemx开发软件。
简单使用:
新建工程第一步,选择mcu型号
由于pangu开发板选用的是stm32mp157AAA3芯片,故选择stm32mp157AAAX
接下来配置时钟源,如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;
如果使用默认内部时钟(HSI),这一步可以略过;这里使用外部时钟,HSE,LSE
pangu开发板上的外部时钟
下拉框中选择crystal/Ceramic Resonator晶体/陶瓷晶振
设置开发板上D17灯对应的PH6引脚为输出
生成工程设置
然后点击Generate code就可生成MDK工程代码。
时钟树配置,配置主要是外部晶振大小,分频系数,倍频系统以及选择器。
最后用MDK打开生成的MDK-ARM工程文件,build编译。0error。
之前使用的STM32F407开发板用的是标准外设库(STD库), HAL库是硬件抽象层,更加标准化了。所有的函数名和函数体进行了重新定义,重新编写。更加通用。方便移植。近两年新出的STM32芯片,ST只提供HAL库,可用STM32Cube程序生成开发工具+HAL库
stm32cube目前几乎支持STM32全系列,我们需要到ST官网下载对应的STM32Cube包
包中大致有(1)Drivers文件夹,Drivers 文件夹包含BSP, CMSIS 和 STM32MP1xx_HAL_Driver 三个子文件夹。BSP是板级支持包,提供直接与硬件打交道的API。
CMSIS 文件夹是符合 CMSIS 标准的软件抽象层组件相关文件。主要包括 DSP库(DSP_LIB 文件夹), Cortex-M 内核及其设备文件(Include 文件夹), 微控制器专用头文件/启动代码/专用系统文件等(Device 文件夹)。
STM32MP1xx_HAL_Driver文件夹中包含所有的 STM32MP1xx系列 HAL 库头文件和源文件,也就是所有底层硬件抽象层 API 声明和定义。 它的作用是屏蔽了复杂的硬件寄存器操作,统一了外设的接口函数。 该文件夹包含 Src 和 Inc 两个子文件夹,其中 Src 子文件夹存放的是.c 源文件, Inc 子文件夹存放的是与之对应的.h 头文件。每个.c 源文件对应一个.h 头文件。
Middlewares文件夹下有Third_Party文件夹(是第三方中间件)里面有FreeRTOS实时系统支持包和OpenAMP(?)
Projects文件夹存放的是一些可以直接编译的实例工程,每个文件夹对应一个ST官方的Demo板,暂时只有SW4STM32的工程,没有MDK的。
一般来说,stm32mp1处理器可以在M4上做电机控制,A7上做人机交互界面。
应用开发环境搭建
linux开发需要在ubuntu下进行,主要是交叉编译器的安装。
linux进行C语言开发用的是GCC编译器进行代码编译,但ubuntu自带的GCC编译器是针对X86架构的。我们现在要编译的是ARM架构的代码,需要一个在X86架构的PC机上运行,可以编译ARM架构代码的GCC编译器,这个编译器就叫做交叉编译器。(就是在一个架构上编译另外一个架构的代码)
pangu开发板的开发环境基于Ubuntu16.04 64bit,在虚拟机上安装ubuntu16.04操作系统
- PanGu开发板的应用开发,需要先安装应用开发工具包(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。
由于板载的flash预装的是weston系统,在此我选择在ubuntu系统中安装weston系统镜像的应用开发工具链。
下面开始安装i2som-image-weston-openstlinux-weston-pangu-x86_64-toolchain-2.6-snapshot.sh工具包
首先运行chmod a+x命令,给所有人加上可执行权限,用ls –lh命令查询文件的大小、权限等详细信息,权限都为rwx(读取、写入、执行)
接着在路径下运行安装命令:./i2som-image-weston-openstlinux-weston-pangu-x86_64-toolchain-2.6-snapshot.sh
安装路径输入 /opt/st/pangu-i2som-image-weston/2.6-snapshot
接着会让你输入管理员密码,之后就等待安装了。
当出现SDK has been successfully时证明安装完成了。然后运行如下命令:
. /opt/st/pangu-i2som-image-weston/2.6-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi
通过$CC –version验证开发工具是否正确安装,如图显示了版本信息表示工具链安装完成。
编写测试文件test.c内容如下
编译test应用
然后将输出的 复制到pangu开发板后直接运行
通过MobaXtern配置ssh登录pangu开发板,可通过sftp服务进行文件的复制拷贝。
上图是pangu开发板的home目录
现在将编译输出的test从虚拟机的ubuntu系统复制到home目录下
可以看到此时多了个test文件。
直接运行发现permission denied
通过chmod a+x命令修改下权限,紧接着再输入./test
输出是hello,I am wangrongyao!
pangu开发板的Micro usb接口可以作为从设备,默认是作为usb以太网设备,可以实现将开发板的usb otg接口作为从设备模式,模拟成为一个网口,通过PC的usb接口连接到开发板。使用Micro USB线连接开发板J5和PC USB Host接口。PanGu开发板上usb0为网络设备,默认IP地址为192.168.7.2
PC通过usb连接开发板后,PC上会出现一个usb虚拟的网络设备,自行手动配置ip地址为192.168.7.10,之后就可以通过ssh登录pangu开发板了。
stm32mp1开发板入门pangu相关推荐
- [Intel Edison开发板] 02、Edison开发板入门
一.前言 Start from the link: 开始学习的链接 上面链接是官网的教程,按照教程可以开发板入门: 其中第一步是了解开发板,涉及到如何组装.如何连线.一些主要的接口简单介绍等信息: 第 ...
- WiFi连网—R329智能语音开发板入门
首发极术社区 如对Arm相关技术感兴趣,欢迎私信aijishu20加入技术微信群. R329 EVB5开发板上集成了全志自研的XR829无线芯片,支持2.4G wifi 和BT功能.Tina Linu ...
- 4412第一部分 开发板入门
4412 第一部分 开发板入门 基础知识 QT OTG fastboot BootLoader.Linux 内核(kernel)和文件系统 实践步骤 JTAG口 TF卡 Linux 常用命令 Ubun ...
- iTop4412开发板入门视频教程
iTop4412开发板入门视频教程: 链接:https://pan.baidu.com/s/1EhreTpvylCOZdcUWc37Mcw 提取码:xbvo iTop4412开发板电子书: 链接:h ...
- 学习嵌入式linux与ARM开发板入门方法(一)
嵌入式开发板(Embedded development board)就是半导体行业分工合作的载体之一,它为开发产品的厂商提供基本的底层硬件.系统和驱动等资源,使得用户不需要再投入人力和时间来完成这些底 ...
- Seeed STM32MP1开发板教程(0)前期准备篇
镜像下载和安装 这部分请参考seeed官方wiki: https://wiki.seeedstudio.com/cn/ODYSSEY-STM32MP157C 设备登陆 默认情况下seeed官方提供的的 ...
- STM32 Nucleo开发板入门(一)——概述
在实验室找到一块 STM32 的开发板,型号是STM32 Nucleo-L031K6.趁着十一假期,入门一下,顺便随便记点东西. NUCLEO-L031K6 | Mbedhttps://os.mbed ...
- Arduino文档阅读笔记-WeMos D1 ESP8266 WIFI开发板入门
WeMos D1开发板以ESP8266WIFI开发板为基础,使用Arduino开发板的设计,工作电压为3.3V设计出来的开发板,这个开发板仅仅是使用了Arduino uno的布局设计,并不是Ardui ...
- 上海合宙Luat 模块 Air724开发板 入门指南(1)
Air724 是上海合宙物联网于2020年3月下旬发布的一款基于UIS8910DM芯片组的物联网通讯模块. 模块通讯性能优越,符合Cat1通讯标准,支持最大下行速率 10Mbps 和最大上行速率5Mb ...
最新文章
- CATransition
- 利用matlab命令画出以下信号的波形,MATLAB实验报告
- Find All Numbers Disappeared in an Array
- oracle 中大于等于_针对oracle安装参数调整方法
- 韩顺平php视频笔记38-41 php数据类型(部分)
- python语言翻译成汇编语言_计原 || 1计算机语言发展与计算机层次结构
- python 二维码生成器_python二维码生成器
- 也许黎曼猜想是错误的
- centos7环境下编译bitcoin
- 家庭版Windows10/Windows11不支持远程桌面
- 单片机使能是什么意思?
- C#学习(二十五)——如何在PictureBox上画十字架
- 《春·蜂》processing下的动画技术交互应用
- 数据结构——实现双栈操作
- vc中实现xp风格界面
- 使用OpenStreetMap,Hot export tool,OSMNX下载地图资源
- W ndows7蓝屏0x00000024,Windows 7 蓝屏代码大全 蓝屏全攻略
- 锐捷三层链路聚合配置+命令详解
- Atitit 知识与学科的分类 杜威十进分类法 图书分类法已经采用二十二个大类 目录 1.1. 类知识的积累是一个从少到多的过程	1 1.2. 杜威十进分类法(Dewey Decimal Class
- 基于 GoogleMap 离线 API 源码在内网中加载卫星地图的方法
热门文章
- Python 实现 优惠码/激活码/邀请码 生成器
- 【解决方案】智能UI自动化测试
- 专访淘宝仲明:揭秘阿里运维部的故障响应机制(
- Coin Changing
- 携程称将继续参与一嗨私有化 Ocean联合体有33.2%投票权
- 实时3D图形技术的进化历史2
- 2015百度之星资格赛解题报告
- 不服不行!盘点那些编程界的天才少年,11岁参加国际比赛,靠奖金赚了40万美金
- 诛仙手游服务器购买无限制,全新福利提升 摆摊amp;购买增加次数限制_18183诛仙手游专区...
- php怎么获取js值,php 怎么获取JS的值 ,新手折腾几天了 还请大侠赐教