chipKIT® Development Platform

Inspired by Arduino™

Fubarino SD w/ 795 and 8MB ramdisk

Created Wed, 05 Mar 2014 16:16:55 +0000 by pito


pito

Wed, 05 Mar 2014 16:16:55 +0000

FYI: Running Retrobsd with 8MB ramdisk for swap and filesystem, supported by UECIDE as well :) http://www.rlx.sk/sk/storage-boards-memorystorage-boards-memory/2559-ramdisk-8mb-8mx8-8mbytes-with-8bit-parallel-access.html


Jacob Christ

Sat, 08 Mar 2014 17:01:08 +0000

Pito,

How is the RAM connected to the Fub SD? Is the RAM needed to run RetroBSD?

I'm jealous, I wish I had time to play with RetroBSD.

Jacob


pito

Sun, 09 Mar 2014 18:57:41 +0000

The 8MB external ram is connected via pic32mx PMP bus - 8 data and 3 control signals (rd, wr, a0). The external ram is not required when occasional toying with retrobsd. For serious work you need it as the swap file is located on the external ram. Also the filesystem placed on the external ram speeds up the stuff significantly.


Jacob Christ

Sun, 09 Mar 2014 21:04:09 +0000

Pito,

So I take that the a0 line is the memory clock. The link to the part your using for RAM says that it has 70ns PSRAM with a Xilinx CPLD. Is the a0 line part of the PMP bus of the PIC32?

Do you know the part numbers used? I take it that the CPLD is needed because the RAM doesn't interface nicely with a PIC32.

Jacob


Jacob Christ

Sun, 09 Mar 2014 21:06:47 +0000

Pito,

In your picture it looks like you have wired up four signals to the RAMDISK, MS, DATA, RD and WR. Not three as you mentioned in a previous message. Are all four used or do you need only three?

Jacob


majenko

Sun, 09 Mar 2014 23:52:35 +0000

Zoom in. /MS is connected to ground (white with blue stripes).


Jacob Christ

Mon, 10 Mar 2014 01:45:30 +0000

;) I see...


pito

Mon, 10 Mar 2014 17:34:49 +0000

The /MS is the module select - you may use several modules in parallel (not tested yet) so /MS is the select. With single module it shall be grounded. PMP consists of 8data, /rd. /wr, and addresses (A0 is the part of the address space), that ramdisk uses A0 as the /DATA signal. The driver does exist for retrobsd, sent to majenko already for committing it to the repo.


pito

Sat, 20 Dec 2014 17:27:11 +0000

With 2x 8MB ramdisks, 2x /MS used as you may see out of the below pictures:

http://retrobsd.org/viewtopic.php?f=3&t=3222&p=41094#p41094

2.11 BSD Unix for PIC32, revision G87 build 3:
     Compiled 2014-05-04 by pito@ubuntu:
     /home/pito/RETROBSDGIT/retrobsd-1/sys/pic32/fubarino
cpu: 795F512H 120 MHz, bus 120 MHz
oscillator: HS crystal, PLL div 1:1 mult x15
console: tty1 (5,1)
sd0: port SPI2, select pin G9
PP Schema: (sramc0:sa@2048,fs@6144 sramc1:fs@8192)
Attempting partition of sramc0...
%DBG-PPT: Device Name: sramc0: (7 chars)
%DBG-PPT: Device found.
%DBG-PPT: We now like this bit: sa@2048,fs@6144 sramc1:fs@8192)
%DBG-PPT: Looking at: sa@2048,fs@6144 sramc1:fs@8192)
%DBG-PPT: Added partition 0 type 184 size 4096 at offset 2
%DBG-PPT: Looking at: fs@6144 sramc1:fs@8192)
%DBG-PPT: Added partition 1 type 183 size 12288 at offset 4098
PP Schema: (sramc0:sa@2048,fs@6144 sramc1:fs@8192)
Attempting partition of sramc1...
%DBG-PPT: Device Name: sramc1: (7 chars)
%DBG-PPT: Device found.
%DBG-PPT: We now like this bit: fs@8192)
%DBG-PPT: Looking at: fs@8192)
%DBG-PPT: Added partition 0 type 183 size 16384 at offset 2
sd0: type SDHC, size 3932160 kbytes, speed 20 Mbit/sec
phys mem  = 128 kbytes
user mem  = 96 kbytes
root dev  = rd0a (0,1)
root size = 128000 kbytes
swap dev  = rd1a (1,1)
swap size = 2048 kbytes
/dev/rd0a: 611 files, 17023 used, 110476 free
/dev/rd0c: 3 files, 2 used, 19918 free
Getting disk size for /dev/rd1b
Size: 6144 kbytes
Inodes: 384
Getting disk size for /dev/rd2a
Size: 8192 kbytes
Inodes: 512
I2C dev found, adr(r/w): 51(A3/A2)
RTC:  1412201943.08
Sat Dec 20 19:43:08 MET 2014
Starting daemons: update cron


2.11 BSD UNIX (pic32) (console)

login: root
Password:
Welcome to RetroBSD!
erase, kill ^U, intr ^C
# date
Sat Dec 20 19:44:05 MET 2014
# df -i
Filesystem  1K-blocks     Used    Avail Capacity iused   ifree  %iused  Mounted on
/dev/rd0a      127499    16891   110608    13%     611    7389     7%   /
/dev/rd0c       19920        2    19918     0%       4    1260     0%   /u
/dev/rd1b        6119        2     6117     0%       3     381     0%   /tmp0
/dev/rd2a        8159        2     8157     0%       3     509     0%   /tmp1
#