embeded/raspberry pi2021. 6. 24. 12:35

우분투에서 rpi pico를 연결하면 아래와 같이 뜨고

[   44.398531] usb 2-1.2: new full-speed USB device number 4 using ehci-pci
[   44.508833] usb 2-1.2: New USB device found, idVendor=2e8a, idProduct=0005, bcdDevice= 1.00
[   44.508840] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   44.508845] usb 2-1.2: Product: Board in FS mode
[   44.508848] usb 2-1.2: Manufacturer: MicroPython
[   44.508852] usb 2-1.2: SerialNumber: e6609cb2d3440b2a
[   44.535497] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device
[   44.536117] usbcore: registered new interface driver cdc_acm
[   44.536119] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

 

동영상에서 본대로 해보니 되는데 일단은 ttyACM0을 sudo 없이 여는 법을 찾아봐야...(휠 설정을 찾아야 하나)

아무튼 rshell을 통해서 접속하면 /pyboard 라는 경로가 생기는데 이쪽으로 복사해야 된다.

USB 저장장소로 인식되는 건.. 펌웨어만 올리는 용도인가?

$ sudo pip3 install rshell
Collecting rshell
  Downloading rshell-0.0.30.tar.gz (51 kB)
     |████████████████████████████████| 51 kB 514 kB/s 
Collecting pyserial
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
     |████████████████████████████████| 90 kB 2.8 MB/s 
Collecting pyudev>=0.16
  Downloading pyudev-0.22.0.tar.gz (85 kB)
     |████████████████████████████████| 85 kB 2.3 MB/s 
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from pyudev>=0.16->rshell) (1.14.0)
Building wheels for collected packages: rshell, pyudev
  Building wheel for rshell (setup.py) ... done
  Created wheel for rshell: filename=rshell-0.0.30-py3-none-any.whl size=52770 sha256=69461b75172bb35e222ba9bfd46158ac9463367a21b39f76cc59b930ecf91e60
  Stored in directory: /root/.cache/pip/wheels/e4/ac/b5/2937f0e9ff638dc7ee71168edfa9245ca968438f4a3f7dff9d
  Building wheel for pyudev (setup.py) ... done
  Created wheel for pyudev: filename=pyudev-0.22.0-py3-none-any.whl size=63469 sha256=fad8e733a62171573d784a43062b27df75b2d4117cd364e446804b9210c93b2b
  Stored in directory: /root/.cache/pip/wheels/8b/d1/11/6a9855487e4bba54c63dfb07a09505787d50a5e27f90b0af33
Successfully built rshell pyudev
Installing collected packages: pyserial, pyudev, rshell
Successfully installed pyserial-3.5 pyudev-0.22.0 rshell-0.0.30

$ sudo rshell
Connecting to /dev/ttyACM0 (buffer-size 128)...
Trying to connect to REPL  connected
Retrieving sysname ... rp2
Testing if sys.stdin.buffer exists ... Y
Retrieving root directories ... 
Setting time ... Jun 24, 2021 12:31:53
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 1970
Welcome to rshell. Use Control-D (or the exit command) to exit rshell.
/home/minimonk> ls -al main.py
   166 Jun 24 12:31 main.py
/home/minimonk> ls -al /pyboard/
/home/minimonk> mount
Unrecognized command: mount
/home/minimonk> cp main.py /pyboard/main.py
Copying '/home/minimonk/main.py' to '/pyboard/main.py' ...
/home/minimonk> exit

$

 

+

thonny 를 윈도우에 깔고 시작!

음.. initial settings에 standard와 raspberry pi가 있는데 일단은.. pico가 라즈베리일려나?

 

Switch to regular mode 버튼을 눌러보면

 

tools - options - general 에 가서 바꿀수 있다는데 라즈베리 파이 모드에서는 안뜨는 메뉴인듯

재시작해보면 달라지긴 한데.. 

 

UI만 달라졌을뿐 큰 차이는 없는 듯?

 

암튼 우측 하단에 Python 이라고 된 걸 클릭해서

MicroPython (Raspberry Pi Pico) 로 바꾸면 설정 끝

 

빈걸 저장 눌러보니 어디다 저장할지 물어보는데 "Raspberry Pi Pico"를 누르면

 

라즈베리 내의 저장된 파일 목록이 뜬다. (오오 신기 -_-)

 

main.py로 하면 리부팅시 작동하는 걸 확인할 수 있다.

일단은 이런 프로그램을 거치지 않으면.. 올릴수도 없는건가?

[링크 : https://thonny.org/]

[링크 : https://www.digikey.be/en/maker/projects/raspberry-pi-pico-and-rp2040-micropython-part-1-blink/...]

[링크 : https://www.electronicshub.org/raspberry-pi-pico-micropython-tutorial/]

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico USB OTG를 이용한 오실로스코프  (0) 2021.06.27
rpi pico usb 저장소  (0) 2021.06.24
uf2 - USB Flash Format  (0) 2021.06.23
rpi pico micropython  (0) 2021.06.23
rpi pico - RP2040  (0) 2021.06.23
Posted by 구차니
embeded/raspberry pi2021. 6. 23. 16:29

라즈베리 파이 pico 에서 uf2라는 포맷을 쓰길래 먼가해서 보는데

ELF는 확실히 아닌듯

$ file rp2-pico-latest.uf2 
rp2-pico-latest.uf2: data

$ readelf -a rp2-pico-latest.uf2 
readelf: Error: Not an ELF file - it has the wrong magic bytes at the start

[링크 : https://learn.adafruit.com/...circuit-python-circuitpython/uf2-bootloader-details]

 

picotool 이라는걸 이용해서 해당 바이너리의 정보를 얻을 수 있는 듯

[링크 : https://github.com/raspberrypi5/picotool]

[링크 : https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-python-sdk.pdf]

 

The ELF file is converted to a UF2 with an internal SDK tool called elf2uf2, which is bootstrapped automatically as
part of the build process.

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico usb 저장소  (0) 2021.06.24
rpi pico main.py 올리기 윈도우10, 우분투  (0) 2021.06.24
rpi pico micropython  (0) 2021.06.23
rpi pico - RP2040  (0) 2021.06.23
지름 도착 - rpi pico / esp32-cam  (0) 2021.06.23
Posted by 구차니
embeded/raspberry pi2021. 6. 23. 15:16

소스에서 부터 빌드하긴 귀찮으니 빌드된 바이너리를 다운로드!

[링크 : https://micropython.org/download/rp2-pico/rp2-pico-latest.uf2]

 

파일을 넣자마다 스토리지가 사라지면서 자동으로 시리얼 포트가 생성된다.

VID 2E8A / PID 5 가 라즈베리 파이 시리얼 포트 장치 식별자인듯?

 

엔터치니 버전 정보없이 그냥 python 콘솔만 뜬다.

[링크 : https://www.raspberrypi.org/documentation/rp2040/getting-started/#getting-started-with-micropython]

 

USB 메모리로 인식시키려면 BOOTSEL 버튼을 누른채 USB를 연결하면 된다.

스토리지로 연결했는데 RP2 Boot 라는 장치가 뜨네?

 

main.py

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?t=301927]

 

데이터 시트 찾아보니 main.py를 쓰면 된다고 언급되어 있다. (최상위 디렉토리에 넣으면 안되는건가? 왜 안되지? ㅠㅠ)

If you "save a file to the device" and give it the special name main.py, then MicroPython starts running that script as
soon as power is supplied to Raspberry Pi Pico in the future.

 

+

boot.py와 main.py를 읽게 되어있다는데...

[링크 : https://www.mfitzp.com/tutorials/using-micropython-raspberry-pico/]

 

엥? 이 말도 안되는 용량 믿어도 되나!?

 

rshell 이라는 걸 통해서 복사를 해주어야 만 하는건가?

[링크 : https://youtu.be/IMZUZuytt7o?t=195]

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico main.py 올리기 윈도우10, 우분투  (0) 2021.06.24
uf2 - USB Flash Format  (0) 2021.06.23
rpi pico - RP2040  (0) 2021.06.23
지름 도착 - rpi pico / esp32-cam  (0) 2021.06.23
cvt 와 gtf 그리고 xrandr  (0) 2021.06.21
Posted by 구차니
embeded/raspberry pi2021. 6. 23. 14:05

Cortex-M0 * 2 @ 133Mhz

264KB SRAM

2MB QSPI (onboard)

USB 1.1 with device and host (USB HID device 만들수 있는게 이거 때문인가?)

SPI * 2

I2C * 2

UART * 3

12bit ADC * 1

PWM 16ch

[링크 : https://www.raspberrypi.org/documentation/rp2040/getting-started/#board-specifications]

 

*.uf2 파일이 생성되고 그 파일을 USB에 넣으면 실행 되는 듯.

[링크 : https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf] C 버전

 

python 실행환경을 빌드해서 해당 실행 파일을 USB에 넣어 실행하면 시리얼 포트로 파이썬 콘솔이 뜨는 구조?

[링크 : https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-python-sdk.pdf] python 버전

 

+

cortex-m3 부터가 armv7-m 계열이고 cortex-m0/1 은 ARMv6-M 계열

CoreMark/MHz 에서 M0는 2.33 M3는 3.34 인걸 보면 동 클럭시 60% 정도 성능일 듯.

나쁘게 말하면 130MHz 가 cortex-m3 50Mhz 보다 약간 나은 수준으로 예상된다.

[링크 : http://wooguystudy.blogspot.com/2019/02/arm-cortex-m0m0m3m4m7.html]

 

+

W25Q16JVUXIQ winbond 3V Dual / Quad SPI 16Mbit

자료가 없어서 회로도 뒤져봄

 

RT6150B-33GQW richtek ic buck-boost 0.8A / 1.8~5.5V to 3.3V

[링크 : https://pdf1.alldatasheet.net/datasheet-pdf/view/1283912/WINBOND/W25Q16JVUXIQ.html]

 

RP2040 microcontrollers use 3.3V for GPIO.

https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-faq.pdf

 

'embeded > raspberry pi' 카테고리의 다른 글

uf2 - USB Flash Format  (0) 2021.06.23
rpi pico micropython  (0) 2021.06.23
지름 도착 - rpi pico / esp32-cam  (0) 2021.06.23
cvt 와 gtf 그리고 xrandr  (0) 2021.06.21
rpi wifi SDR (3B+ 이후 가능)  (0) 2021.06.21
Posted by 구차니
embeded/raspberry pi2021. 6. 23. 12:38

esp32-cam이 1.2만 정도 하던게 할인해서 8천원이라 질렀고

라즈베리 파이 pico는 배송비 생각나서 싸니까 지르고 ㅋㅋ

아무튼 준비 2~3일 걸린다고 해서 금요일이나 받겠거니 했는데 수요일에 도착 똭!

 

rpi pico

micro USB 가 있어서 PC에 꽂으니 인식!

 

INDEX.HTM 은 열어보니 아래 링크로 이동하고

[링크 : https://www.raspberrypi.org/documentation/rp2040/getting-started/]

<html><head><meta http-equiv="refresh" content="0;URL='https://raspberrypi.com/device/RP2?version=E0C912952D54'"/></head><body>Redirecting to <a href='https://raspberrypi.com/device/RP2?version=E0C912952D54'>raspberrypi.com</a></body></html>

 

INFO_UF2.TXT 파일은 열어보니 아래와 같은 내용이 나오는데..

UF2 Bootloader v2.0
Model: Raspberry Pi RP2
Board-ID: RPI-RP2

 

아직 가지고 놀 방법을 몰라서 고심중..

 

ESP32

그냥 보기만 해도 흐믓한데. 도대체 어떻게 펌웨어를 올리지? 시리얼 포트가 있는 것도 아니고

SD 메모리에 바이너리 넣으면 알아서 되는건가? 이것저것 찾는중

 

동영상을 보니 CH340으로 시리얼 연결하고, 아두이노 IDE에서 업로드 하면 되는걸 봐서는 시리얼 포트가 필요하겠군...

[링크 : https://www.youtube.com/watch?v=XfnwhQnh9_4]

  [링크 : https://www.devicemart.co.kr/goods/view?no=12496229]

[링크 : https://github.com/bkeevil/esp32-cam]

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico micropython  (0) 2021.06.23
rpi pico - RP2040  (0) 2021.06.23
cvt 와 gtf 그리고 xrandr  (0) 2021.06.21
rpi wifi SDR (3B+ 이후 가능)  (0) 2021.06.21
rpi pico / usb hid?  (0) 2021.06.21
Posted by 구차니
embeded/raspberry pi2021. 6. 21. 15:53

cvt로 원하는 해상도의 타이밍 값을 얻어낼 수 있다.

 

그러고 보니.. jetxon AGX의 4k60p 값은 라즈베리 4에서도 출력은 되는데

reduced 값에 가까운 느낌이네..

$ cvt -v 3840 2160 60
# 3840x2160 59.98 Hz (CVT 8.29M9) hsync: 134.18 kHz; pclk: 712.75 MHz
Modeline "3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync

$ cvt -r -v 3840 2160 60
# 3840x2160 59.97 Hz (CVT 8.29M9-R) hsync: 133.25 kHz; pclk: 533.00 MHz
Modeline "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync

$ xrandr --newmode 4k60p 594.177 3840 4016 4104 4400 2160 2168 2178 2250 +HSync +VSync

[링크 : https://ubuntuforums.org/archive/index.php/t-1710637.html]

 

gtf 명령어도 발견

여러가지 옵션이 있지만 cvt -r 처럼 값이 바뀌진 않는다. (fbset 용으로 출력 포맷이 바뀌긴 함)

$ gtf 3840 2160 60

  # 3840x2160 @ 60.00 Hz (GTF) hsync: 134.10 kHz; pclk: 712.34 MHz
  Modeline "3840x2160_60.00"  712.34  3840 4152 4576 5312  2160 2161 2164 2235  -HSync +Vsync

[링크 : https://unix.stackexchange.com/questions/227876/]

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico - RP2040  (0) 2021.06.23
지름 도착 - rpi pico / esp32-cam  (0) 2021.06.23
rpi wifi SDR (3B+ 이후 가능)  (0) 2021.06.21
rpi pico / usb hid?  (0) 2021.06.21
rpi SMI (Secondary Memory Interface)  (0) 2021.06.21
Posted by 구차니
embeded/raspberry pi2021. 6. 21. 14:29

라즈베리 3 부터 wifi / bt 모듈이 내장되기 시작했는데 이걸 SDR TX로 사용가능하도록 하는게 있는 듯.. (미친!!)

그런데 rpi 3b는 802.11n만 지원해서 안된다고 하면 어떤 모델이 가능하다는걸까?

일단은 nexus 5에 BCM43455가 달려있고 3B+ / 4B / CM4에 달려있는 듯.

즉, 3B는 안되고 3B+ 이후부터 가능할 것으로 추측된다.

 

The Raspberry Pi B3 will never be supported as it only contains an 802.11n PHY

[링크 : https://github.com/seemoo-lab/mobisys2018_nexmon_software_defined_radio]

[링크 : https://hackaday.com/2018/04/14/the-raspberry-pi-3b-as-an-sdr-without-the-sdr/

Posted by 구차니
embeded/raspberry pi2021. 6. 21. 14:01
Posted by 구차니
embeded/raspberry pi2021. 6. 21. 06:55

대충 보면 자기 테이프 같은 외부 저장장치와 통신하기 위한 인터페이스 인데

cpu에서 직접적으로 접근하는 건 아니라고 하고, first에 비교해서고 6배 이상 느리다는 말이 나온다.

500Mbps 까지 지원한다고(USB2.0 보다 빠르다)

아무튼 이 인터페이스를 이용해서 30MHz ~ 6GHz에 이르는 흉악한 대역의 SDR을 개발한 듯 ㄷㄷ

 

[링크 : https://github.com/cariboulabs/cariboulite]

  [링크 : https://hackaday.com/2021/06/20/raspberry-pi-hat-adds-sdr-with-high-speed-memory-access/]

[링크 : https://iosoft.blog/2020/07/16/raspberry-pi-smi/]

[링크 : https://www.geeksforgeeks.org/introduction-of-secondary-memory/]

 

 

'embeded > raspberry pi' 카테고리의 다른 글

rpi wifi SDR (3B+ 이후 가능)  (0) 2021.06.21
rpi pico / usb hid?  (0) 2021.06.21
라즈베리 4 수동 4k60p 설정 드디어 일단은 성공!  (0) 2021.06.18
라즈베리 4 미스테리..  (0) 2021.06.18
pifm 출력  (0) 2021.06.17
Posted by 구차니
embeded/raspberry pi2021. 6. 18. 16:42

일단은.. 유튜브나 lxrandr 에서 해상도/주사율을 정상적으로 인식하지 않아서

1080p60 으로까지 밖에 동영상 품질에 뜨지 않아서 고민중..

 

step 1. /boot/config.txt

[all]
dtoverlay=vc4-fkms-v3d
hdmi_enable_4kp60=1
start_x=1
gpu_mem=128

 

step 2. randr 설정

xrandr --newmode 4k60p 594.177 3840 4016 4104 4400 2160 2168 2178 2250 +HSync +VSync
xrandr --addmode HDMI-1 4k60p
xrandr --output HDMI-1 --mode 4k60p

[링크 : https://unix.stackexchange.com/questions/227876/]

 

근데 멀 틀어야 끊김없이 보일까?

+

HDR 10 59.940 으로 된 녀석 몇개 받아서

VLC 전체 화면으로 재생하는데 60p 느낌은 드는데 sd 속도 문제인지 프레임 드랍이나 깨지는 현상이 발생 ㅠㅠ

그래도 되는 건 일단 확인 한 것 같으니 패스~

[링크 : https://kodi.wiki/view/Samples#4K_.28UltraHD.29]

 

+

갤럭시 노트9 사용중인데 카메라 앱에서 설정을 HEVC + UHD 60p / 30p로 녹화하니 깨지는것 없이 잘 나온다.

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico / usb hid?  (0) 2021.06.21
rpi SMI (Secondary Memory Interface)  (0) 2021.06.21
라즈베리 4 미스테리..  (0) 2021.06.18
pifm 출력  (0) 2021.06.17
rpi GPCLK  (0) 2021.06.17
Posted by 구차니