开发环境测试

一、代码获取

搭建完开发环境,下一步就是测试开发环境。

我们不再使用STM32官方3.5固件库,也不使用CubeMX生成的HAL库。原因之一是该项目的目的是使用开源环境开发STM32,原因之二就是在linux环境下开发都是小写字母+下划线的命名方式。STM32官方的库与linux开发环境的代码命名风格不统一。

基于网络的强大,github上有一开源项目libopencm3,使用linux风格重写了stm32库。

单独的库地址:

https://github.com/libopencm3/libopencm3

基于该库,该项目还写了好多STM32各个系列例程。我们直接克隆例程即可,编译时会自动将库下载下来。例程地址:

https://github.com/libopencm3/libopencm3-examples

1.1 克隆代码

我们将例程代码克隆到一个目录下,完成后切换到代码目录。具体过程如下。

1.2 编译代码

我们不需要更改项目的makefile文件,关于我们比较在意的编译器配置,默认已经是我们需要的交叉编译器了,即在makefile里可以看到‘PREFIX      ?= arm-none-eabi’。

下面我们在根目录下执行make命令出现了提示。

按照提示操作后,将会下载libopencm3库,不用担心提示,直接执行就行了。然后看到libopencm3库被克隆了下来,我们继续执行make将会开始编译。如图所示。

为了验证方便,我们选择串口测试程序,本人开发板为stm32f03,因此使用的测试例程为~/work/libopencm3-examples/examples/stm32/f1/stm32-h103下的uart例程。该例程会通过串口1,2,3不断输出字符。

我们切换到~/work/libopencm3-examples/examples/stm32/f1/stm32-h103/usart/目录,执行make,如图所示。一段时间后,会在该目录下生成usart.elf文件,该文件是我们需要烧录到目标的文件。

1.3 烧录代码

打开vscode,按下F5,在选项里选择GDB,会打开launch.json文件,确认文件和我们之前的相同。同时将更改为具体的位置。按下F5将开始烧录程序并启动调试。

留下评论