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相关推荐

  1. [Intel Edison开发板] 02、Edison开发板入门

    一.前言 Start from the link: 开始学习的链接 上面链接是官网的教程,按照教程可以开发板入门: 其中第一步是了解开发板,涉及到如何组装.如何连线.一些主要的接口简单介绍等信息: 第 ...

  2. WiFi连网—R329智能语音开发板入门

    首发极术社区 如对Arm相关技术感兴趣,欢迎私信aijishu20加入技术微信群. R329 EVB5开发板上集成了全志自研的XR829无线芯片,支持2.4G wifi 和BT功能.Tina Linu ...

  3. 4412第一部分 开发板入门

    4412 第一部分 开发板入门 基础知识 QT OTG fastboot BootLoader.Linux 内核(kernel)和文件系统 实践步骤 JTAG口 TF卡 Linux 常用命令 Ubun ...

  4. iTop4412开发板入门视频教程

    iTop4412开发板入门视频教程: 链接:https://pan.baidu.com/s/1EhreTpvylCOZdcUWc37Mcw  提取码:xbvo iTop4412开发板电子书: 链接:h ...

  5. 学习嵌入式linux与ARM开发板入门方法(一)

    嵌入式开发板(Embedded development board)就是半导体行业分工合作的载体之一,它为开发产品的厂商提供基本的底层硬件.系统和驱动等资源,使得用户不需要再投入人力和时间来完成这些底 ...

  6. Seeed STM32MP1开发板教程(0)前期准备篇

    镜像下载和安装 这部分请参考seeed官方wiki: https://wiki.seeedstudio.com/cn/ODYSSEY-STM32MP157C 设备登陆 默认情况下seeed官方提供的的 ...

  7. STM32 Nucleo开发板入门(一)——概述

    在实验室找到一块 STM32 的开发板,型号是STM32 Nucleo-L031K6.趁着十一假期,入门一下,顺便随便记点东西. NUCLEO-L031K6 | Mbedhttps://os.mbed ...

  8. Arduino文档阅读笔记-WeMos D1 ESP8266 WIFI开发板入门

    WeMos D1开发板以ESP8266WIFI开发板为基础,使用Arduino开发板的设计,工作电压为3.3V设计出来的开发板,这个开发板仅仅是使用了Arduino uno的布局设计,并不是Ardui ...

  9. 上海合宙Luat 模块 Air724开发板 入门指南(1)

    Air724 是上海合宙物联网于2020年3月下旬发布的一款基于UIS8910DM芯片组的物联网通讯模块. 模块通讯性能优越,符合Cat1通讯标准,支持最大下行速率 10Mbps 和最大上行速率5Mb ...

最新文章

  1. CATransition
  2. 利用matlab命令画出以下信号的波形,MATLAB实验报告
  3. Find All Numbers Disappeared in an Array
  4. oracle 中大于等于_针对oracle安装参数调整方法
  5. 韩顺平php视频笔记38-41 php数据类型(部分)
  6. python语言翻译成汇编语言_计原 || 1计算机语言发展与计算机层次结构
  7. python 二维码生成器_python二维码生成器
  8. 也许黎曼猜想是错误的
  9. centos7环境下编译bitcoin
  10. 家庭版Windows10/Windows11不支持远程桌面
  11. 单片机使能是什么意思?
  12. C#学习(二十五)——如何在PictureBox上画十字架
  13. 《春·蜂》processing下的动画技术交互应用
  14. 数据结构——实现双栈操作
  15. vc中实现xp风格界面
  16. 使用OpenStreetMap,Hot export tool,OSMNX下载地图资源
  17. W ndows7蓝屏0x00000024,Windows 7 蓝屏代码大全 蓝屏全攻略
  18. 锐捷三层链路聚合配置+命令详解
  19. Atitit 知识与学科的分类 杜威十进分类法 图书分类法已经采用二十二个大类 目录 1.1. 类知识的积累是一个从少到多的过程 1 1.2. 杜威十进分类法(Dewey Decimal Class
  20. 基于 GoogleMap 离线 API 源码在内网中加载卫星地图的方法

热门文章

  1. Python 实现 优惠码/激活码/邀请码 生成器
  2. 【解决方案】智能UI自动化测试
  3. 专访淘宝仲明:揭秘阿里运维部的故障响应机制(
  4. Coin Changing
  5. 携程称将继续参与一嗨私有化 Ocean联合体有33.2%投票权
  6. 实时3D图形技术的进化历史2
  7. 2015百度之星资格赛解题报告
  8. 不服不行!盘点那些编程界的天才少年,11岁参加国际比赛,靠奖金赚了40万美金
  9. 诛仙手游服务器购买无限制,全新福利提升 摆摊amp;购买增加次数限制_18183诛仙手游专区...
  10. php怎么获取js值,php 怎么获取JS的值 ,新手折腾几天了 还请大侠赐教