小熊派BearPi-Pico H2821星闪开发板测评(一)——开箱与环境搭建
[复制链接]
本帖最后由 FuShenxiao 于 2024-8-2 10:22 编辑
前言
这是我第一次在EEWORLD做测评,倍感荣幸,希望能给大家带来许多有关开发板的干货。此次测评的开发板是小熊派BearPi-Pico H2821星闪开发板,这是一款基于高度集成 2.4GHz SoC BLE&SLE为主控芯片的核心板,具有灵活的数字接口,IO口可复用为任意功能,集成高性能 32bit 微处理器(MCU),硬件安全引擎以及丰富的外设接口,外设接口包括 SPI、UART、I2C、PWM、GPIO、USB2.0、NFC Tag、PDM、I2S/PCM、QDEC、KEYSCAN 键盘扫描电路,支持 8 路 13bit 分辨率 ADC、ADC 支持对接音频 AMIC,内置 SRAM 和合封 Flash,并支持在 Flash 上运行程序。
开箱
活动给了两块开发板用于测评,确保了一些主从传输任务的实现
上电之后如下图所示
开发环境搭建(以Ubuntu为例)
由于我最近正在学习嵌入式Linux,因此这块开发板我想在Linux环境下进行开发。
1. 下载并安装以下软件
BearPi-H2821_Ubuntu镜像、Hiburn(代码烧录工具)、VMware Workstation、MobaXterm、RaiDrive(映射虚拟机文件到电脑上)、CH340驱动(开发板USB驱动)、VS Code
具体软件安装包可在BearPi-Pico的官方网盘中获取:https://www.bearpi.cn/core_board/bearpi/pico/h2821/filebrowser/?path=6477544&fileID=6674460
2. 部署环境
2.1. 解压下载的BearPi-H2821 Ubuntu镜像.zip文件到某个目录
2.2. 在VMware中打开并导入BearPi-H2821.ovf文件,并启动虚拟机
2.3. 点击用户名,输入密码bearpi,然后点击登录
2.4. 进入桌面,打开终端,在终端中输入ifconfig,得到lo和网卡信息,记录IP地址
2.5. 挂起虚拟机,在VMware中选择“虚拟机-设置”,确保网络适配器在NAT模式
3. 在Windows上远程连接服务器
重新进入虚拟机,打开MobaXterm,在SSH中配置上文所获取的远程地址,输入账号bearpi和密码bearpi,并保存账号
4. 把Ubuntu文件远程映射到Windows上
4.1. 安装RaiDrive软件并将其切换为中文
4.2. 添加链接信息
于是在本地就可以看到映射的Ubuntu文件路径
5. 在Ubuntu中获取源码
进入MobaXterm
进入文件夹
cd /home/bearpi
创建文件夹
mkdir project && cd project
获取官方示例源码
git clone https://gitee.com/bearpi/bearpi-h2821_pico.git
6. 编译代码
在MobaXterm中输入以下指令,进入源码根目录
cd /home/bearpi/project/bearpi-h2821_pico/
选择工程案例
./build.py menuconfig
选择Application
选择所需测试的案例并按“ESC”退出
在MobaXterm中输入
./build.py -c
显示packet success!则表明编译成功
于是,我们便可在下图所示的路径下看到最终编译的固件
7. 连接开发板
保证CH340驱动已经安装
8. 烧录镜像
打开BurnTool.exe(这个应用程序不知道为什么,每次运行都有概率直接消失,因此这个.exe应用程序最好做个备份,消失的时候重新复制进去,多试几次就打开了)
设置波特率为750000
选择烧录的文件
勾选“Auto burn”和“Auto disconnect”,点击Connect,按击开发板复位按键,即可烧录程序
下载完成后,再次按动开发板复位按键,使用串口工具,并设置波特率为115200,便能看到开发板输出的串口信息
创建一个Hello World工程
在application/samples下新建一个demo文件夹,并添加用户自定义代码demo.c、demo.h和空白CMakeLists.txt文件
在 CMkakeLists.txt 中为组件模板添加源码文件以及源码头文件路径
set(SOURCES_LIST
${CMAKE_CURRENT_SOURCE_DIR}/demo.c
)
set(PUBLIC_HEADER_LIST
${CMAKE_CURRENT_SOURCE_DIR}
)
set(SOURCES "${SOURCES_LIST}" PARENT_SCOPE)
set(PUBLIC_HEADER "${PUBLIC_HEADER_LIST}" PARENT_SCOPE)
其中
SOURCES_LIST用于添加.c文件,多个.c文件换行添加即可
PUBLIC_HEADER_LIST用于添加.h路径,多个路径换行添加即可
CMAKE_CURRENT_SOURCE_DIR表示当前CMakeLists.txt的路径
在demo.c中添加一个创建任务,并在任务中打印消息,app_run函数为应用程序的入口函数
#include "common_def.h"
#include "osal_debug.h"
#include "cmsis_os2.h"
#include "app_init.h"
#define TASKS_TEST_TASK_STACK_SIZE 0x1000
#define TASKS_TEST_TASK_PRIO (osPriority_t)(17)
#define TASKS_TEST_DURATION_MS 1000
static void *tasks_test_task(const char *arg)
{
unused(arg);
while (1) {
osal_printk("Hello World BearPi\r\n");
osDelay(TASKS_TEST_DURATION_MS);
}
return NULL;
}
static void tasks_test_entry(void)
{
osThreadAttr_t attr;
attr.name = "TasksTask";
attr.attr_bits = 0U;
attr.cb_mem = NULL;
attr.cb_size = 0U;
attr.stack_mem = NULL;
attr.stack_size = TASKS_TEST_TASK_STACK_SIZE;
attr.priority = TASKS_TEST_TASK_PRIO;
if (osThreadNew((osThreadFunc_t)tasks_test_task, NULL, &attr) == NULL) {
/* Create task fail. */
}
}
/* Run the tasks_test_entry. */
app_run(tasks_test_entry);
将demo组件的内的顶层 CMakeLists 添加到其上一层 CMakeLists 下,使构建系统能够执行到 demo 组件的 CMake
也可以通过CONFIG_ENABLE_MY_SAMPLE宏控制是否编译demo代码
为了实现此功能,需要在samples/Kconfig中添加以下代码
config ENABLE_MY_SAMPLE
bool
prompt "Enable the Sample of demo."
default n
depends on SAMPLE_ENABLE
help
This option means enable the sample of products.
在MobaXterm中输入./build.py menuconfig,进入Application,并选中Enable the Sample of demo并保存即可编译demo工程
烧录程序到开发板中,即可在串口调试助手中看到输出结果
|