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/esp322021. 6. 23. 15:55

M4랑 비근하지만 M7 보단 낮은 수준?

As I've understood, Extensa LX6 (esp32 CPU) is aprox. on par with Cortex M4, but below M7 

[링크 : https://www.esp32.com/viewtopic.php?t=5093]

 

아키텍쳐 종류는 파악 불가 ㅠㅠ

[링크 : https://en.wikipedia.org/wiki/Tensilica]

 

There are 2 CPU cores that can be individually controlled or powered, and the clock frequency is adjustable from 80 MHz to 240 MHz

ESP32 contains two low-power Xtensa® 32-bit LX6 microprocessors. The internal memory includes:

• 448 KBytes ROM for booting and core functions.
• 520 KBytes on-chip SRAM for data and instruction.
• 8 KBytes SRAM in RTC, which is called RTC SLOW Memory and can be accessed by the co-processor during the Deep-sleep mode.
• 8 KBytes SRAM in RTC, which is called RTC FAST Memory and can be used for data storage and accessed by the main CPU during RTC Boot from the Deep-sleep mode.
• 1 Kbit of EFUSE, of which 256 bits are used for the system (MAC address and chip configuration) and the remaining 768 bits are reserved for customer applications, including Flash-Encryption and Chip-ID.

[링크 : https://www.es.co.th/Schemetic/PDF/ESP32.PDF]

 

6*6 36핀 인가?

[링크 : https://www.reddit.com/r/esp32/comments/b6wyjt/aithinker_esp32cam_schematic/]

 

공식 홈페이지 링크

[링크 : https://docs.ai-thinker.com/en/esp32-cam]

[링크 : https://docs.ai-thinker.com/_media/esp32/docs/esp32-cam_product_specification_zh.pdf]

[링크 : https://docs.ai-thinker.com/_media/esp32/docs/esp32_cam_sch.pdf]

 

SPI 32Mbit (4MB)

RAM 520KB + 8MB PSRAM

FreeRTOS + LWIP

[링크 : https://docs.ai-thinker.com/_media/esp32/docs/esp32-cam_product_specification_zh.pdf]

[링크 : http://www.ai-thinker.com/pro_view-24.html]

 

정리하고 보니 얘는 ESP32S가 아닌 ESP32 인듯. 패키지가 QFN77 정도는 되어야 하는데 작음.

ESP32-D0WD-V3 / 240 MHz / 600 MIPS / Dual core

ESP32-D0WDQ6-V3 / 240 MHz / 600 MIPS / Dual core

ESP32-D0WD / 240 MHz / 600 MIPS / Dual core

ESP32-D0WDQ6 / 240 MHz / 600 MIPS / Dual core

ESP32-D2WD / 160 MHz / 400 MIPS / Dual core

ESP32-S0WD / 160 MHz / 200MIPS / Single core

ESP32-U4WDH / 160 MHz / 200MIPS / Single core

[링크 : https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf]

'embeded > esp32' 카테고리의 다른 글

LDO 발열?  (0) 2021.06.25
esp32-cam camerawebserver  (0) 2021.06.24
ov2640 on esp32-cam  (0) 2021.06.23
esp32 fw upload  (0) 2021.06.23
esp32-cam  (0) 2021.06.20
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/esp322021. 6. 23. 14:22

1600x1200@15fps / SVGA 800x600@30fps / CIF 352x288@60fps

 

MIPI를 기대한건 너무 큰 욕심이었을까 -ㅁ-

SCCB Interface
The Serial Camera Control Bus (SCCB) interface controls the CAMERACHIP operation. Refer to OmniVision Technologies Serial Camera Control Bus (SCCB)

[링크 : https://datasheetspdf.com/datasheet/OV2640.html]

'embeded > esp32' 카테고리의 다른 글

LDO 발열?  (0) 2021.06.25
esp32-cam camerawebserver  (0) 2021.06.24
esp32 cpu 사양 및 성능  (0) 2021.06.23
esp32 fw upload  (0) 2021.06.23
esp32-cam  (0) 2021.06.20
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/esp322021. 6. 23. 13:02

장치는 샀는데 어떻게 펌웨어를 올려야 하나..

아무튼 대충 보니 외부 시리얼 통신을 통해서 올려주는 형상이고

라즈베리 파이 pico 처럼 내부 펌웨어는 따로 있고, 사용자 펌웨어만 올리는 구조인 듯 하다.

 

[링크 : https://dronebotworkshop.com/esp32-intro/]

[링크 : https://dronebotworkshop.com/esp32-cam-intro/]

 

[링크 : https://randomnerdtutorials.com/program-upload-code-esp32-cam/]

[링크 : https://docs.espressif.com/.../development-environment/firmware-update.html]

'embeded > esp32' 카테고리의 다른 글

LDO 발열?  (0) 2021.06.25
esp32-cam camerawebserver  (0) 2021.06.24
esp32 cpu 사양 및 성능  (0) 2021.06.23
ov2640 on esp32-cam  (0) 2021.06.23
esp32-cam  (0) 2021.06.20
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 구차니
개소리 왈왈/블로그2021. 6. 23. 10:08

남의 돈으로 생색낼 수 있는 시기가 되었군!

 

아무튼 카페 들어가면서 몇번의 클릭질로 모인 돈이 5700원

얼마 되지 않은 돈이지만 누군가에게는 희망이 되길

 

Posted by 구차니
프로그램 사용/gcc2021. 6. 22. 19:15

예전에는 문제없이 unsigned char에 대한 int 형으로의 캐스팅이 문제없이 되었던 것 같은데 안되서

C99나 C11의 영향인지 조금 더 찾아보는 중.

 

[링크 : https://gcc.gnu.org/onlinedocs/gcc/Characters-implementation.html#Characters-implementationl]

[링크 : https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html]

[링크 : https://gcc.gnu.org/wiki/NewWconversion]

 

'프로그램 사용 > gcc' 카테고리의 다른 글

gcc unsigned to signed upcast 테스트  (0) 2021.07.08
gcc vectorized loop  (0) 2021.06.30
gcc %p (nil)  (0) 2021.05.07
gcc -D 옵션 인자를 printf로 출력하기  (0) 2021.04.08
Auto-vectorization in GCC  (0) 2021.03.25
Posted by 구차니