I have two questions, both of which may seem a little stupid but I'm going to ask them anyway

I've set up RetroBSD on a Fubarino-SD. I was wondering if there was any bare bones PIC32 chip in a PDIP package that it could be shoehorned into.

The reason I ask is that I've developed a small ATTiny-based board to teach people soldering, and am looking at ideas for what to build next. A DIP-based Unix system would be something I think would definitely excite people looking to go beyond the basics, even if it's utility was fairly constrained.

The other question I have is whether or not it's feasible to trim things to below 128k of RAM. I doubt so, but thought I'd ask.

64KiB is the most RAM you can get in a DIP PIC32 (MX170 / MX270), so as it stands, no you can't put RetroBSD on any of the DIP ones.

Can it be pruned to below 128KiB? Unlikely. You could get it to boot, sure, but you wouldn't be able to run any programs. Memory is already tight, and halving it would be completely crippling.

For the smaller chips you're better off looking at something like FreeRTOS

_________________Why not visit my shop? http://majenko.co.uk/catalogUniversal IDE: http://uecide.org"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".

Works fine with 64kB Ram (and w/ 20kB too). Sdcard with fat32, posix shell, zmodem, etc fit in about 90kB flash. Offers a configuration tool for easy-building the system. It supports the loading of ELF binaries, loading of the kernel modules (like Linux kernel), and loading of dynamic libraries (all this is for experienced users, I have not tested that yet).Cool stuff, sure..

Nuttx looks very interesting. Does it support kernel loadable modules?

I didn't see that called out? But who knows maybe it does. It does have an impressive number of features.

IMHO - Having a fixed minimal OS augmented with loadable modules makes growing the system a little at a time MUCH easier. Especially when getting new hardware running.

I have been running Linux on SD with an SD -> USB2 adapter. VERY impressive speed wise and easy to change OS to run say Kicad latest version. I am typing this on Knoppix 7.2.0 running on SD.

Now that I have used this SD for a while, I have noticed several instances when a partition has disappeared which leads to the question....

If I am using nuttx and unplug the SD and reinsert it or insert a different nuttx version, will nuttx automatically dust itself off and resume running? Reseting itself to the extent needed. And can I have 2 SDs installed and do an 'image' transfer so I have cloned a copy of the known good OS to another SD for a 'real' known good backup?

And Pito, what is Serge's website again please? I hope he and you are doing OK in these trying times.

Thanks. Guess I gotta give nuttx a real look. To properly reinit SD you must remove all voltages. So you need a VCC switch, etc. Probably one for each SD socket.

Is nuttx all open source? First look says so.

Given the huge SDs now available, some sort of easy to hack interpreted language with easy link to C or Fortran routines for speed looks pretty interesting.

I guess Python has become the hacking language of choice, but I expect the libraries get pretty huge and swapping or some such technique to extend RAM remains the real problem.

Glad you are still hacking. I think I am finally going to get another product started. I have been playing with 40M hfsigs.com box. Pretty impressive. I wonder what we could do with a PIC attached. FT8 with some added bells and whistles could do an HF 'cell fone'. No internet needed! No analog voice at all, all digital .

Given the huge SDs now available, some sort of easy to hack interpreted language with easy link to C or Fortran routines for speed looks pretty interesting.

I have been playing with Javascript (mujs) on MZ chips recently... Hoping to build a whole system around it. It's promising, and easy to extend with calls to C++ functions - and all under the Arduino API for simplicity of programming...

_________________Why not visit my shop? http://majenko.co.uk/catalogUniversal IDE: http://uecide.org"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".

I think it may work on MX, yes. The biggest issue is memory. The chipKIT compiler's libc is crippled in that it sets a hard limit on the heap size. I have argued many times with them, and even provided my own version of libc, but they seem very reluctant to release the heap. So you may need to tweak a linker script to get the heap bigger for the memory to hold the script.

I have it online somewhere - been a while since I looked at it. One mo....

My god, is it really that long since I last played with it?!?! Crikey!

_________________Why not visit my shop? http://majenko.co.uk/catalogUniversal IDE: http://uecide.org"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".

Most PICs have large portions of executable flash. Generally they are mostly empty at least with my stuff. Serge suggested maybe some libc stuff could be there. I was thinking about retroforth. But your comments and a quick look at mujs make me wonder if 'most' of it could reside there? Thus conserving a LOT of ram for other uses?

I especially like the observation that 'most' javascript will just run. I have yet to really embrace javascript, but your version of mujs seems like it could just work. The actual javascript could be in SD and huge with 'most' of the interpreter in executable flash?

I have not written any make files, but given one mujs would seem to compile for X86 as well as PIC. And the .js programs would be easily hackable directly on the PIC via serial port of whatever?

The whole question of mutil-threads and co-routines would be interesting to look at.

Also, I wonder if a PIC box could be a smart javascript filter in this world of MUCH too bloated and smart 'broswers'.... Pig browsers with LOTS of unwanted crap included.

Flash can't help with JS. Yes, the more functions you provide in C the smaller your JS program can be, but you risk ending up writing your program in C and exposing it as a couple of JS functions. Pretty pointless.

The JS has to be loaded into RAM and interpreted before running it. That can only be done in RAM. The PIC32 has plenty of RAM for it - except it uses the heap, and the chipKIT compiler only allocates a specified amount of memory (set in the linker script) to the heap. It's retarded.

_________________Why not visit my shop? http://majenko.co.uk/catalogUniversal IDE: http://uecide.org"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".

If this is correct, it would seem that the part of mujs that does step 2 above could be in executable flash? While actual running code would make more sense to be in real RAM at least until it is known good code and then just the variables would need to be in RAM?

I would assume that the javascript converter is the biggest part of the code?

I'm not sure it's possible to get at part 2. You "load" the program (js.load(const char *)) which then interprets it into whatever it wants internally (no idea what that is - some form of bytecode if it has any sense) which is then executed by the MuJS VM (by calling an exposed function which can only be exposed by the library not your code). I chose to implement setup() and loop() as exposed functions so it fits with the Arduino paradigm.

If you could get the bytecode out and feed it back in again at will, then sure, you could store it in flash. However, where would really be the point of that? You may as well program in C as Javascript if all you are wanting is the "compiled" code to run on the target chip. The whole point of writing in Javascript is that you are programming Javascript directly on the target chip - maybe from an SD card, maybe through a web interface, etc.

_________________Why not visit my shop? http://majenko.co.uk/catalogUniversal IDE: http://uecide.org"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".

I really like your comment that the javascript can be run anywhere. So it really is a portable language. That certianly is THE BIG DEAL.

I am still wondering what can really be done that is useful with executable flash?

I suppose this is the same question as to what could be put into the EPROM sockets of the very early IBM PCs. For most purposes they were never used with an occasional OEM being the exception.

Now boot memory is flash that is easy to hack in what is basically an undetectable way!!

That together with the 'unused' portion of SD that fdisk leaves at the beginning have gotten me to wondering what is really going on in my PCs. Particularly the Acer that stopped booting reliably. Is that really a hardware problem? I very much doubit it. But it got so bad that I switched computers for now.

More abandoned computer junk. This one has some bad keys. So it was USB keyboard time.

Talked earlier today to a friend who was OK with her phone needing to be rebooted each week since it was now a computer!!

No. The JS you get on a website is completely different. It is all about manipulating the web page - something you certainly don't have on MuJS.

MuJS is closer to the Arduino language, but with javascript syntax. You call the same functions (since that I what functions I created in it) to manipulate things.

It's the same syntax as what you get on a website, but the intent and facilities, and hence what you write in it, is completely different.

_________________Why not visit my shop? http://majenko.co.uk/catalogUniversal IDE: http://uecide.org"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".

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