在310B上使用gpio_operate去配置第三组GPIO失败

通过报错可以看出是GPIO num识别无效
问题原因
第三组的GPIO映射ID与其它组的存在差异,工具计算出来的ID不存在

查看参考文档后发现,GPIO3组只能配置为GPIO功能,无复用功能
走读代码发现gpio_product.c定义了第3组的gpio引脚值,但是dev_gpio.c文件中没有加入这些引脚值,需要在dev_gpio.c文件补齐第3组的范围在.gpio_white_list中。


同时在gpio_product.c中修改引脚的偏移计算,如下图,原本已组号*32+偏移值,修改为每组的起始组号加上偏移值

修改完成后进行编译,需替换drv_ascend_devmng.ko和libdrvgpiocfg.so两个文件即可
在310B上使用gpio_operate去配置第三组GPIO失败
通过报错可以看出是GPIO num识别无效
问题原因
第三组的GPIO映射ID与其它组的存在差异,工具计算出来的ID不存在
查看参考文档后发现,GPIO3组只能配置为GPIO功能,无复用功能
走读代码发现gpio_product.c定义了第3组的gpio引脚值,但是dev_gpio.c文件中没有加入这些引脚值,需要在dev_gpio.c文件补齐第3组的范围在.gpio_white_list中。
同时在gpio_product.c中修改引脚的偏移计算,如下图,原本已组号*32+偏移值,修改为每组的起始组号加上偏移值
修改完成后进行编译,需替换drv_ascend_devmng.ko和libdrvgpiocfg.so两个文件即可