写在前面:

本文章为《ARM Cortex-A7裸机开发篇》系列中的一篇,全系列总计11篇。笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板)。

针对FS-MP1A开发板,除了Cortex-A7裸机开发篇外,还包括其他多系列教程,包括Cortex-M4开发篇、FreeRTOS篇、Linux基础及应用开发篇、Linux系统移植篇、Linux驱动开发篇、硬件设计篇、人工智能机器视觉篇、Qt应用编程篇、Qt综合项目实战篇等。欢迎关注,更多stm32mp157开发教程及视频,可加技术交流Q群459754978,感谢关注。

FS-MP1A开发板详情介绍:https://item.taobao.com/item.htm?id=622457259672

Cortex-A7开发环境搭建

本章节主要介绍windows下的开发环境搭建。推荐使用win10 64bit系统进行安装。我们将安装以下软件。

  • Xshell 6(免费版)
  • STM32CubeProgrammer

Xshell 6安装

由于在后续的实验中需要使用到串口调试终端和ssh登陆Linux操作系统,因此需要 安装一个 调试工具 ,这里以xshell为例 ,读者也可以根据自己的个人习惯选择。

Xshell 6免费版安装包可以从xshell官方网站https://www.netsarang.com/zh/通过邮件申请免费版本,也可以使用资料光盘中【华清远见-FS-MP1A开发资料\01-工具软件】的Xshell-6.0.0197p.exe安装包进行安装。

双击安装包后会先检查当前系统环境,如果系统依赖不满足则会自动安装缺失的部分。

环境安装完成后将会出现如下界面

点击“下一步”

点击“我接收许可协议中的条款”

这里直接点击“下一步”

选择要安装的默认目录后点击“下一步”

点击“安装”

安装完成会出现如下界面

安装完成后第一次启动需要指定一个配置文件默认保存路径,这里一般默认即可。

然后出现如下界面,由于是免费版本所以直接点击“关闭”即可。

随后会弹出如下界面,点击“确定”

至此,xshell 6(免费版),就安装成功了。

STM32CubeProgrammer安装

STM32CubeProgrammer是STMicroelectronics的官方工具,用于在STM32平台上的Flash设备中创建分区并对各个分区进行镜像烧录。

可以使用STM32CubeProgrammer来烧录STM32 MPU板上支持的所以Flash设备。后续 镜像烧录将会用STM32CubeProgrammer工具进行eMMC和SDCsrd的镜像更新。

STM32CubeProgrammer安装包可以从xshell官方网站https://www.st.com/en/development-tools/stm32cubeprog.html通过邮件申请最新版本,也可以使用资料光盘中【华清远见-FS-MP1A开发资料\01-工具软件】的en.stm32cubeprog_v2-4-0.zip安装包进行安装。

首先需要将安装包解压,解压完成后得到如下文件。

双击“SetupSTM32CubeProgrammer-2.4.0.exe”允许安装向导。

点击“Next”

点击“Next”

点击“I accept the terms of this license agreement”

这里选择安装路径,笔者可以自行指定。点击Next之后会提示,将要创建一个安装目录。

勾选STM32TrustePackageCreator选项

Next之后会进程序安装。

在安装的过程中会弹出如下界面,安装相关的驱动程序。

点击“下一步”

程序将会自动安装所需的驱动程序,安装完成后会弹出如下界面。

点击“完成”

切换到“STM32CubeProgrammer”界面后点击“Next”,创建桌面快捷键。

安装完成界面

出现上述界面后点击“Done”。至此STM32CubeProgrammer就安装完成了。

CORTEXA7相关工具安装

  1. 安装GCC编译工具

双击【资料光盘\华清远见-FS-MP1A开发资料-2020-11-06\01-工具软件\Yagarto工具包】目录下的yagarto-bu-2.21_gcc-4.6.2-c-c++_nl-1.19.0_gdb-7.3.1_eabi_20111119.exe进行安装

点击 Next

继续点击Next

点击Install

点击Next

点击Finish,完成安装

  1. 安装Yagarto工具包

双击【资料光盘\华清远见-FS-MP1A开发资料-2020-11-06\01-工具软件\Yagarto工具包】目录下的yagarto-tools-20100703-setup.exe进行安装

点击Next

点击Next

点击Next

选择安装路径,然后点击Next

点击Install进行安装

点击Finish,完成安装

  1. 安装JRE

双击【资料光盘\华清远见-FS-MP1A开发资料-2020-11-06\01-工具软件】目录下的文件jre-6u7-windows-i586-p-s.exe进行安装

点击“接受”,过程可能需要一段时间

点击“完成”即完成安装

Eclipse for ARM 安装与使用

选择路径:【资料光盘\华清远见-FS-MP1A开发资料-2020-11-06\01-工具软件\eclipse\ eclipse-cpp-helios-SR1-win32.zip】文件解压后,然后运行eclipse.exe文件。

Eclipse for ARM是一个标准的窗口应用程序,可以单击程序按钮开始运行,打开后需先指定一个工程存放路径,如图所示。

第一次打开后出现这种界面,点击“workbench”进入工程界面,可以弹出工作界面

创建一个C工程

进入主界面后,选择“File、New、C Project”命令,Eclipse将打开一个标准对话框,输入你新建工程的名字然后单击“Finish”按钮即可创建一个新的工程。

创建成功后,会在工程工作界面中有你创建的工程名,之后添加工程必要文件。

  1. 新建一个Makefile文件

选择“File、New、Other”命令,在弹出的对话框New中的“General”下单击File,然后单击Next,选择所要指定的工程后,在文件名文本框中输入文件名Makefile,然后单击“Finish”按钮。

  1. 新建一个脚本文件

选择“File、New、Other”命令,在弹出的对话框New中的“General”下单击File,然后单击Next,选择所要指定的工程后,在文件名文本框中输入文件名STM32MP1.init,然后单击“Finish”按钮。

  1. 新建一个链接脚本文件

选择“File、New、Other”命令,在弹出的对话框New中的“General”下单击File,然后单击Next,选择所要指定的工程后,在文件名文本框中输入文件名led.lds,然后单击“Finish”按钮。

  1. 新建一个汇编源文件

选择“File、New、Other”命令,在弹出的对话框New中的“General”下单击File,然后单击Next,选择所要指定的工程后,在文件名文本框中输入文件名led_light.S,然后单击“Finish”按钮。

  1. 新建一个main文件

选择“File、New、Other”命令,在弹出的对话框New中的“General”下单击File,然后单击Next,选择所要指定的工程后,在文件名文本框中输入文件名main.c,然后单击“Finish”按钮。

至此工程及所需文件已经基本创建完成,为了能够实现工程的相关功能,还必须在对应文件中添加相应的代码,在这一步时,你可以参考已有工程的文件。

所有文件编译完成后,保存文件,创建好的工程如图所示

点击如下图所示的编译图标进行编译

编译完成后显示结果如图所示,表示编译没有问题

此时工程下所有文件如下

导入一个已有工程

本文提供了相关项目实验源码,在实验中可以直接导入相应工程即可。

1. 打开 打开 Eclipse 开发工具,在Project Explorer 中添加 LED 工程

(注意:工程要放在英文路径下 ,不能有中文路径 )

拷贝【 资料光盘\华清远见-FS-MP1A开发资料-2020-11-06\02-程序源码\03-ARM体系结构与接口技术\Cortex-A7\c_led】 到 eclipse 工作目录下。

如:C:\Users\FSARSIGHT-IOT-01\Desktop\eclipse-example目录。

(注意:如果从光盘介质直接拷贝出来的目录可能会出现文件有只读属性的情况,建议查看文件夹的只读属性是否选中,确保在未勾选的状态下)

如图所示,在 Project Explorer 窗口中右击鼠标,选择“Import…”,如下图所示

选择“Import…”后,出现如下图所示的窗口,选中“Existing Projects Into Workpace”然

后点击“Next”

选择“Next”后出现如下窗口,点击“Browse…”后出现“浏览文件夹”窗口,在“浏览文件

夹”窗口中选中实验“c_led”后点击“确定”

点击“确定”后出现如下窗口,直接点击“Finish”即可。

添加成功后可以在“ Project Explorer ”中看到“c_led”工程成功导入。

工程成功导入后,如暂时不使用该工程时我们可以Close project,下次使用时再Open project(同时只能有一个工程是打开的),该工程相关配置不变。

openOCD使用

由于在后续的实验中需要使用到openOCD调试软件,可以从资料光盘中【华清远见-FS-MP1A开发资料-2020-11-06\01-工具软件】下载OpenOCD-STM32MP1.zip压缩包。进行解压后,进入bin目录下,按住Shift键,右击鼠标,如图所示

点击“在此处打开Powershell窗口”选项,然后可以出现如下窗口

Eclipse Debug调试

准备完毕,在Eclipse进行Debug调试时,在window PowerShell窗口中输入如下指令

.\openocd.exe -s .\scripts\ -f board\stm32mp15x_fsmp1a.cfg

点击回车,显示结果如下

打开Xshell 6软件后,连接MP1,如图所示

此时按一下开发板复位键,在倒计时到0之前按下回车,最终显示界面如下

在Eclipse 中首先进行Debug调试配置,点击

按钮,然后选择“Debug Configurations..”,点击,然后出现如下界面

然后双击“Zylin Embedded debug(Native)”,可以出现所创建的工程,配置如下

在红框内选择所建工程中生成的elf文件

配置完成后点击Apply,然后再点击Debug,会出现如下提示框

点击Yes,然后进入Debug调试界面,如图所示

点击

按钮,程序开始运行,首次会卡住在main处,然后再次点击

按钮,程序全速运行,此时可以发现LED灯正常闪烁。

当点击

按钮后,程序结束运行,如图所示

当退出Debug界面时,选中上图红框中内容,按下Del键删除掉,此一步主要防止出现不知名错误。

另外,在测试时,由于没有关闭看门狗,程序运行32秒后,会自动进行复位。

硬件平台:华清远见FS-MP1A开发板(STM32MP157)

部分开发教程下载:加QQ群459754978,群文件里有。

部分视频课程收看:华清远见研发中心的个人空间_哔哩哔哩_Bilibili

淘宝购买链接:https://item.taobao.com/item.htm?id=622457259672

手机淘宝分享码:复制本行文字打开手淘₤T4FPXn3YYJ2₤

ARM裸机开发篇1:Cortex-A7开发环境搭建相关推荐

  1. Android NDK开发篇(一):新版NDK环境搭建(免Cygwin,超级快)

    以前做Android的项目要用到NDK就必须要 下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量... 麻烦到不想 ...

  2. 公众号开发精品教程(1)——绪论及环境搭建

    系列文章传送门 公众号开发精品教程(1)--绪论及环境搭建 公众号开发精品教程(2)--将项目接入微信及简单交互 公众号开发精品教程(3)--创建菜单 公众号开发精品教程(4)--生成带参数的二维码及 ...

  3. 蓝牙芯片nRF51822开发系列(一):环境搭建和GPIO使用(点亮LED)

    蓝牙芯片nRF51822开发系列(一):环境搭建和GPIO使用(点亮LED) 前言(文章末尾获取工程源码) 一.开发必备 二.开发环境搭建 1.创建文件 2.新建工程 三.编写代码 GPIO详解 使用 ...

  4. phalapi-入门篇1(简单介绍以及环境搭建)

    2019独角兽企业重金招聘Python工程师标准>>> #phalapi-入门篇1(简单介绍以及环境搭建)# ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我 ...

  5. Physx3.4学习随笔(入门篇1)-SDK与环境搭建

    Physx3.4学习随笔(入门篇1)-SDK与环境搭建 SDK与环境搭建 SDK获取 PhysX Visual Debugger 执行SnippetHelloworld SDK与环境搭建 本文主要介绍 ...

  6. 【Android 逆向】Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★

    文章目录 一.Android 进程注入工具开发系列博客 二.Android 进程注入工具 源码下载编译 三.逆向环境搭建 四.使用注入工具进行逆向操作 1.获取远程进程号 2.注入工具准备 3.注入动 ...

  7. 嵌入式系统开发与应用——嵌入式 Linux 调试环境搭建

    附录:UBoot常用命令手册 一. 实验目的 1.掌握VMware中设置共享文件夹的方法,为后续实验做准备: 2.熟悉 Linux TFTP 配置,为后续 Linux 底层开发做准备(后面会用 tft ...

  8. Android开发(一):android环境搭建

    android开发环境搭建,图文并茂,推荐http://jingyan.baidu.com/article/f0062228f0b18afbd2f0c871.html [SDK Manager.exe ...

  9. Dart开发(一)Windows平台环境搭建

    Dart开发Windows平台环境搭建 SDK官网下载地址:https://gekorm.com/dart-windows/ 安装完成后,在命令行输入:dart --version,安装成功会出现相应 ...

  10. 14天学会安卓开发(第一天)Android架构与环境搭建

    14天学会安卓开发 作者:神秘的N (英文名  corder_raine) 联系方式:369428455(反馈) 交流群 :284552167(示例,原文档下载) 版权为作者所有,如有转载请注明出处 ...

最新文章

  1. PHP环境下配置WebGrind——让你的网站性能看得见
  2. python3 多维数组 NumPy ndarray 简介
  3. ETL工具调度之中美PK
  4. android studio for循环快捷键,Android Studio 快捷键 for Mac OS X
  5. day36 python学习gevent io 多路复用 socketserver *****
  6. Linux系统中/dev/mtd与/dev/mtdblock的区别
  7. 2017 CIMS计算机集成制造系统 paper 数字孪生及其应用探索
  8. 蓝宝石rx470d原版bios_AMD RX470/570强刷RX580完整图文教程(附文件下载及查BIOS攻略)...
  9. 使用Pycharm打包应用程序
  10. 删除安卓7.1源码中自带的Japanese IME输入法
  11. 深度解析dubbo在线运维Qos
  12. java学习php(一)基础知识
  13. 【学习笔记】英文科技论文常见英语句式积累
  14. Elasticsearch7.12常用操作总结
  15. php编程入门先学什么 PHP程序员需要具备哪些技能
  16. kafka 修改分区_kafka的分区数设置
  17. 如何通过Oracle官网下载jdk历史版本
  18. 3d稀疏卷积——spconv源码剖析(三)
  19. Resharper快捷键
  20. Linux 下录屏制作 GIF 图片

热门文章

  1. 计算机画图保存的图片怎么找到,想知道电脑截图保存在哪儿找
  2. F12下载网页视频(开放网页)
  3. [FIPS 197] AES 测试向量
  4. SQL查询语句之查询数据
  5. apk一般放服务器哪个位置,apk放在服务器
  6. 实验室信息管理系统(LIMS)软件大盘点
  7. 计算机桌面图标有箭头,解决方案:如果计算机桌面图标上有箭头,该怎么办?如何删除计算机桌面图片[图形]上的箭头...
  8. [转载]什么是ESD,什么是latch up
  9. 博图——生成和导入外部源文件
  10. matlab计算器设计流程图_matlab计算器设计