728x90
테스트 환경
- Ubuntu 22.04
- SK-AM62A-LP
- 09_01_00_07 Processor SDK
AM62A에 GPIO를 사용하기 위해서 PINMUX를 추가합니다. 추가하는 방법은 아래 링크를 참고해서 진행
예를 들어 위 이미지에 MCASP0_AXR2(GPIO1_8)를 제어 하기 위해서는 아래와 같이 진행해야 한다.
Datasheet를 보면 MCASP0_AXR2핀은 7가지 기능을 가지고 있으며 해당 핀을 GPIO1_8로 이용하기 위해 MUX MODE를 7로 설정 합니다. 설정 값을 k3-am62a7-sk.dts에 추가한다.
&main_pmx0 {
mygpio1_pins_default: mygpio1_pins_default {
pinctrl-single,pins = <
J721E_IOPAD(0x198, PIN_OUTPUT, 7) /* (B19) MCASP0_AXR2.GPIO1_8 */
>;
};
}
&main_gpio1 {
pinctrl-names = "default";
pinctrl-0 = <&mygpio1_pins_default>;
status = "okay";
};
dts를 빌드 후 Devkit을 부팅한다.
root@am62axx-evm:~# cat /proc/device-tree/__symbols__/main_gpio1
/bus@f0000/gpio@601000
main_gpio1를 참조하는 곳은 gpio@601000을 확인한다.
root@am62axx-evm:~# cd /sys/class/gpio/
root@am62axx-evm:/sys/class/gpio# ls -al
drwxr-xr-x 2 root root 0 Apr 28 17:42 .
drwxr-xr-x 72 root root 0 Apr 28 17:42 ..
--w------- 1 root root 4096 Apr 28 17:42 export
lrwxrwxrwx 1 root root 0 Apr 28 17:42 gpiochip333 -> ../../devices/platform/bus@f0000/20000000.i2c/i2c-0/0-0048/gpio/gpiochip333
lrwxrwxrwx 1 root root 0 Apr 28 17:42 gpiochip344 -> ../../devices/platform/bus@f0000/601000.gpio/gpio/gpiochip344
lrwxrwxrwx 1 root root 0 Apr 28 17:42 gpiochip396 -> ../../devices/platform/bus@f0000/600000.gpio/gpio/gpiochip396
lrwxrwxrwx 1 root root 0 Apr 28 17:42 gpiochip488 -> ../../devices/platform/bus@f0000/bus@f0000:bus@4000000/4201000.gpio/gpio/gpiochip488
--w------- 1 root root 4096 Apr 28 17:42 unexport
/sys/class/gpio를 이동해 gpio@601000이 gpiochip344 을 기반으로 하는 것을 확인
현재 GPIO1_8 을 사용 할 경우 344 + 8 = 352 을 echo 352 > /sys/class/gpio/export 를 진행
export 후 생성된 gpio352에 direction을 out으로 설정해준다.
이후 echo 0(LOW) OR 1(HIGH)를 설정하여 GPIO를 제어한다.
echo 352 > /sys/class/gpio/export
cd /sys/class/gpio/gpio352
echo out > direction
echo 0 > value
해당 핀에 파형을 측정해보면 value 값을 통해 signal이 변화하는 것을 확인 할 수 있다.
728x90
'TI > AM62A' 카테고리의 다른 글
[AM62A] Falcon Mode (0) | 2024.06.02 |
---|---|
[09] AM62A-SK ROBOTICS SDK (0) | 2024.03.21 |
[09] AM62A - SDCard 이미지 만들기 (0) | 2024.03.01 |
[09] AM62A-SK Processor SDK Build (0) | 2024.03.01 |
[08] AM62A - emmc (0) | 2024.02.22 |