本帖最后由 dele 于 2024-6-30 10:05 编辑

D133 RISC-V KunLun Pi开发板评测 01 开发环境搭建与测试

1. 匠芯创 RISC-V 芯片简介

匠芯创科技立足于RISC-V SoC芯片设计,有下面的系列芯片。

ArtInChip D21x系列工业级RISC-V MPU量产,市场覆盖工业自动化、医疗、新能源、车载后装、电力、智能家电等5大行业十几个细分领域;

ArtInChip D13x系列工业级跨界MCU上市,填补了国产自主工业级RISC-V架构高性能MCU的空白,主频高达500MHz;

ArtInChip D12x系列工业级显示控制MCU上市,进一步扩大了显示HMI类产品市场影响力,覆盖了行业40%客户;

ArtInChip M6800系列工业级控制DSP芯片上市,在伺服、变频、逆变等领域打破国际大品牌在工控领域垄断格局,在功能和性能上不断创新、持续领先。

2. RISC-V KunLun Pi开发板

                D13x 是 ArtInChip 一款基于 RISC-V 的高性能、国产自主、工业级全高清显示与智能控制 MCU,配备强 大的 2D 图形加速处理器、 PNG 解码、JPEG 编解码引擎、丰富的屏接口,支持工业宽温,具有高可靠性、 高开放性,可广泛应用于工业 HMI、 网关、串口屏等泛工业和智慧家居领域。

080643hxga8gwp8fc9zsvf

                D133CBS RISC-V KunLun Pi V1.0 是一款基于 D13x 芯片的人机交互应用开发板,配备 4.3 寸 LCD 显示 屏以及电容触摸屏,支持 DVP 摄像头。开发板集成了 USB 烧录、TF-Card 升级烧录、JTAG、串口打印等调 试接口,方便调试开发。开发板集成 16MB NOR FLASH 并可兼容 NAND,同时引出 RS485、RS232/TTL、喇 叭、SDIO WIFI 等功能,方便用户快速进行技术预研与产品开发,满足用户对不同人机交互场景的开发需求。

开发板资源图

080643q0qitqfrhjqfw5qr

3. 开发环境搭建

匠芯创D133芯片官方提供了两个SDK,一个是裸机版本,一个是RTOS版本,代码均在Gitee,下载代码之前安装好git.

裸机版本地址(裸机版本里面有D133芯片的,但是没有对应的板子bsp)

git clone https://gitee.com/artinchip/baremetal.git

080643q0aiklu5emt0f5ff

RTOS版本地址

(RTOS版本里面有对应的板子bsp)

git clone https://gitee.com/artinchip/luban-lite.git

080644esslu4u48t2e5oud

以RTOS作为版本作为下面测试模板

打开win_env.bat进行配置

080644t6ndzd1s8v13gl3o

scons命令配置

080645yf8zshvtq5fiktns

080646p1jfjfobk114kkz4

scons --list-def 查看 SDK 支持板卡

080646ey2ydndm4dnwwwpe

scons --apply-def=11

080646bojymfo3u1u0g9gn

080647yig1ciitrjrn2ra2

scons --menuconfig

080647wjnjtmnjzzbyyymu

工程信息

080647uq8wqknza7zaf69z

配置LVGL工程

详细LVGL配置见官方参考文档进行配置

https://aicdoc.artinchip.com/topics/lvgl-user-guide-luban-lite.html

080649llt7gvtojddmygjq

点击demo,选择lvgl show case工程模板

080649mq6fieqpj7ilaljr

完成上面的配置之后,直接退出即可,如果第一次从官方Gitee下载,其实不需要太多的配置,可以直接scons编译。

080649jea99qloxxalxe2l

但是我下载代码时候,进行编译的时候报错了,主要是里面C++的库有问题,出现了编译。因此我直接把下面路径的东西直接删除了(应该不是正确的解决方法,但是能用,不知道后面会出啥子问题,先这样子吧)

d133x-board-luban-lite\toolchain\riscv64-unknown-elf\include

080651leznvaa8pwl8a8bp

编译成功结果

080651iwbyyjxjawrjxn4m 080651yjx2wq4g5qxfx83j

4. 测试

使用USB下载镜像,利用AiBurn工具.

AiBurn下载地址

git clone https://gitee.com/artinchip/tools

080655foiy570do122dc0g

AiBurn工具使用方法,先按住板子上面的Uboot按键,然后在插入USB数据线。

080655a0wovn2yxb2ava4c

下载镜像

080655swjz7j7p5pqvghfh 080655zc6kprf06dkrfr68

点击开始下载即可。

080655q8xh3i5g5h8m8e3e 080655wtsle18m6j1m80j8

使用串口终端工具,波特率115200 连接串口线。

主函数代码


#include <rtthread.h>
#ifdef RT_USING_ULOG
#include <ulog.h>
#endif

#ifdef AIC_AB_SYSTEM_INTERFACE
#include <absystem.h>
#include <stdlib.h>
#include <stdio.h>
#include <dfs.h>
#include <dfs_fs.h>
#include <boot_param.h>
#endif

int main(void)
{
#ifdef AIC_AB_SYSTEM_INTERFACE
    char target[32] = { 0 };
    enum boot_device boot_dev = aic_get_boot_device();

    if (boot_dev != BD_SDMC0) {

        aic_ota_status_update();
        aic_get_rodata_to_mount(target);
        printf("Mount APP in blk %s\n", target);

        if (dfs_mount(target, "/rodata", "elm", 0, 0) < 0)
            printf("Failed to mount elm\n");

        memset(target, 0, sizeof(target));

        aic_get_data_to_mount(target);
        printf("Mount APP in blk %s\n", target);

        if (dfs_mount(target, "/data", "elm", 0, 0) < 0)
            printf("Failed to mount elm\n");
    }
#endif

#ifdef ULOG_USING_FILTER
    ulog_global_filter_lvl_set(ULOG_OUTPUT_LVL);
#endif
     printf("Emdbedded-ArtinChip-Board-Template \r\n");
     printf("By Coder End-ING 2024-06-26 \r\n");
    return 0;
}

080657al8tmi08ljf8xm57 080657xnh2dmwandajc1n2 080657pcd2644diw1chm2m

5. 实物测试效果

080658t3ecjus5qvw7wcpp

080658xs08oe4tygxis49a 080658sids0bb60eto1w8d