完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在处理简单的 GPIO 捕获项目。它应该尽可能快地工作。所以决定使用高级中断。
我猜,我无法以正确的方式编译它,当中断发生时,它直接跳转到默认例程(“xtensa_vector_default.S”) 我的代码如下。你能帮我如何以正确的方式链接我的 asm 文件吗? C代码:定义gpio和中断 代码:全选 REG_SET_BIT(DPORT_CPU_PERI_CLK_EN_REG, DPORT_CLK_EN_DEDICATED_GPIO); REG_CLR_BIT(DPORT_CPU_PERI_RST_EN_REG, DPORT_RST_EN_DEDICATED_GPIO); /* get the values of dedicated GPIO from the CPU, not peripheral registers */ REG_WRITE(DEDICATED_GPIO_OUT_CPU_EN_REG, 0xff); PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[config->pin_xclk], PIN_FUNC_GPIO); gpio_set_direction(config->pin_xclk, GPIO_MODE_OUTPUT); gpio_set_pull_mode(config->pin_xclk, GPIO_FLOATING); gpio_matrix_out(config->pin_xclk, PRO_ALONEGPIO_OUT0_IDX , false, false); gpio_config_t io_conf = {0}; io_conf.intr_type = GPIO_PIN_INTR_NEGEDGE; io_conf.pin_bit_mask = 1ULL << config->pin_href; io_conf.mode = GPIO_MODE_INPUT; io_conf.pull_up_en = 1; io_conf.pull_down_en = 0; gpio_config(&io_conf); //ESP_INTR_DISABLE(31); //intr_matrix_set(1, ETS_GPIO_INTR_SOURCE, 31); //ESP_INTR_ENABLE(31); esp_intr_alloc(ETS_GPIO_INTR_SOURCE, ESP_INTR_FLAG_LEVEL5|ESP_INTR_FLAG_IRAM, NULL, NULL, NULL); 汇编代码: 全选 #include #include #include #include "soc/gpio_reg.h" #define DRDY_INT_PIN_BITMASK (1<<14) // GPIO14 as interrupt pin .data _l5_intr_stack: .space 8 .section .iram1,"ax" .global xt_highint5 .type xt_highint5,@function .align 4 xt_highint5: //save register values movi a0, _l5_intr_stack s32i a13, a0, 0 s32i a15, a0, 4 // cleare the interrupt status of GPIO14(used interrupt pint!) movi a13, GPIO_STATUS_W1TC_REG movi a15, DRDY_INT_PIN_BITMASK s32i a15, a13, 0 //Add Couple of ns to Wait nop nop nop nop nop //Clear the corespanding Dedicated GPIO output clr_bit_gpio_out 0x1 //restore register values movi a0, _l5_intr_stack l32i a13, a0, 0 l32i a15, a0, 4 rsr a0, EXCSAVE_5 rfi 5 .global ld_include_highint_hdl ld_include_highint_hdl: |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
313 浏览 0 评论
1170 浏览 1 评论
585浏览 6评论
483浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
442浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 11:58 , Processed in 0.965321 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号