Windows环境下小熊派Hi3863环境搭建与输出HelloWorld

官方链接:BearPi-Pico H3863 | 小熊派BearPi

1. 环境搭建:

1.1 开发工具下载安装

名称用途获取途径
HiSparkStudio一键环境安装包安装HiSpark Studio依赖的python环境点击跳转
HiSpark Studio开发板编译工具点击跳转
BurnTool_H3863代码烧录工具点击跳转
CH340驱动开发板USB驱动点击跳转

注:

  • 安装时全部选择默认即可,建议安装在默认目录(开发工具本身体积小,占用存储空间小)
  • Windows11或高版本Windows10开发板与电脑通过串口连接后会自动下载CH340驱动,无需再手动安装CH340
  • 所有安装目录及父目录不要出现中文字符
  • 安装后建议重启一次电脑

1.2 获取项目SDK

使用git工具拉取

git clone https://gitee.com/bearpi/bearpi-pico_h3863.git

直接下载压缩包并解压

https://gitee.com/bearpi/bearpi-pico_h3863/repository/archive/master.zip

1.3创建工程

打开 HiSpark Studio 工具,进入欢迎页面,单击“新建工程”,进入新建工程页面

芯片选择“WS63”,开发板选择“ws63”,工程名自定义填写,软件包路径选择SDK代码“bearpi-pico_h3863”层级, 点击“完成”

新建工程成功后如下图所示代码结构

注:上述部分为复述官方开发文档内容,方便大家直接在本文档上进行阅读并安装,接下来进行HelloWorld的输出部分的编写

1.3 HelloWorld案例实现

1.3.1 代码实现

在application/samples/products下新建文件夹hello_world

在新建的文件夹hello_world下新建hell_world.c文件和CMakelists.txt文件

hello_world.c

// application>samples>project>hello_world>hello_woeld.c
#include "pinctrl.h"
#include "common_def.h"
#include "soc_osal.h"
#include "app_init.h"

static void *hello_world_task(const char *arg)
{
    unused(arg);
    while (1)
    {
        printf("Hello World!\n");
        osal_msleep(1000);
    }
    return NULL;
}

static void hello_world_entry(void)
{
    uint32_t ret;
    osal_task *taskid;
    // 创建任务调度
    osal_kthread_lock();
    // 创建任务
    taskid = osal_kthread_create((osal_kthread_handler)hello_world_task, NULL, "led_task", 0x1024);
    ret = osal_kthread_set_priority(taskid, 17);
    if (ret != OSAL_SUCCESS)
    {
        printf("create task1 failed .\n");
    }
    osal_kthread_unlock();
}

/* Run the blinky_entry. */
app_run(hello_world_entry);

CMakeLists.txt

set(SOURCES
    "${SOURCES}"
    "${CMAKE_CURRENT_SOURCE_DIR}/hello_world.c"
    PARENT_SCOPE
)

在与hello_world文件夹同层级目录下的CMakeLists.txt和Kconfig添加配置代码

CmakeLists.txt

(按照上图方式进行添加即可)

if(DEFINED CONFIG_HELLO_WORLD)
    add_subdirectory_if_exist(hello_world)
endif()

KConfig

# 布尔类型的配置选项,用于启用或禁用 Hello World 示例
config HELLO_WORLD
    bool
    # 提示信息,当用户配置内核时会显示此提示
    prompt "Hello World Sample"
    # 默认值为 n,即默认情况下不启用此选项
    default n
    # 此选项依赖于 ENABLE_PRODUCTS_SAMPLE,如果 ENABLE_PRODUCTS_SAMPLE 未启用,则此选项不可用
    depends on ENABLE_PRODUCTS_SAMPLE
    # 帮助信息,解释此选项的作用
    help
        # 启用此选项表示支持 Hello World 示例
        This option means support HELLO_WORLD Sample.

1.3.2 系统配置(编译前的准备)

1.3.3 编译

1.3.4 工程配置(烧录前的准备)

1.3.5 烧录

1.3.6 通过串口工具观察现象

### 将HI3861代码移植到WS63平台的方法 #### 移植概述 将HI3861代码移植到WS63平台涉及多个方面的工作,包括但不限于编译环境搭建、SDK适配、内核态层和用户态层的调整以及硬件驱动的支持。以下是关于此过程的具体技术细节。 --- #### 编译环境准备 为了成功完成代码迁移,首先需要准备好目标平台的开发环境。这通常涉及到安装交叉编译工具链和支持库。 - 使用tar命令解压源码包,并进入指定目录执行make操作来构建基础SDK支持[^1]。 ```bash tar axvf Hi3861V100R001C00SPC025.tar.gz cd Hi3861V100R001C00SPC025 make ``` 上述步骤适用于初始阶段设置好用于测试的基础运行环境。 --- #### 用户态层内核态层分离策略 在实际项目中发现,OpenHarmony架构下的应用部分相对独立于具体硬件实现,因此这部分可以较容易地迁移到新的处理器系列上;然而对于紧密依赖底层资源管理的部分,则需重点考虑其兼容性和修改必要性[^3]。 特别注意的是当前讨论仅限于基于Linux系统的场景而不涵盖LiteOS选项。 --- #### 驱动程序集成 针对特定外设如WiFi模块的功能扩展,在原有基础上增加对新设备型号的支持也是必不可少的一环。例如,在类似案例里提到过如何向海思Hi3516A SDK引入第三方无线网络解决方案——MT7601U USB网卡驱动的过程描述如下[^4]: - 把预编译好的`.ko`文件放置至相应路径下; - 修改启动脚本加载顺序确保服务正常激活。 同样原理可应用于其他类型的附加组件接入当中去。 --- #### 解决常见问题的技术手段 当面临从较低位宽体系结构切换至上一代产品线所带来的挑战时,《某手册》提供了详尽指导方针帮助开发者克服这些障碍[^2]: - **数据模型差异**: 明确指出哪些变量声明方式可能导致溢出错误或者性能瓶颈; - **指针算术运算风险评估**; - 推荐采用通用设计模式减少未来维护成本。 以上措施有助于加速整个转换周期的同时提高最终产品质量。 --- ### 结论 综上所述,虽然存在一定的复杂程度但从理论角度讲只要遵循既定流程就能顺利完成此次任务。当然具体情况还需结合现场实际情况灵活应对可能出现的各种突发状况做出适当调整优化方案直至达到预期效果为止。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值