tvlad1234 / pico-rv32ima

Running Linux on RP2040 with the help of RISC-V emulation
Other
221 stars 17 forks source link

General questions #11

Closed ElectroBoy404NotFound closed 1 year ago

ElectroBoy404NotFound commented 1 year ago

Hi there, I have the following questions:

  1. How to disable display and keyboard? (To save memory)
  2. What are the UART pins?
  3. Are there any PSRAM chip alternatives that are in DIP package?
  4. Can we replace PSRAM chips with IIC EEPROMs? (They might be a little slower, but is it possible and if yes, how and what are the basic requirements?)
tvlad1234 commented 1 year ago

Hi! To disable the display and keyboard, look in the rv32_config.h file, line 27 and set the CONSOLE_LCD define to 0. The UART is not enabled by default, only the USB console. To enable the UART, at line 21, set the CONSOLE_UART define to 1. The default UART pins are 0 and 1 (see lines 42 and 43), at 115200 baud.

There aren't any PSRAM chips in DIP package as far as I'm aware, but you could use the ones I mentioned and solder them to an adapter.

Regarding the IIC EEPROMs, they are definitely a lot slower. Before I got the PSRAM, I was using an SD card to simulate the RAM and it was unusable with Linux (it would take 15 minutes to boot and then it locked up). An SD card is hundreds of times faster than an IIC EEPROM. You can try it if you wish to do so but it probably won't work that well. To do it, you need to rewrite the accessPSRAM function in psram.c with your EEPROM access routines.

ElectroBoy404NotFound commented 1 year ago

Hi @tvlad1234 ! Thank you for your fast answer! 1: I managed to delete all the lines and libs needed for Display and PS2 and CDC without breaking anything (A new record for me!). 2: I actually dont have access to any pcb manufacturing companies. So i need them in the dip package. 3: What about 25C64 SPI EEPROMs? Would they work or will it lock up like the problem you mentioned?

tvlad1234 commented 1 year ago

I don't think there are any PSRAM chips made in DIP package, they're a recent invention and the pinout is meant to be compatible with SPI flash chips, those never existed in DIP package. Try looking at online part suppliers for this kind of adapter image.

I don't think SPI EEPROMs would work properly either. The read and write access times are just too slow. Also, it's very likely you'll wear out the memory cells in no time.

ElectroBoy404NotFound commented 1 year ago

Ah, i see. I'm going to close this issue. Thank you for answering my questions! I will come back if i find any of them in DIP.

ElectroBoy404NotFound commented 1 year ago

Will SRAM chips work?

tvlad1234 commented 1 year ago

If you can find them in large enough capacity, they probably will. Keep in mind you need at least 16 megabytes to run Linux (this is why i needed 2 PSRAM chips, as the largest ones I could find were 8 megabyte)

ElectroBoy404NotFound commented 1 year ago

Ok..

ElectroBoy404NotFound commented 1 year ago

Can i use SIMM 30 pin RAM?

ElectroBoy404NotFound commented 1 year ago

Or is it possible to use ANY SRAM?

tvlad1234 commented 1 year ago

If you have a way of interfacing it to the pico, any RAM of sufficient capacity should work.

ElectroBoy404NotFound commented 1 year ago

I see..

ElectroBoy404NotFound commented 1 year ago

What is the best alternative i can use that is in DIP package? Can i use an STM32 to simulate a PSRAM chip?

tvlad1234 commented 1 year ago

I don't think there is anything in DIP package that would work. As I said, you need at least 16 megabytes of RAM. Real RAM, not simulated with flash or eeprom.

ElectroBoy404NotFound commented 1 year ago

I see. I will try to find some.