<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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

    文章

    221

    瀏覽量

    57394
  • 開發板
    +關注

    關注

    25

    文章

    4560

    瀏覽量

    94905
  • Button
    +關注

    關注

    0

    文章

    15

    瀏覽量

    7524

原文標題:RISC-V大賽開發套件詳解(十):D1 Dock Pro開發板Button按鍵示例演示

文章出處:【微信號:芯片開放社區,微信公眾號:芯片開放社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    平頭哥D1 DocK Pro開發板上手評測

    Lichee RV Dock是全志在線AWOL聯合深圳矽速科技sipeed推出的一款基于珠海全志D1 CPU的單板計算機,其主控全志D1為64位RISC-V內核,內存為512MB,板上帶有一個SD卡插槽可用于SD卡啟動系統,
    的頭像 發表于 07-14 15:02 ?911次閱讀
    平頭哥<b class='flag-5'>D1</b> <b class='flag-5'>DocK</b> Pro<b class='flag-5'>開發板</b>上手評測

    #SIPEED #Lichee #RV DOCK #全志D1開發板

    usb開發板全志總線/接口技術學習開發板
    whycan暈哥
    發布于 :2022年01月10日 13:00:58

    請問大佬D1哪吒開發板的3.5mm耳機規格是哪個?

    請問D1哪吒開發板的3.5mm耳機規格是哪個?
    發表于 12-28 07:03

    請問D1開發板上DCXO 24M晶振的型號是什么?在哪里買?

    D1開發板上DCXO 24M晶振的型號是什么,在哪里購買
    發表于 12-28 06:33

    如何在D1哪吒開發板商適配或者移植阿里小程序呢

    阿里基于D1哪吒開發板適配的阿里小程序框架源碼釋放,后續將會有更多文檔放出,開發者可以在D1哪吒開發板商適配或者移植阿里小程序。詳情請見平頭
    發表于 12-28 06:50

    為什么用D1開發板無法去移植軟件呢

    現在用D1開發板移植軟件,但是許多軟件報:can't link soft-float modules with double-float modules,這個問題如何解決?謝謝
    發表于 12-28 07:23

    D1開發板是否可以關閉啟動時的系統log輸出

    如題,D1開發板是否可以關閉啟動時的系統log輸出,以及如何修改串口通信的波特率?
    發表于 12-28 06:10

    Wemos D1 mini 開發板介紹

    Wemos D1 mini 開發板初用Wemos D1 mini 開發板介紹核心芯片管腳介紹開發環境點亮板載燈點亮外接二極管如何插入一段漂亮
    發表于 01-25 07:05

    D1哪吒開發板是什么?有何作用

    前兩天,從同學手中拿到了全志的D1哪吒開發板,同時也燒好了tina的鏡像。使用廠商發的串口數據線,是一個ft232驅動的串口線,所以使用線連接之前,先安裝了ft232的驅動。波特率:115200上電
    發表于 02-11 07:18

    D1開發板是否可以關閉啟動時的系統log輸出

    如題,D1開發板是否可以關閉啟動時的系統log輸出,以及如何修改串口通信的波特率?
    發表于 03-29 19:14

    請問D1開發板上DCXO 24M晶振的型號是什么?在哪里買?

    D1開發板上DCXO 24M晶振的型號是什么,在哪里購買
    發表于 03-29 19:16

    d1哪吒開發板的啟動流程分析

    1.本文概述 從RISCV生態的角度上來看,D1哪吒開發板確實是一塊不錯的可以研究很深的開發板。本文主要從研究D1啟動流程的角度出發,探索
    發表于 08-16 08:16

    Lichee RV Dock開發及使用方法

    Lichee RV Dock是本次芯片開放社區&平頭哥玄鐵杯比賽指定開發板之一,另一款開發板為同屬AWOL出品的全志D1哪吒開發板,兩者使用
    的頭像 發表于 07-13 09:23 ?1825次閱讀

    平頭哥Lichee D1 DocK Pro開發板上手評測

    平頭哥Lichee D1 DocK Pro開發板上手評測
    的頭像 發表于 09-28 16:15 ?672次閱讀
    平頭哥Lichee <b class='flag-5'>D1</b> <b class='flag-5'>DocK</b> Pro<b class='flag-5'>開發板</b>上手評測

    全志20210520定位圖D1哪吒開發板

    全志20210520定位圖D1哪吒開發板
    發表于 10-19 15:11 ?0次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>