RetroBSD

2.11BSD operating system for microcontrollers
It is currently Tue Aug 22, 2017 3:33 am

All times are UTC




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Fri Dec 23, 2016 11:55 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2396
Location: Rapa Nui
Recently I got this board

http://wiki.stm32duino.com/index.php?ti ... 32F103ZET6
http://www.ebay.com/itm/minimum-system- ... SwOyJX3QRB

and soldered in an AS7C34098A-10TCN 256Kx16 10ns SRAM (the max you can solder in is 512Kx16).
There are pads available for a NAND flash as well.
So you get STM32F103 144pin, with 512kB (or 1MB) of external sram mapped to 0x68000000+ (you can execute out of it), internal 64kB sram, 512kB flash, 512kB SPI flash.
All for $15.
The STM32F103ZET6 possesses an MPU, so maybe a good platform for RetroBSD, I guess.
You need to attach an Sdcard - you have got several SPIs, and SDIO handy.

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Mon Dec 26, 2016 7:58 pm 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1083
Hi Pito,

Your post reminds me that the original unix idea was that the whole system could easily be ported to new hardware. The first thing ported to new hardware was the compiler!

IMHO, this is what DEC and DOS for that matter delivered. A kernel minimally dependent on the actual hardware it was running on. Kinda like the idea behind retroforth also.

The conflict between simple kernel and speed seems to me to be a big part of the issue. Consider 'ls'. Does it matter whether it is written in efficient machine level code or is interpreted or whether it is part of the kernel or a stand alone program? Of course it does matter, but not very much since it isn't executed very often.

Only the inner core of the kernel makes any real difference. So as extraneous 'stuff' gets added to the kernel, the job of getting a new port running becomes VERY MUCH bigger.

So from where I sit, we need to remove as much 'stuff' as we can from the kernel itself and make such 'stuff' into loadable modules or regular programs.

I suspect the LiteBSD virtual memory capability is also needed so huge user programs can be more simply written.

Should we do this? How should we begin?

Lots of fun :).

Wiz


Top
 Profile  
 
PostPosted: Sat Dec 31, 2016 9:48 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2396
Location: Rapa Nui
I've done some testing with the external SRAM - a simple benchmark with sorting 3000 random uints of various uints sizes. I've managed to put heap into the external SRAM, so I can allocate vars with malloc() to reside there.
Attachment:
Bubblesort_1.JPG
Bubblesort_1.JPG [ 37.78 KiB | Viewed 1712 times ]

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Mon Jan 02, 2017 10:28 am 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1083
Hi Pito,

Looks like it is me and you :).

A friend ordered a 3G telco module for me.

I am thinking of a PIC32 open source telephone as a fun real-time PIC32 project.

About time to do my own PCB and PIC32 'computer'?

Maybe? Do you have any thoughts and suggestions? I think most stuff has been pretty well covered.

Wiz


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron




Powered by phpBB® Forum Software © phpBB Group

BSD Daemon used with permission