Bridgetek / pico-brteve

Example code and utility to make Raspberry Pi/Raspberry Pi Pico work with Eve GPU from BridgeTek. https://brtchip.com/eve/
MIT License
8 stars 5 forks source link

setting the SPI pins with uf2conv4eve.py does not work #29

Closed RudolphRiedel closed 1 year ago

RudolphRiedel commented 1 year ago

I saw in uf2conv4eve.py that there is an option to configure the SPI pins. After figuring out how to use "-p" I found it is not working: python uf2conv4eve.py -p int-7 pwd-6 -f BT817 BT817-unified.blob -i funtype.bin ['MISO', 4] ['CS', 5] ['SCK', 2] ['MOSI', 3] ['INT', 6] ['PWD', 7] ['IO2', 14] ['IO3', 15] ['MISO', 4] ['CS', 5] ['SCK', 2] ['MOSI', 3] ['INT', '7'] ['PWD', 7] ['IO2', 14] ['IO3', 15] Setting SPI pin: [['MISO', 4], ['CS', 5], ['SCK', 2], ['MOSI', 3], ['INT', '7'], ['PWD', '6'], ['IO2', 14], ['IO3', 15]] Traceback (most recent call last): File "uf2conv4eve.py", line 431, in main() File "uf2conv4eve.py", line 315, in main pin_select(args.pin) File "uf2conv4eve.py", line 273, in pin_select with open(name, "wb") as f: NameError: name 'name' is not defined

Lines 273 and 274 might be out of place.

brtchip-tuannguyen commented 1 year ago

Hi @RudolphRiedel, Please try it again with e28fbd6

brtchip-tuannguyen commented 1 year ago

Hi @RudolphRiedel, please try it with 7983764

RudolphRiedel commented 1 year ago

Hello,

the fix is almost working.

Reset python uf2conv4eve.py -p int-7 pwd-6 -f BT817 BT817-unified.blob -i flash.bin

This is what is on the SPI then: grafik

This is what is on the SPI when I use that line a second time without resetting in between: grafik

Ok, reset. python uf2conv4eve.py -p int-7 pwd-6 -f

Including default EVE3 firmware blob Including default EVE4 firmware blob Launching H: (RPI-RP2) Setting SPI pin: [['MISO', 4], ['CS', 5], ['SCK', 2], ['MOSI', 3], ['INT', '7'], ['PWD', '6'], ['IO2', 14], ['IO3', 15]] spin= MISO: 4 CS: 5 SCK: 2 MOSI: 3 INT: 7 PWD: 6 IO2: 14 IO3: 15

100%|████████████████████████████████████████████████████████████████████████████████████████████| 8/8 [00:00<?, ?kB/s] Wrote 67 bytes to H:/SPI_PIN.CNF Converting to uf2, output size: 16384 Launching H: (RPI-RP2) 100%|███████████████████████████████████████████████████████████████████████████████| 144/144 [00:00<00:00, 824.40kB/s] Wrote 145408 bytes to H:/NEW.UF2 Timeout

The SPI is the same as with the first image, PD stays low.

python uf2conv4eve.py -p int-7 pwd-6 -f Now it works.

Reset

Ok, back to the default configuration with PD on pin 7. Flashing is not working, now there is nothing on the SPI at all. And resetting a couple of times does not help. My application is running after I switched back to pin 7 for PD.

brtchip-tuannguyen commented 1 year ago

Hi @RudolphRiedel ,

Please try setting CS/SCK pin to 5/2: python uf2conv4eve.py -p cs-5 sck-2, skip PD and INT pin.

Then please check if the EVE is boot up ok, here is how:

  1. Connect an USB-to-Uart cable from PC to Pi-Pico Uart0 (can use an FT232 cable)
  2. Run python uf2conv4eve.py -f BT817
  3. Check Uart terminal make sure you don't see this text: image

If the EVE is boot up ok, we will see this: image

brtchip-tuannguyen commented 1 year ago

Hi @RudolphRiedel,

Check Uart terminal make sure you don't see this text:

Please use this debug version to see messages on the terminal: eve_flash_pico.zip

RudolphRiedel commented 1 year ago

Hello,

I am starting from the default with no pins changed.

This does not do much: :python uf2conv4eve.py -p cs-5 sck-2 Launching H: (RPI-RP2) Setting SPI pin: [['MISO', 4], ['CS', '5'], ['SCK', '2'], ['MOSI', 3], ['INT', 6], ['PWD', 7], ['IO2', 14], ['IO3', 15]] spin= MISO: 4 CS: 5 SCK: 2 MOSI: 3 INT: 6 PWD: 7 IO2: 14 IO3: 15

100%|████████████████████████████████████████████████████████████████████████████████████████████| 8/8 [00:00<?, ?kB/s] Wrote 67 bytes to H:/SPI_PIN.CNF

There is no output on the serial and nothing on the SPI.

Reset+Boot -Drive is named RPI-RP2. Now this: python uf2conv4eve.py -p cs-5 sck-2 -f BT817 BT817.blob TinyUF2 Coprocessor initialization timeout Failed to bootup device!

There is traffic on the SPI, but CS stays high. -Drive is named BTEVE-FLASH.

Second run with no reset: python uf2conv4eve.py -p cs-5 sck-2 -f BT817 BT817.blob Updating new SPI pins, data = MISO: 4 CS: 5 SCK: 2 MOSI: 3 INT: 6 PWD: 7 IO2: 14 IO3: 15

SD card not detected No SD card detected Bridgetek BT40817 RP2040 Flash Tool Flash firmware blob OK Flash serial: ffffffffffffffff Flash size: 67108864

At this point the drive is named BTEVE-FLASH and the backlight is activated, the display module draws around 2.5W continously without anything beeing displayed.

Running a third time with no reset, same result.

Reset+Boot -Drive is named RPI-RP2. python uf2conv4eve.py -p cs-5 sck-2 -f BT817 BT817.blob -Drive is named BTEVE-FLASH. -Coprocessor init timeout -SPI traffic with CS set to high

python uf2conv4eve.py -p cs-5 sck-2 -f BT817 BT817.blob

Reset+Boot -Drive is named RPI-RP2. python uf2conv4eve.py -f BT817 BT817.blob Fails with "Coprocessor initialization timeout", SPI traffic with CS high, drive is named BTEVE-FLASH afterwards and the shell command returns to the prompt several seconds laters. The second and third call of that line while the drive is named BTEVE-FLASH result in no output on COM and no SPI traffic, the shell command times out eventually.

Ok, now I swapped CS and SCK. Reset+Boot -Drive is named RPI-RP2. python uf2conv4eve.py -p cs-2 sck-5 -f BT817 BT817.blob -Drive is named BTEVE-FLASH -almost the same result, no init, SPI traffic shows no activity on CS - but now the CS line on pin 2 stays low

python uf2conv4eve.py -p cs-2 sck-5 -f BT817 BT817.blob

python uf2conv4eve.py -p cs-2 sck-5 -f BT817 BT817.blob -fail, no init and the SPI traffic looks strange (SCK/CS/MOSI): grafik

brtchip-tuannguyen commented 1 year ago

Hi Rudol,

  1. When USB drive name "RPI-RP2", SPI pin will not be able to change --> EVE will not be able to boot up --> cannot write flash. -> I will improve the tool to support modify SPI pin in this case

When USB drive name "BTEVE-FLASH", SPI pin should be able to configurated and flash file should be written ok, after done flashing, the board will reboot and display "RPI-RP2" drive.

without anything beeing displayed

Can you share your LCD information? The LCD should display this text in "BTEVE-FLASH" mode:

image

RudolphRiedel commented 1 year ago

Can you share your LCD information?

I used a RVT50HQBNWC00-B, so BT817 and 800x480 with 512 Mbit of flash.

The LCD should display this text in "BTEVE-FLASH" mode:

It looked like this before but this changed with the new versions and now I only get a blank screen.

brtchip-tuannguyen commented 1 year ago

Hi @RudolphRiedel , please try 7b0a3c6 at your side, thanks.

RudolphRiedel commented 1 year ago

Changing the pins does work now.