1.2.2 核心板

按顺时针方向观察,核心板(如图1-12所示)的主要部件如下:

• Hi3861V100模组;

• Wi-Fi天线;

• 外置Wi-Fi天线的预留焊点;

• 两个跳线帽;

• 一个可编程LED灯;

• 一个复位按键;

• 一个USB Type-C接口;

• 一个可编程按键;

• 一个跳线帽。

另外,为了能够与PC(Personal Computer,个人计算机)通信,它还具备一个CH340 USB转串口芯片。

图1-12 核心板

1.Hi3861V100模组

Hi3861V100模组内部封装了主控芯片Hi3861V100,还包括晶振、电容、电阻等外围器件。

Hi3861V100芯片内部集成了CPU、Flash、SRAM和Wi-Fi等器件。其中,Flash用于存放二进制的程序代码、配置参数等静态数据,CPU用来执行程序,SRAM是内存,用来加载程序、存放程序运行时产生的数据,Wi-Fi可以为应用程序提供网络连接的能力。

2.CH340 USB转串口芯片

有经验的读者应该知道,这是一个经典的串口调试芯片,被广泛地应用在路由器、机顶盒等设备中。我们通过这个芯片连接主控芯片的UART接口和核心板的USB Type-C接口,从而实现UART接口和USB Type-C接口间的信号转换。

3.USB Type-C接口

核心板的USB Type-C接口具有以下两个功能:

第一,为核心板及整个套件进行供电;

第二,连接到电脑的USB接口,进行串口调试和系统烧录。

4.复位按键

复位按键被标记为“RST”,也就是RESET。它可以触发主控芯片的CPU硬件复位,使得程序重新开始执行。

5.可编程按键

可编程按键被标记为“USER”,用于程序的按键输入。我们可以通过程序读取按键当前的状态。

6.可编程LED灯

可编程LED灯被标记为“LED1”,用于显示程序的运行时状态。我们可以编写程序控制它的点亮或者熄灭。

7.两组跳线帽

右侧的两个跳线帽分别被标记为RX和TX,分别用于连接主控芯片UART接口的TX和RX引脚与CH340 USB转串口芯片的RX和TX引脚。如果把它们拔掉,主控芯片和CH340 USB转串口芯片的连接就会断开,从而空出主控芯片UART接口的TX和RX引脚,可以用于连接其他外部设备。

左侧的一个跳线帽被标记为GPIO-09,用于连接主控芯片和可编程LED灯。把它拔掉之后,两者的连接会被断开。

请注意,作为轻量设备,Hi3861V100模组的硬件资源是十分有限的。整个板卡一共只有2MB的Flash和352KB的SRAM。所以,我们在编写代码的时候,一定要注意硬件资源的使用效率。

下面给出两个在学习和开发过程中的注意事项:

第一,要避免内存溢出(Out Of Memory, OOM)。那么如何避免内存溢出?我们要注意程序使用的内存总量。

第二,要避免内存泄漏(Memory Leak)。我们都知道,内存泄漏会导致内存溢出。由于Hi3861V100模组的内存资源十分有限,所以它的内存泄漏的堆积后果会来得更快。因此,您在写程序的时候,一定要注意手动分配的内存是否及时回收了。