5/01/2021

ESP32 OpenOCD 및 Python 관리

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 현재 상태 확인 
우선 나의 Python의 상태를 확인을 해보면, python3만 지원되며, 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