3、开发环境搭建:硬件准备与软件安装

好,咱们正式开始动手了。这一章我带你把开发环境搭起来。说实话,很多初学者卡就卡在这一步——硬件没接对、驱动装不上、固件烧不进去。别急,我一步步带你走。

3.1 硬件准备:你得有这些家伙

先看看你手头缺不缺东西。我列个清单,你对照着准备。

硬件 说明 避坑提醒
开发板 海思Boudica系列,比如V150或V200 别买成旧版V100,驱动支持不好
NB-IoT SIM卡 支持NB-IoT网络的专用卡 普通手机卡不行,频段不对
天线 NB-IoT频段天线,通常800-900MHz 别用WiFi天线,驻波比不对
USB线 Micro USB或Type-C,看开发板接口 尽量用带屏蔽的线,数据线别用充电线
⚠️ 注意: 我遇到过好几次,学员拿充电线当数据线用,结果电脑死活识别不到开发板。你想想看,充电线里只有电源线,没有数据线,怎么可能通信?所以一定要用带数据传输功能的USB线。

3.2 软件安装:一个都不能少

硬件接好了,接下来装软件。我个人习惯先把所有安装包下载好,再统一安装,省得来回找。

3.2.1 IDE:你的主战场

海思官方推荐的是 Huawei LiteOS Studio 或者 Keil MDK。我个人更倾向Keil,因为调试起来顺手。不过如果你做的是LiteOS项目,那还是用官方IDE吧。

  • Keil MDK:安装时记得勾选ARM Compiler 5或6,不然编译会报错。
  • Huawei LiteOS Studio:基于Eclipse,界面清爽,但第一次启动有点慢。
💡 小技巧: 安装路径不要有中文,不要有空格。我以前吃过这个亏,编译时莫名其妙报路径错误,查了半天才发现是文件夹名字里有个“项目”两个字。

3.2.2 驱动:让电脑认识开发板

开发板插上USB后,电脑会提示“未知设备”。这时候你需要装 USB转串口驱动。Boudica开发板通常用的是CH340或CP2102芯片。

  • CH340驱动:Windows 10/11自动更新可能能识别,但建议手动装。
  • CP2102驱动:Silicon Labs官方有,下载后直接下一步就行。

装完后,打开设备管理器,看看“端口(COM和LPT)”下面有没有出现新的COM口。如果有,恭喜你,驱动装好了。

⚠️ 注意: 我曾经遇到一个情况,驱动装好了,但设备管理器里显示黄色感叹号。后来发现是USB线接触不良。换了一根线就好了。所以,硬件问题先怀疑线材。

3.2.3 串口工具:你的眼睛和耳朵

开发板跑起来后,你得能看到它打印的信息。串口工具就是干这个的。推荐两个:

  • SecureCRT:功能强大,支持标签页,我一直在用。
  • Putty:轻量级,免费,够用。

设置参数:波特率 115200,数据位8,停止位1,无校验,无流控。这个参数是海思Boudica芯片的默认配置,别改。

3.3 固件烧录工具配置

固件烧录,说白了就是把编译好的程序写到芯片里。海思官方提供了 HiBurn 工具。

3.3.1 下载与安装

HiBurn不需要安装,解压就能用。但要注意,它依赖 .NET Framework 4.5 以上版本。如果你的电脑是Win7,可能需要先装一下。

3.3.2 配置步骤

  1. 打开HiBurn,选择“串口”标签。
  2. 选择你开发板对应的COM口。
  3. 波特率选 921600(烧录时用高速,省时间)。
  4. 点击“连接”,然后给开发板重新上电。
  5. 如果看到“等待设备...”变成“已连接”,说明通信成功。
🔑 关键点: 烧录时一定要先点“连接”,再给开发板上电。顺序反了,HiBurn会一直卡在“等待设备”。我刚开始也犯过这个错,后来养成了习惯:先点连接,再按复位键。

3.3.3 烧录固件

连接成功后,点击“选择文件”,找到你编译好的 .bin 文件。然后点“烧录”。进度条走完,就OK了。

烧录完成后,记得把波特率改回115200,不然串口工具收不到数据。

3.4 第一个Hello World程序

环境搭好了,咱们跑个最简单的程序——打印“Hello World”。

3.4.1 新建工程

在Keil里新建一个工程,选择芯片型号为 Hi2115Hi2110(看你的开发板)。然后添加一个main.c文件。

3.4.2 写代码

#include <stdio.h>
#include "hi_uart.h"

int main(void)
{
    // 初始化UART0,波特率115200
    hi_uart_init(HI_UART_IDX_0, 115200, HI_UART_BLOCK);

    while(1)
    {
        // 打印Hello World
        printf("Hello World!\r\n");
        
        // 延时1秒
        hi_sleep(1000);
    }
}

这段代码很简单:初始化串口,然后每隔1秒打印一次“Hello World”。

💡 小技巧: 注意我用了 \r\n 而不是 \n。在串口工具里,\r\n 才能正确换行。只用 \n 的话,打印出来会堆在一起。这是嵌入式开发里一个很常见的坑。

3.4.3 编译与烧录

点击Keil的“编译”按钮,如果没有报错,会生成一个 .hex 或 .bin 文件。然后用HiBurn烧录到开发板。

烧录完成后,打开串口工具,设置好参数,按下开发板的复位键。你应该能看到:

Hello World!
Hello World!
Hello World!
...

看到这个,说明你的开发环境完全搭好了。恭喜你,迈出了NB-IoT开发的第一步。

🎯 总结: 这一章我们做了三件事:准备硬件、安装软件、跑通第一个程序。每一步我都把常见的坑指出来了。你跟着做,应该不会出大问题。如果卡住了,先检查硬件连接,再检查驱动,最后看烧录步骤。嗯,就这样,下一章我们开始真正接触NB-IoT的通信协议。