tvlad1234 / pico-rv32ima

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

How to implement your work again with a pico board? #15

Closed bonuschild closed 2 months ago

bonuschild commented 11 months ago

I am so excited to read you repo and think this is a very nice project. However I still have some confusions with getting it work:

about pinout

In the README.md I see that you've mentioned that the pin layout of SD card and RAM chip. But it does not match the official pinout presented by raspberry pi: image For example:

maybe these design just turn all GPIO as common usage? Shouldn't we use the official recommend pinout? Will these cause some other unexpected problem? Please enlight me, thanks.

about RAM chip

In the README.md :

about linux system

Thanks a lot!

ElectroBoy404NotFound commented 11 months ago

Hi

SD card: use GPIO20 as CS in your project but the relative CS is GPIO17 according to the official pinout(bottom-right of the picture).

CS pins are not hardware specific; Any pin can be used as a CS pin as long as they are GPIO pins

maybe these design just turn all GPIO as common usage? Shouldn't we use the official recommend pinout? Will these cause some other unexpected problem? Please enlight me, thanks.

Using those pins won't cause any problems tho you need to recompile the code for that

saw that you use 2 8MB SPI chip as RAM. Why use 2 chip? why use 8MB? Can I use a single 16MB SPI chip instead?

IIRC, there are no 16MB ram chips available in the market. And linux needs atleast 8MB of RAM.

The pico board itself also carrys an on-board flash with 2MB by default. Absolutely it is too small. In this project, did we use this on-board flash? If we can change this chip as a single 16MB QSPI chip, can it replace your double 8MB SPI chip? I would like to use winbond W25Q128.

Flash is different from RAM.

This must be a light system but I also noticed that we use an external SD card. What is the minimum size of the linux system? Just give a typical size and I know using different buildroot arguments can create different size of linux image. I also want to make linux image storage in an on-board storage chip to reduce total size :)

The size of the Linux Image he provides is around 2.5MB.

bonuschild commented 11 months ago

Hi

SD card: use GPIO20 as CS in your project but the relative CS is GPIO17 according to the official pinout(bottom-right of the picture).

CS pins are not hardware specific; Any pin can be used as a CS pin as long as they are GPIO pins

maybe these design just turn all GPIO as common usage? Shouldn't we use the official recommend pinout? Will these cause some other unexpected problem? Please enlight me, thanks.

Using those pins won't cause any problems tho you need to recompile the code for that

saw that you use 2 8MB SPI chip as RAM. Why use 2 chip? why use 8MB? Can I use a single 16MB SPI chip instead?

IIRC, there are no 16MB ram chips available in the market. And linux needs atleast 8MB of RAM.

The pico board itself also carrys an on-board flash with 2MB by default. Absolutely it is too small. In this project, did we use this on-board flash? If we can change this chip as a single 16MB QSPI chip, can it replace your double 8MB SPI chip? I would like to use winbond W25Q128.

Flash is different from RAM.

This must be a light system but I also noticed that we use an external SD card. What is the minimum size of the linux system? Just give a typical size and I know using different buildroot arguments can create different size of linux image. I also want to make linux image storage in an on-board storage chip to reduce total size :)

The size of the Linux Image he provides is around 2.5MB.

OK, thanks a lot. You must be an embedded expert and now I know much more better! So glad to meet your repo and you!

So now I encounter some new problem:

ElectroBoy404NotFound commented 11 months ago

Hi

You must be an embedded expert

Absolutely not. I'm just a random kid interested in this project

So glad to meet your repo and you!

Hmm actually this is @tvlad1234 's repo and his project

rp2040 has only 264KB buit-in RAM

Which is why the project uses 2 8MB PSRAM chips

With keywords: SRAM, SPI, >128Mb(16MB) I found this product which is an 16MB ram chip. Hope these could help you :)

That's a 1v8 RAM, which needs voltage shifters to work as the pico is 3v3

about the linux image size, I am now try to integrate openssl into busybox. However I can not find the component in make busybox menuconfig dialog. Do you have any experience that can instruct me? I raise an x509: certificate signed by unknown authority error because the busybox don't have dpkg-reconfigure ca-certificates command in standard linux that allow me to configure trusted root ca-certificates :)

I'm sorry, but I don't know anything about openssl