如何得到gpio或uart的引脚映射号?


你好
1.我想在VIM3上使用gpio与其他MCU进行交互,更新到了最新的系统,如图所示。但是没有bash 无gpio的指令,请问是怎么回事?
2.我参考了HowToTestGPIOIRQ,但是我没法知道PIN Number是多少?我又参考了HowToAccessGpio,这里说的在UBUNTU系统下的gpio list可以怎么知道,我使用命令cat出来的pin范围是[410-496],[0-85],和这里不对应?
简而言之,我手上的A311D开发板,上面的gpio对应的Number是多少?比如板子丝印1-40pin,分别对应的号应该是多少?

试试手动安装下wiringpi:

$ wget https://dl.khadas.com/repos/vim3/pool/main/w/wiringpi/wiringpi_2.46-6_arm64.deb
$ sudo dpkg -i wiringpi_2.46-6_arm64.deb

然后查看:

$ khadas@Khadas:~$ gpio readall
 +------+-----+----------+------+---+----+---- Model  Khadas VIM3 --+----+---+------+----------+-----+------+
 | GPIO | wPi |   Name   | Mode | V | DS | PU/PD | Physical | PU/PD | DS | V | Mode |   Name   | wPi | GPIO |
 +------+-----+----------+------+---+----+-------+----++----+-------+----+---+------+----------+-----+------+
 |      |     |       5V |      |   |    |       |  1 || 21 |       |    |   |      | GND      |     |      |
 |      |     |       5V |      |   |    |       |  2 || 22 | P/U   |    | 1 | ALT1 | PIN.A15  | 6   |  475 |
 |      |     |   USB_DM |      |   |    |       |  3 || 23 | P/U   |    | 1 | ALT1 | PIN.A14  | 7   |  474 |
 |      |     |   USB_DP |      |   |    |       |  4 || 24 |       |    |   |      | GND      |     |      |
 |      |     |      GND |      |   |    |       |  5 || 25 | P/U   |    | 1 | ALT0 | PIN.AO2  | 8   |  498 |
 |      |     |   MCU3V3 |      |   |    |       |  6 || 26 | P/U   |    | 1 | ALT0 | PIN.AO3  | 9   |  499 |
 |      |     |  MCUNRST |      |   |    |       |  7 || 27 |       |    |   |      | 3V3      |     |      |
 |      |     |  MCUSWIM |      |   |    |       |  8 || 28 |       |    |   |      | GND      |     |      |
 |      |     |      GND |      |   |    |       |  9 || 29 | P/D   |    | 0 | ALT0 | PIN.A1   | 10  |  461 |
 |      |     |     ADC0 |      |   |    |       | 10 || 30 | P/D   |    | 0 | ALT0 | PIN.A0   | 11  |  460 |
 |      |     |      1V8 |      |   |    |       | 11 || 31 | P/D   |    | 0 | ALT0 | PIN.A3   | 12  |  463 |
 |      |     |     ADC1 |      |   |    |       | 12 || 32 | P/D   |    | 0 | ALT0 | PIN.A2   | 13  |  462 |
 |  506 |   1 |   PIN.H5 | ALT3 | 0 |    |   P/U | 13 || 33 | P/D   |    | 0 | ALT1 | PIN.A4   | 14  |  464 |
 |      |     |     GND3 |      |   |    |       | 14 || 34 |       |    |   |      | GND      |     |      |
 |  433 |   2 |   PIN.H6 | ALT1 | 0 |    |   P/D | 15 || 35 | P/D   |    | 0 | ALT3 | PWM-F    | 15  |  432 |
 |  434 |   3 |   PIN.H7 | ALT1 | 1 |    |   P/D | 16 || 36 |       |    |   |      | RTC      |     |      |
 |      |     |      GND |      |   |    |       | 17 || 37 | P/D   |    | 0 | IN   | PIN.H4   | 16  |  431 |
 |  497 |   4 |  PIN.AO1 | ALT0 | 1 |    |   P/U | 18 || 38 |       |    |   |      | MCU-FA1  |     |      |
 |  496 |   5 |  PIN.AO0 | ALT0 | 0 |    |   P/U | 19 || 39 | P/D   |    | 0 | IN   | PIN.Z15  | 17  |  426 |
 |      |     |      3V3 |      |   |    |       | 20 || 40 |       |    |   |      | GND      |     |      |
 +------+-----+----------+------+---+----+-------+----++----+-------+----+---+------+----------+-----+------+

@numbqq 非常感谢,安装后可以使用了。
顺便问一下,关于板子上除了引出来的这40个io外,如何查看板载的几个按键和led灯在芯片上所接的对应引脚?

@librazxc https://dl.khadas.com/Docs/Schematic/
从这里拿到你板子对应的原理图,通过原理图可以找到对应的引脚的

@Frank好的,感谢!是不是我因为我执行了sudo apt-get update && sudo apt-get upgrade才会出现这个需要手动安装的情况? 因为我之前装了202005月份那个系统,用官方编好的inceptionv3 npu demo可以直接执行,现在不行了,得自己再编译一遍才可以。

@librazxc 新的OTA固件的NPU版本是6.4.2.1的.如果NPU demo是对应的版本就是可以运行的.0530是6.4.0.10的版本

@Frank 好的。谢谢。
2222222
如上图所示,我根据’01’那个pdf,看到了支持keras和pytorch框架,我在’02’里找到其他框架支持的Op,想请问keras和pytorch支持的算子可以在哪里查看到?

@librazxc 目前没有相关的文档,这是我们拿到的所有文档了,其他的文档只能等原厂更新

@Frank 你好,我使用tf2自己训练了一下mobilenetv1的网络,按照step1 0_import_model.sh 转成了***.json,***.data ,然后我执行step4,仿真在pc上的非量化结果,然后报了如下的错误:


好像说是命名有问题,可是我换了其他还是一样的问题?您能帮我看一下吗?这里好像发不了模型文件

***.json
{
"MetaData": {
    "Name": "main",
    "AcuityVersion": "2.0",
    "Platform": "tensorflow",
    "Org_Platform": "tensorflow"
},
"Layers": {
    "input_0": {
        "name": "input",
        "op": "input",
        "parameters": {
            "size": "",
            "channels": 1,
            "shape": [
                1,
                224,
                224,
                1
            ]
        },
        "inputs": [],
        "outputs": [
            "out0"
        ]
    },
    "functional_1/conv1_relu/Relu6;functional_1/conv1_bn/FusedBatchNormV3;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise;functional_1/conv1/Conv2D_2": {
        "name": "functional_1/conv1_relu/Relu6;functional_1/conv1_bn/FusedBatchNormV3;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise;functional_1/conv1/Conv2D",
        "op": "convolution",
        "parameters": {
            "weights": 32,
            "padding": "VALID",
            "bias": true,
            "group_number": 1,
            "regularize": false,
            "ksize_h": 3,
            "ksize_w": 3,
            "stride_h": 2,
            "stride_w": 2,
            "pad_h": 0,
            "pad_w": 0,
            "dilation": 1,
            "pad_method": "padding_const",
            "pad": [
                0,
                1,
                0,
                1
            ]
        },
        "inputs": [
            "@input_0:out0"
        ],
        "outputs": [
            "out0"
        ]
    },
    "functional_1/conv1_relu/Relu6;functional_1/conv1_bn/FusedBatchNormV3;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise;functional_1/conv1/Conv2D_3": {
        "name": "functional_1/conv1_relu/Relu6;functional_1/conv1_bn/FusedBatchNormV3;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise;functional_1/conv1/Conv2D",
        "op": "relun",
        "parameters": {
            "relu_clamp_top": 6,
            "relu_clamp_bottom": "0"
        },
        "inputs": [
            "@functional_1/conv1_relu/Relu6;functional_1/conv1_bn/FusedBatchNormV3;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise;functional_1/conv1/Conv2D_2:out0"
        ],
        "outputs": [
            "out0"
        ]
    },
    "functional_1/conv_dw_1_relu/Relu6;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise_4": {
        "name": "functional_1/conv_dw_1_relu/Relu6;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise",
        "op": "convolution",
        "parameters": {
            "weights": 32,
            "padding": "SAME",
            "bias": true,
            "group_number": 32,
            "regularize": false,
            "ksize_h": 3,
            "ksize_w": 3,
            "stride_h": 1,
            "stride_w": 1,
            "pad_h": 1,
            "pad_w": 1,
            "dilation": 1,
            "pad_method": "padding_const",
            "pad": [
                1,
                1,
                1,
                1
            ]
        },
        "inputs": [
            "@functional_1/conv1_relu/Relu6;functional_1/conv1_bn/FusedBatchNormV3;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise;functional_1/conv1/Conv2D_3:out0"
        ],
        "outputs": [
            "out0"
        ]
    },
    "functional_1/conv_dw_1_relu/Relu6;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise_5": {
        "name": "functional_1/conv_dw_1_relu/Relu6;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise",
        "op": "relun",
        "parameters": {
            "relu_clamp_top": 6,
            "relu_clamp_bottom": "0"
        },
        "inputs": [
            "@functional_1/conv_dw_1_relu/Relu6;functional_1/conv_dw_1_bn/FusedBatchNormV3;functional_1/conv_dw_1/depthwise_4:out0"
        ],
        "outputs": [
            "out0"
        ]
    },

@librazxc 你的模型是冻结以后的模型么,还是为冻结的模型 .你的TF2是多少版本的

@Frank 模型为冻结后的模型,tf2.3.0,都是基于tf.keras写的网络层。model文件

@librazxc 可能是某些层或者tensor不支持转换造成的.这种情况经常会碰见.你可以尝试去掉这一层再转换试试,确认一下

@Frank 这个仅仅是mobilenetv1,我没有修改什么,我看demo的mbv1.pb都可以运行起来… 不清楚呢问题会出在哪里…你这边能否帮我检查一下呢

@librazxc 这边建议你用tf1.4的或者tf2.0的,工具只支持2.0的版本,如果你的工具版本超过了这个版本,可能会导致出问题的.一般这种命名问题可能是版本更新以后,命名方式改变了,如果要等我这边验证的话,需要等待一段时间.要排进计划里面

@Frank 非常感谢,对比了一下tf2.3和2.0,找到了是tf.keras.layers下的VersionAwareLayers
差异。现在可以转成功了。

@librazxc 问题解决了就行,有问题可以再反馈

@Frank 能否帮我看一下这个问题 生成 case 代码报错:could not convert string to float