单片机/MCU论坛
直播中

余温重顾

9年用户 912经验值
擅长:可编程逻辑 嵌入式技术 EMC/EMI设计
私信 关注
[问答]

NUC980的PA1~PA6总被jtag占用,怎么才能把这几个io口释放?

# echo 2 > /sys/class/gpio/export
Please Check GPIOA02's multi-function = 0x4
sh: write error: Invalid argument
# echo 3 > /sys/class/gpio/export
Please Check GPIOA03's multi-function = 0x4
sh: write error: Invalid argument
# echo 4 > /sys/class/gpio/export
Please Check GPIOA04's multi-function = 0x4
sh: write error: Invalid argument
# echo 5 > /sys/class/gpio/export
Please Check GPIOA05's multi-function = 0x4
sh: write error: Invalid argument
# echo 6 > /sys/class/gpio/export
Please Check GPIOA06's multi-function = 0x4
sh: write error: Invalid argument

回帖(1)

张桂芝

2024-1-17 14:22:57
你的工程如果使用了“设备树”,修改的文件为 pinctrl-nuc980-dt.c, 方法就不是这里提到的,需要在设备树中配置。
设备树中定义jtag1 所用到的pins: PA.2, PA.3, PA.4, PA.5, PA.6
PA.2 --> JTAG1_TDO
PA.3 --> JTAG1_TCK
PA.4 --> JTAG1_TMS
PA.5 --> JTAG1_TDI
PA.6 --> JTAG1_nTRST

jtag1 {
    pinctrl_jtag1_PA: jtag1-PA {
        nuvoton,pins =
            <0 2 0 0
              0 3 0 0
              0 4 0 0
              0 5 0 0
              0 6 0 0>;
};   这里的数组的第三列(0) 即为multifunction = 0,  第一列为bank (0 为 PA, 1 为PB), 第二列为pin编号,第四列“保留”,始终填 '0'
举报

更多回帖

发帖
×
20
完善资料,
赚取积分