2、开发环境搭建(上):EEC SDK下载与安装、编译器配置、调试器驱动安装、环境变量设置

好,咱们正式开始动手了。

这一章,我带你把开发环境搭起来。说实话,很多初学者一上来就急着写代码,结果编译报错、调试器连不上,折腾半天才发现是环境没配好。嗯,我当年也踩过这个坑——记得第一次用EEC芯片时,光装驱动就花了一下午,最后发现是版本不匹配。

所以,咱们稳一点。把地基打牢,后面写代码才痛快。

2.1 EEC SDK下载与安装

EEC SDK是官方提供的软件开发包。说白了,它包含了芯片的底层驱动、外设库、启动代码,还有一堆示例工程。你想想看,如果没有SDK,你得自己从寄存器开始写,那得多痛苦。

2.1.1 获取SDK

去哪下载?官方渠道最靠谱。我个人习惯去EEC官网的「开发者中心」找,或者直接用GitHub上的官方仓库。注意区分版本——我建议选最新的LTS(长期支持)版本,稳定,坑少。

小提示: 下载时留意文件名里的芯片型号。比如 EEC32F103、EEC32F407,别下错了。我曾经帮一个同事排查问题,折腾半天才发现他下的是F103的SDK,板子却是F407的。

2.1.2 安装步骤

SDK通常是压缩包,解压就行。但要注意路径——不要有中文,不要有空格。为什么?因为有些编译器对路径里的特殊字符很敏感,编译时会报一些莫名其妙的错误。

我习惯把SDK放在 C:\EEC_SDK\ 或者 D:\Embedded\EEC_SDK\ 这种纯英文路径下。解压后,目录结构大概长这样:

EEC_SDK/
├── drivers/        # 底层驱动库
├── middleware/     # 中间件(如FATFS、FreeRTOS)
├── projects/      # 示例工程
├── tools/         # 辅助工具
└── docs/          # 文档手册

嗯,看到这个结构,你就知道SDK里都有什么了。后面写代码时,经常要回来翻 driversdocs 这两个文件夹。

2.2 编译器配置

编译器,就是把C代码变成机器码的工具。EEC芯片主流用的是ARM GCC,或者Keil MDK。我个人更推荐ARM GCC——免费、开源、跨平台,而且社区活跃。

2.2.1 安装ARM GCC

去ARM官网下载「GNU Arm Embedded Toolchain」。选最新稳定版就行。安装时,记得勾选「Add path to environment variable」——这个选项能省掉后面手动配环境变量的麻烦。

注意: 如果你用的是Keil,安装时记得勾选「添加至PATH」。我见过有人装完Keil,命令行里敲 armcc 却找不到命令,就是因为没勾这个。

2.2.2 验证编译器

装完后,打开命令行(CMD或终端),敲:

arm-none-eabi-gcc --version

如果看到版本号输出,说明装好了。如果提示「不是内部或外部命令」,那就是环境变量没配好。别急,下一节会讲怎么配。

2.3 调试器驱动安装

调试器,是连接电脑和开发板的桥梁。EEC开发板常用的调试器有J-Link、ST-Link、DAP-Link。我项目里用得最多的是J-Link,稳定,速度快。

2.3.1 安装J-Link驱动

去SEGGER官网下载J-Link软件包。安装后,驱动会自动装好。插上调试器,打开设备管理器,应该能看到「J-Link driver」或者「J-Link CDC」之类的设备。

如果设备管理器里显示黄色感叹号,说明驱动没装好。这时候,手动更新驱动,指向J-Link安装目录下的驱动文件夹就行。

避坑指南: 我曾经遇到过一次,J-Link插上后电脑没反应。折腾半天,发现是USB线的问题——有些USB线只能充电,不能传数据。所以,调试器一定要用原装线,或者质量好的数据线。

2.3.2 验证调试器

打开命令行,敲:

JLinkExe

如果弹出J-Link的命令行界面,说明驱动和连接都正常。输入 exit 退出。

2.4 环境变量设置

环境变量,说白了就是告诉操作系统:「我的编译器、调试器、工具链都放在哪」。配好了,你在任何目录下都能直接调用这些工具。

2.4.1 手动配置(Windows)

右键「此电脑」→「属性」→「高级系统设置」→「环境变量」。在「系统变量」里找到 Path,双击编辑,添加以下路径:

  • ARM GCC的bin目录:C:\Program Files (x86)\Arm GNU Toolchain\bin
  • J-Link的目录:C:\Program Files\SEGGER\JLink
  • EEC SDK的tools目录:D:\Embedded\EEC_SDK\tools

配完后,点「确定」保存。然后重新打开命令行,让环境变量生效。

2.4.2 验证环境变量

分别敲以下命令,确认都能正常输出:

arm-none-eabi-gcc --version
JLinkExe
make --version

如果都正常,恭喜你,环境搭好了!

核心要点: 环境变量配好后,一定要重启命令行。否则新加的路径不会生效。我见过有人配完变量,还在旧窗口里敲命令,结果一直报错——嗯,这种小细节最容易忽略。

2.5 验证整个工具链

最后,咱们用SDK里的一个示例工程,走一遍编译→下载→调试的流程,确认整个工具链是通的。

2.5.1 编译示例工程

进入SDK的 projects 目录,找一个简单的示例,比如「LED_Blink」。打开命令行,进入该目录,敲:

make

如果编译成功,会生成一个 .hex.bin 文件。看到这个文件,说明编译器工作正常。

2.5.2 下载并运行

用J-Link连接开发板,然后敲:

JLinkExe -device EEC32F103 -if SWD -speed 4000 -autoconnect 1

进入J-Link命令行后,敲:

loadfile ./build/led_blink.hex
r
g

如果开发板上的LED开始闪烁,说明整个环境搭建成功!

个人经验: 第一次下载时,如果报错「No target connected」,先检查接线——SWD的CLK、DIO、GND、VCC都接对了吗?我遇到过好几次,都是因为杜邦线松了。

好,环境搭好了。下一章,咱们开始写第一个EEC程序。到时候你会发现,前面这些准备工作,真的值。