Pi Pico flash upload #88
Replies: 12 comments 15 replies
-
Also, to further test and find out where the problem is, is it possible include the .bin as a .c as converted by the EAB, then copy it to the flash in a separate program? I see you can do this with CMD_INFLATE but I'd rather not have to compress then convert again, it would be easier just to upload the bytes in PROGMEM and transfer to flash, even if it is 1024 bytes at a time due to the size of RAM_G. |
Beta Was this translation helpful? Give feedback.
-
Hello, I was about to try flashing with PiPico and got interrupted by other things. :-) This is an issue with either the eve_flash_pico.uf2 or with uf2conv4eve.exe that is supplied with EAB. Now eve_flash_pico.uf2 does not seem to be padding to 4096 bytes but uf2conv4eve also is not providing the .uf2 files with padding to 4096 bytes. So a workaround would be to add a dummy file to the flash image in EAB, 4096 bytes of 0xff: I am trying to fix uf2conv4eve.py for a pull-request, this is found here: https://github.com/Bridgetek/pico-brteve
While it is possible to not use CMD_INFLATE in between by converting the image directly to a .h and using My example code has this in tft.c to flash the font image: ` EVE_cmd_inflate(0, flash, sizeof(flash)); /* de-compress flash-image to RAM_G / So whatever the size of the image file is after de-compressing it to RAM_G, the last line is the most important one here as it is padding the file to 4096. |
Beta Was this translation helpful? Give feedback.
-
Try this: It pads the .bin file to 4096 and also fills in the padded space with 0xff. |
Beta Was this translation helpful? Give feedback.
-
Hmm, now that the .uf2 is generated correctly I wanted to actually try out flashing with the Pi-Pico. |
Beta Was this translation helpful? Give feedback.
-
Found my problem, in order for eve_flash_pico.uf2 to work it is necessary to actually connect a display. |
Beta Was this translation helpful? Give feedback.
-
For some reason uf2conv4eve.py and uf2conv4eve.exe do not write the b817.blob to an empty flash. Using \EVE Asset Builder\flash_blob\bt815.blob does work though. |
Beta Was this translation helpful? Give feedback.
-
Hi, thanks for all your help, unfortunately I cannot get uf2conv4eve.py to work, I'm not sure how to use it correctly? I have tried running it from cmd with arguments and have tried converting to .exe using auto-py-to-exe and placing it in the /tools directory of EAB. EDIT: Just to confirm, I loaded up the Arduino test code and this still works (flash is still ok) |
Beta Was this translation helpful? Give feedback.
-
I currently have no idea why flashing any of the .blob even can fail. For now flashing the .blob from a program should help. In tft.c with "#define TEST_UTF8 0" copy these three lines: And put them right after "#endif /* TEST_UTF8 */". Run once to install the .blob which actually is the bt815.blob and flashing the image should work. Or well, writing a writeflashblob.uf2 would be possible. :-) |
Beta Was this translation helpful? Give feedback.
-
Ok, I had to implement this real quick. :-) This only writes the 4k flash-blob. |
Beta Was this translation helpful? Give feedback.
-
I tried the same but modified the code a little: ` /* we are not using the Arduino SPI class since we want DMA /
// EVE_cmd_inflate(0, flashblob, sizeof(flashblob)); /* de-compress flash-image to RAM_G /
// Serial.println("Flash init success");
} void loop() First of all, why the heck is using "add code" not working for me? :-) On the second try I added the image a second time, converted to 8x8. Hmm, what about the second image?
This is showing two fine test images right now. Ok, back to the flash image with a single picture, this time without the EDF block. Hmm, flashing does not seem to work, the image still is located at 4224. So I used EVE_cmd_flasherase(); from the other programm and not it worked. Flashing is not working anymore though. Ugh, ok, looks like this is broken differently now. Edit: Note the "-p". And right now I have the white square with "Test" displayed, read from 4096. Edit2: Hmm, nope, even with a delay(5000) in between the flash is not getting erased - odd. And now it worked without the delay() but after reading of REG_FLASH_STATUS? Very odd. |
Beta Was this translation helpful? Give feedback.
-
Ok, I tried that, flashing appears to work, not sure what you mean by matrix-style animation but I get a faint white gradient that sort of moves on the screen during upload. Thanks again for the help. |
Beta Was this translation helpful? Give feedback.
-
The screen fills with a green-ish chaos of characters.
Oh, how do you power the display?
Odd, it should not even work if the font is not present.
Yes, the pin-change in the command line is to have the same pin assignment than what I am using with the software. |
Beta Was this translation helpful? Give feedback.
-
Hi Rudolph, first of all thanks for making this library, I came from using gameduino and it's great to have a library that's active and has frequent updates.
Now I am aware the flash upload part does not relate to your library however you seem to be a guru and the BRT forums are a pain.
I am trying to upload a flash file to a Riverdi RVT70HSBNWN00 using a pi pico. I am encountering multiple issues and I believe they are stemming from the Pico not uploading the flash files correctly.
I am trying to display a full page image 1024x600 in ASTC4X4 format.
I have encountered a two different problems:
I have read a few other similar discussions but I think my problem is different.
To display the image, I have had some success using
In my TFT_init and:
In my burst code within TFT_display.
I have also tried the example of displaying directly from flash memory using your example from #83, and have tried different sizes and formats.
Any help would be appreciated, thanks.
Beta Was this translation helpful? Give feedback.
All reactions