0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

D1 Dock Pr开发板的Button按键示例

电子工程师 来源:芯片开放社区 作者:芯片开放社区 2022-07-19 10:03 次阅读

通过学习上期教程,D1 Dock Pro开发板的开发环境已搭建完成,接下来我们将开始学习各项基础功能的开发。本期我们要演示的是D1 Dock Pr开发板的Button按键示例,旨在带大家通过示例代码了解按键的简单触发机制。

01

准备工作

建议在操作前先阅读以下技术文章:

02

示例介绍

本示例主要使用了chip_d1组件驱动组件里的LRADC。LRADC模块属于输入设备,一般包括各种按键的实现。当用户按下按键的时候会触发中断,可以在中断子程序里面进行判断当前的按键属于哪种行为,可以支持多种按键模式的触发。

涉及到的主要函数如下:

// 初始化lradclradc_status_t csi_lradc_init(void);// 反初始化lradclradc_status_t csi_lradc_deinit(void);// 注册回调函数lradc_status_t csi_lradc_register_callback(lradc_callback_t callback);

具体使用如下:

static void lradc_irq_callback(uint32_t irq_status, uint32_t data){    // Here, we only catpure key button's up IRQ to confirm user press key one times    if (irq_status & LRADC_ADC0_UPPEND) {        printf("user key is pressed one times
");    }}
static int test_lradc(void){    int ret = -1;
    printf("Run lradc test
");
    ret = csi_lradc_init();    if (ret) {        printf("lradc init failed!
");        return -1;    }
    csi_lradc_register_callback(lradc_irq_callback);
    return 0;}

03

示例演示

3.1剑池CDK(以下简称CDK)演示

3.1.1示例获取

双击打开CDK,点击工具栏最右侧的平头哥图标。点击新建工程按钮。

d192e6d8-0691-11ed-ba43-dac502259ad0.png

在搜索栏里输入d1, 在结果里选择d1_button_demo,点击右侧的创建工程,版本选择v7.5.1。

d1a73700-0691-11ed-ba43-dac502259ad0.png

3.1.2编译

右键点击d1_button_demo工程,选择build,进行编译,直到结束。

d1c7d4e2-0691-11ed-ba43-dac502259ad0.png

编译完成后,可以在工程目录下out文件夹里找到yoc_rtos_8M.img文件。

3.1.3下载

  • 通过CDK烧写

先连接好硬件JTAG。然后点击红色框框处的按钮开始烧写。

d1e1591c-0691-11ed-ba43-dac502259ad0.pngd1fa1cb8-0691-11ed-ba43-dac502259ad0.png

烧写完毕之后,按复位键即可启动。

  • 通过全志工具烧写

在没有JTAG的情况下,只能通过全志的PhoenixSuit工具进行烧写。将编译出来的yoc_rtos_8M.img文件选中,

d20e0cf0-0691-11ed-ba43-dac502259ad0.png

  • 按住FEL按钮,重新上电后,重启后固件开始烧录,直到完成。

  • 如果当前镜像支持xfex模式烧写,直接在串口命令行执行“xfex"命令,再执行"reboot"命令进行重启,重启后固件开始烧录,直到完成。

3.2命令行演示

3.2.1示例获取

docker-ubuntu18:~$ mkdir testdocker-ubuntu18:~$ cd testdocker-ubuntu18:~$ yoc initdocker-ubuntu18:~$ yoc install sdk_app_d1 -b v7.5.1Start to install components...sdk_app_d1      (v7.5.1), clone https://gitee.com/yocop/sdk_app_d1.git ...…… (省略) ……d1_evb          (v7.5.1), clone https://gitee.com/yocop/d1_evb.git ...chip_d1         (v7.5.1), clone https://gitee.com/yocop/chip_d1.git ...Download components finish.docker-ubuntu18:~/test$ lsboards  components  solutions

3.2.2编译

docker-ubuntu18:~/test/solutions$ cd d1_button_demodocker-ubuntu18:~/test/solutions/d1_button_demo$ make…… (省略) ……LINK out/d1_button_demo/yoc.elfriscv64-unknown-elf-objdump -d out/d1_button_demo/yoc.elf > yoc.asmINSTALL yoc.elfGenerating yoc.binscons: done building targets.YoC SDK Done[INFO] Create bin files[2022-02-23 1601] Start to sign images with key:def_otp[2022-02-23 1601] Sign [prim] with [def_otp][2022-02-23 1601] rsa verify ok....[2022-02-23 1601] Sign prim ok.----------------------------------------------------------------               boot0, 0, 0, 0x00000000, 0x0000c000, 0x0000c000, boot0                 gpt, 0, 0, 0x0000c000, 0x00004000, 0x00010000, gpt                boot, 0, 0, 0x00010000, 0x00025000, 0x00035000, boot                imtb, 0, 0, 0x00035000, 0x00002000, 0x00037000, imtb                prim, 1, 0, 0x00037000, 0x00360000, 0x00397000, prim                 lfs, 0, 0, 0x00397000, 0x00452000, 0x007e9000                misc, 0, 0, 0x007e9000, 0x00013000, 0x007fc000                  kv, 0, 0, 0x007fc000, 0x00004000, 0x00800000   boot0,    49152 bytes     gpt,     8192 bytes    boot,   143896 bytes    prim,   131228 bytes    imtb,     8192 bytes----------------------------------------------------------------Create yoc_rtos_8M.img in out directory Success!

3.2.3下载

可以通过3.1.3的下载方式进行烧录,也可以通过命令行进行烧录。

命令行烧录之前要先连接好T-HeadDebugServer。然后在终端输入make flashall命令:

lh@lh:~/.../solutions/d1_button_demo > make flashall[2022-02-15 1700] I am RISC-VProgram partition: boot0        address: 0x0, size 49152 byteerasing...program 00x0000c000, 100%Program partition: gpt          address: 0xc000, size 8192 byteerasing...program 00x0000e000, 100%Program partition: boot         address: 0x10000, size 142980 byteerasing...program 0x00032000, 100%Program partition: imtb         address: 0x35000, size 8192 byteerasing...program 00x00037000, 100%Program partition: prim         address: 0x37000, size 131072 byteerasing...program 00x00057000, 100%lh@lh:~/.../solutions/d1_button_demo >

04

运行

重新上电或按下RST键,系统启动,串口会有以下打印信息,表示系统运行成功。

###YoC###[Feb  7 2022,1148]cpu clock is 1008000000Hz(cli-uart)# Run lradc test

d23b41ac-0691-11ed-ba43-dac502259ad0.png

当按下对应的按键之后会有相应的打印信息输出:

user key is pressed one times

05

下期预告

本文介绍了D1 Dock Pro开发板的按键使用示例,开发者可以通过示例代码了解按键的简单触发机制。下期内容,我们将为大家讲解D1 Dock Pro的LED闪烁例程。欢迎大家继续关注。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 按键
    +关注

    关注

    4

    文章

    223

    浏览量

    57595
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97370
  • Button
    +关注

    关注

    0

    文章

    16

    浏览量

    7569

原文标题:RISC-V大赛开发套件详解(十):D1 Dock Pro开发板Button按键示例演示

文章出处:【微信号:芯片开放社区,微信公众号:芯片开放社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RTT大赛作品:AB32VG1开发板按键扫描

    ab32vg1开发板按键实验
    的头像 发表于 11-15 09:54 4207次阅读
    RTT大赛作品:AB32VG<b class='flag-5'>1</b><b class='flag-5'>开发板</b>—<b class='flag-5'>按键</b>扫描

    平头哥D1 DocK Pro开发板上手评测

    Lichee RV Dock是全志在线AWOL联合深圳矽速科技sipeed推出的一款基于珠海全志D1 CPU的单板计算机,其主控全志D1为64位RISC-V内核,内存为512MB,
    的头像 发表于 07-14 15:02 1162次阅读
    平头哥<b class='flag-5'>D1</b> <b class='flag-5'>DocK</b> Pro<b class='flag-5'>开发板</b>上手评测

    请问大佬D1哪吒开发板的3.5mm耳机规格是哪个?

    请问D1哪吒开发板的3.5mm耳机规格是哪个?
    发表于 12-28 07:03

    如何在D1哪吒开发板商适配或者移植阿里小程序呢

    阿里基于D1哪吒开发板适配的阿里小程序框架源码释放,后续将会有更多文档放出,开发者可以在D1哪吒开发板商适配或者移植阿里小程序。详情请见平头
    发表于 12-28 06:50

    Wemos D1 mini 开发板介绍

    Wemos D1 mini 开发板初用Wemos D1 mini 开发板介绍核心芯片管脚介绍开发环境点亮板载灯点亮外接二极管如何插入一段漂亮
    发表于 01-25 07:05

    「哪吒开发板」用Rust 探索RISC-V主板D1之GPIO

    D1 开发板和树莓派一样,对外引出了 40pin 引脚, 这些引脚包含3.3v,5v供电, GND , 以及几个未使用(NC)引脚, 然后就是我们要讲到的 GPIO 引脚。
    发表于 05-08 15:20 7232次阅读
    「哪吒<b class='flag-5'>开发板</b>」用Rust 探索RISC-V主板<b class='flag-5'>D1</b>之GPIO

    符合Open Board规范的首款开发板全志科技D1哪吒开始正式发售

    近日,符合Open Board规范的第一款开发板——全志科技D1哪吒开始正式线上发售。   该开发板由全志科技全资子公司全志在线基于D1芯片打造而成,是全球首款支持64bit RISC
    的头像 发表于 05-25 10:06 4023次阅读

    全志D1哪吒 RISCV64开发板上手评测

    全志D1开发板(哪吒 RISCV64)开箱评测 1.概述 2.开箱体验 3.资料情况 3.1 上手情况 3.2 芯片文档 4.总体感受 1.概述作为主打RISC-V架构芯片的国产
    的头像 发表于 05-27 17:56 9773次阅读
    全志<b class='flag-5'>D1</b>哪吒 RISCV64<b class='flag-5'>开发板</b>上手评测

    全志D1芯片的启动流程最底层分析

    关于d1哪吒开发板的启动流程分析 1.本文概述 2.D1上电后启动的第一个程序 3.启动SPL 4.启动opensbi 5.裸机程序的编写 6.小结
    的头像 发表于 06-15 17:44 8757次阅读

    Wemos D1 mini开发板初用

    Wemos D1 mini 开发板初用Wemos D1 mini 开发板介绍核心芯片管脚介绍开发环境点亮板载灯点亮外接二极管如何插入一段漂亮
    发表于 12-01 11:06 24次下载
    Wemos <b class='flag-5'>D1</b> mini<b class='flag-5'>开发板</b>初用

    Lichee RV Dock开发及使用方法

    Lichee RV Dock是本次芯片开放社区&平头哥玄铁杯比赛指定开发板之一,另一款开发板为同属AWOL出品的全志D1哪吒开发板,两者使用
    的头像 发表于 07-13 09:23 2137次阅读

    【Sipeed M2 Dock开发板试用体验】HELLOWORLD

    Sipeed M2 Dock 开发板 试用体验的机会给了我。 1、晒晒开发板吧,全家福,开发板带有很美的包装盒,配件有32G的SD卡、然后
    的头像 发表于 10-28 16:16 901次阅读
    【Sipeed M2 <b class='flag-5'>Dock</b><b class='flag-5'>开发板</b>试用体验】HELLOWORLD

    平头哥Lichee D1 DocK Pro开发板上手评测

    平头哥Lichee D1 DocK Pro开发板上手评测
    的头像 发表于 09-28 16:15 899次阅读
    平头哥Lichee <b class='flag-5'>D1</b> <b class='flag-5'>DocK</b> Pro<b class='flag-5'>开发板</b>上手评测

    20210520定位图全志D1哪吒开发板

    20210520定位图D1哪吒开发板
    发表于 03-21 09:51 2次下载

    全志20210520定位图D1哪吒开发板

    全志20210520定位图D1哪吒开发板
    发表于 10-19 15:11 0次下载