2639|0

34

帖子

2

TA的资源

一粒金砂(中级)

楼主
 

小熊派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工程

 

烧录程序到开发板中,即可在串口调试助手中看到输出结果

 

 

 

此帖出自无线连接论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表