ARM裸机开发篇1:Cortex-A7开发环境搭建_cortex-a7 keil(1)

这里直接点击“下一步”

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

点击“安装”

安装完成会出现如下界面

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

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

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

至此,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文件