1. ESP32 OpenOCD 와 GDBGUI 재시도
OpenOCD를 이용하여, TCL/GDB를 연결하여 기본동작이 되는 것 까지는 확인이 되지만, 나의 목적인 GDBGUI를 사용하는 것에는 실패를 하였기 때문에,
이부분에 대해서 다시 시도를 함
이전 ESP32 OpenOCD 와 GDB 구성 참조
ESP32 OpenOCD JTAG 관련내용
이전에 이해가 되지 않는 부분이 gdb를 실행하는데, python library 2가 필요로 하는 것이 이해가 되지 않았다.
그래서, 현재 Ubuntu 20.04에서 Python3.8 사용하지만, 별도로 Python2.7기반으로 변경한 후 다시 virtual env를 만들어 테스트를 해보려고 한다.
1.1 Python의 Version 관리
Python은 Python2.7과 Python 3.x Version으로 나누어 볼수 있겠으며, pip2 와 pip3도 별도로 나누어 볼 수 있겠다.
동시에 사용하고자 한다면, 별도로 각각 설치를 해주고, /usr/bin/python에 link를 만들어주면된다.
- Ubuntu 20.04의 Python 현재 상태 확인
$ ll /usr/bin/py* -rwxr-xr-x 1 root root 7813 3월 13 2020 /usr/bin/py3clean* -rwxr-xr-x 1 root root 12120 3월 13 2020 /usr/bin/py3compile* lrwxrwxrwx 1 root root 31 12월 15 22:18 /usr/bin/py3versions -> ../share/python3/py3versions.py* lrwxrwxrwx 1 root root 8 12월 15 22:18 /usr/bin/pydoc3 -> pydoc3.8* -rwxr-xr-x 1 root root 79 1월 28 00:41 /usr/bin/pydoc3.8* lrwxrwxrwx 1 root root 12 12월 15 22:18 /usr/bin/pygettext3 -> pygettext3.8* -rwxr-xr-x 1 root root 21535 1월 28 00:41 /usr/bin/pygettext3.8* -rwxr-xr-x 1 root root 372 4월 6 2020 /usr/bin/pyjwt3* lrwxrwxrwx 1 root root 9 12월 15 22:18 /usr/bin/python3 -> python3.8* lrwxrwxrwx 1 root root 16 3월 13 2020 /usr/bin/python3-config -> python3.8-config* -rwxr-xr-x 1 root root 384 3월 28 2020 /usr/bin/python3-futurize* -rwxr-xr-x 1 root root 388 3월 28 2020 /usr/bin/python3-pasteurize* -rwxr-xr-x 1 root root 5486384 1월 28 00:41 /usr/bin/python3.8* lrwxrwxrwx 1 root root 33 1월 28 00:41 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config* lrwxrwxrwx 1 root root 10 3월 13 2020 /usr/bin/pyvenv -> pyvenv-3.8 $ python //python command로는 동작안되며, python3 만 되며, 아래와 같이 별도의 package를 설치하라고 함 Command 'python' not found, did you mean: command 'python3' from deb python3 command 'python' from deb python-is-python3 $ pip Command 'pip' not found, but there are 18 similar ones. $ pip3 list Package Version ----------------------- -------------------- appdirs 1.4.4 apturl 0.5.2 bcrypt 3.1.7 blinker 1.4 Brlapi 0.7.0 Brotli 1.0.9 certifi 2019.11.28 chardet 3.0.4 Click 7.0 colorama 0.4.3 command-not-found 0.3 cryptography 2.8 cupshelpers 1.0 dbus-python 1.2.16 defer 1.0.6 distlib 0.3.1 distro 1.4.0 distro-info 0.23ubuntu1 dnspython 2.1.0 duplicity 0.8.12.0 entrypoints 0.3 eventlet 0.25.2 fasteners 0.14.1 filelock 3.0.12 Flask 0.12.5 Flask-Compress 1.9.0 Flask-SocketIO 2.9.6 future 0.18.2 gdbgui 0.14.0.2 gevent 1.5.0 gevent-websocket 0.10.1 greenlet 0.4.16 httplib2 0.14.0 idna 2.8 itsdangerous 1.1.0 Jinja2 2.11.3 keyring 18.0.1 language-selector 0.1 launchpadlib 1.10.13 lazr.restfulclient 0.14.2 lazr.uri 1.0.3 lockfile 0.12.2 louis 3.12.0 macaroonbakery 1.3.1 Mako 1.1.0 MarkupSafe 1.1.0 monotonic 1.5 netifaces 0.10.4 oauthlib 3.1.0 olefile 0.46 paramiko 2.6.0 pexpect 4.6.0 Pillow 7.0.0 pip 20.0.2 pipx 0.12.3.1 protobuf 3.6.1 pycairo 1.16.2 pycups 1.9.73 pygdbmi 0.10.0.0 Pygments 2.8.1 PyGObject 3.36.0 PyJWT 1.7.1 pymacaroons 0.13.0 PyNaCl 1.3.0 pyRFC3339 1.1 python-apt 2.0.0+ubuntu0.20.4.3 python-dateutil 2.7.3 python-debian 0.1.36ubuntu1 python-engineio 3.14.2 python-socketio 4.6.1 pytz 2019.3 pyxdg 0.26 PyYAML 5.3.1 reportlab 3.5.34 requests 2.22.0 requests-unixsocket 0.2.0 screen-resolution-extra 0.0.0 SecretStorage 2.3.1 setuptools 45.2.0 simplejson 3.16.0 six 1.14.0 systemd-python 234 ubuntu-advantage-tools 20.3 ubuntu-drivers-common 0.0.0 ufw 0.36 unattended-upgrades 0.1 urllib3 1.25.8 usb-creator 0.3.7 virtualenv 20.4.3 wadllib 1.3.3 Werkzeug 0.16.1 wheel 0.34.2 xkit 0.0.0 $ which python $ sudo apt install python2 //별도 python2.7 설치 후 호환성때문이지 다시 확인 $ ll /usr/bin/py* -rwxr-xr-x 1 root root 7813 3월 13 2020 /usr/bin/py3clean* -rwxr-xr-x 1 root root 12120 3월 13 2020 /usr/bin/py3compile* lrwxrwxrwx 1 root root 31 12월 15 22:18 /usr/bin/py3versions -> ../share/python3/py3versions.py* -rwxr-xr-x 1 root root 4124 3월 13 2020 /usr/bin/pyclean* -rwxr-xr-x 1 root root 11895 3월 13 2020 /usr/bin/pycompile* lrwxrwxrwx 1 root root 8 3월 13 2020 /usr/bin/pydoc2 -> pydoc2.7* -rwxr-xr-x 1 root root 79 3월 8 22:02 /usr/bin/pydoc2.7* lrwxrwxrwx 1 root root 8 12월 15 22:18 /usr/bin/pydoc3 -> pydoc3.8* -rwxr-xr-x 1 root root 79 1월 28 00:41 /usr/bin/pydoc3.8* lrwxrwxrwx 1 root root 12 3월 13 2020 /usr/bin/pygettext2 -> pygettext2.7* -rwxr-xr-x 1 root root 22082 3월 8 22:02 /usr/bin/pygettext2.7* lrwxrwxrwx 1 root root 12 12월 15 22:18 /usr/bin/pygettext3 -> pygettext3.8* -rwxr-xr-x 1 root root 21535 1월 28 00:41 /usr/bin/pygettext3.8* -rwxr-xr-x 1 root root 372 4월 6 2020 /usr/bin/pyjwt3* lrwxrwxrwx 1 root root 9 3월 13 2020 /usr/bin/python2 -> python2.7* -rwxr-xr-x 1 root root 3674216 3월 8 22:02 /usr/bin/python2.7* lrwxrwxrwx 1 root root 9 12월 15 22:18 /usr/bin/python3 -> python3.8* lrwxrwxrwx 1 root root 16 3월 13 2020 /usr/bin/python3-config -> python3.8-config* -rwxr-xr-x 1 root root 384 3월 28 2020 /usr/bin/python3-futurize* -rwxr-xr-x 1 root root 388 3월 28 2020 /usr/bin/python3-pasteurize* -rwxr-xr-x 1 root root 5486384 1월 28 00:41 /usr/bin/python3.8* lrwxrwxrwx 1 root root 33 1월 28 00:41 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config* lrwxrwxrwx 1 root root 10 3월 13 2020 /usr/bin/pyvenv -> pyvenv-3.8 lrwxrwxrwx 1 root root 29 3월 13 2020 /usr/bin/pyversions -> ../share/python/pyversions.py* $ sudo ln -s /usr/bin/python2 /usr/bin/python
python package