Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 21:43 25 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : (DM) DuinoMite-eMega is complete

     Page 1 of 2    
Author Message
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 10:26am 16 Jan 2012
Copy link to clipboard 
Print this post

We run the first prototypes last Friday, this week we will distribute them through DM development team to start work on the firmware:

DuinoMite-eMage

it has all DuinoMite-Mega features + 100MB Ethernet, PMP 80Mhz port, 2MB on board flash drive and 64KB EEPROM for setup storage info.

with the MOD-VGA additional shield (adding 512KB of RAM) this become 32 bit complete computer with Graphics and memory much more than the Comodore, Amiga, Apple had back in 198x
 
Gizmo

Admin Group

Joined: 05/06/2004
Location: Australia
Posts: 5078
Posted: 11:32am 16 Jan 2012
Copy link to clipboard 
Print this post

Wow!

Glenn
The best time to plant a tree was twenty years ago, the second best time is right now.
JAQ
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 11:45am 16 Jan 2012
Copy link to clipboard 
Print this post

MEGA want one NOW!
VK4MU MicroController Units

 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 03:39pm 25 Jan 2012
Copy link to clipboard 
Print this post

The prototypes are ready to ship to DuinoMite software development team!

DuinoMite-eMega Web Page
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 06:13pm 25 Jan 2012
Copy link to clipboard 
Print this post

aww, my Mega is now feeling inadequate!

John
 
Ray B
Senior Member

Joined: 16/02/2007
Location: Australia
Posts: 219
Posted: 01:17am 26 Jan 2012
Copy link to clipboard 
Print this post

Using the Ethernet capability I'm looking forward to seeing example code to run "Web In A Box" code to be able to host a web page which could display status of inputs and even through password protection be allow to control outputs.

Well done with the hardware Olimex.
RayB from Perth WA
 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 06:22am 26 Jan 2012
Copy link to clipboard 
Print this post

as far we have PIC32-MAXI-WEB done with the same processor which includes Microchip TCP-IP stack and even supports WiFi with MOD-WIFI, I would say this WEB-in-a-BOX is ready right now if you want to abandon BASIC and use C
 
Ray B
Senior Member

Joined: 16/02/2007
Location: Australia
Posts: 219
Posted: 07:13am 26 Jan 2012
Copy link to clipboard 
Print this post

Olimex I suppose this will lead to the requirement of IP based MMbasic instructions requiring merger into MM 4.0
RayB from Perth WA
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 07:50am 26 Jan 2012
Copy link to clipboard 
Print this post

What it really needs is for MM/DM basic to have user installable routines to cater for any non-standard hardware/software NEEDS
VK4MU MicroController Units

 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 06:07am 27 Jan 2012
Copy link to clipboard 
Print this post

  djuqa said   What it really needs is for MM/DM basic to have user installable routines to cater for any non-standard hardware/software NEEDS


you have no idea how easy is this, watch my blog today I will write article about it
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 08:11am 27 Jan 2012
Copy link to clipboard 
Print this post

With over 20 years experience writing commercial software I DO KNOW EXACTLY how Hard/Easy it is.
VK4MU MicroController Units

 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 04:17pm 27 Jan 2012
Copy link to clipboard 
Print this post

Hacking DuinoMite BASIC -> HERE
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 09:38pm 27 Jan 2012
Copy link to clipboard 
Print this post

Good article, but what I was talking about is implementing the hooks so small routines can be vectored into the firmware without re-compilation.


VK4MU MicroController Units

 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 06:46am 28 Jan 2012
Copy link to clipboard 
Print this post

no re-compilation? this is SciFi unless you learn how to write your subroutines directly in machine code
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 07:02am 28 Jan 2012
Copy link to clipboard 
Print this post

What I am talking about is Pre-compiled Modules supplied by others or self developed that can be used as installable routines.
IE someone buys your latest UEXT module and it needs some clever driver routines to use. The end-user would just install the routine as part of the supplied or self written program.

Why should the ENTIRE FIRMWARE be re-compiled to create a CUSTOM version of MMBASIC.
Each custom command could be developed using "C", or Assembly Language or another supported language.



VK4MU MicroController Units

 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 07:17am 28 Jan 2012
Copy link to clipboard 
Print this post

dynamic linking would require OS

probably you have seen Sergey's posts here on TBS he is running the RetroBSD project and told me that he made the assembled and linker running on DuinoMite, but he is out of memory to fit the C compiler, his idea is to make stand alone UNIX computer with DuinoMite with keyboard and VGA same way as it's done in BASIC now.
With the new MOD-VGA with 32MB of RAM he will have plenty of RAM for his project and he may move forward, so if Sergey can complete this DuinoMite will have UNIX and will be able to compile/link C without need of PC
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 11:51am 28 Jan 2012
Copy link to clipboard 
Print this post

Well, it could be a restricted version of dynamic linking, and doesn't in any case have to imply an OS.

There would need to be a way to use internal parts of MMBasic but maybe there are only a fairly small number that realistically need to be made available. Pointers to them could be provided in an array whose address is fixed and known (or available via MM.WHATEVER). This is akin to BCPL's global vector IIRC.

Then the C code would just be written with this in mind.

MMBasic would need a function to load the binary of the C, and the C will need to be compiled a lttle specially (no start-up code; PIC - position-independent code?).

But it looks fairly easy.

That global vector's address could be passed by MMBasic to an Init() function in the C and/or passed when the C is called.

So, in MMBasic something like:
myfunc = LoadC("myfunc.bin")

where myfunc is set to some magic that can be used later with some such as:
result = CallC(myfunc, arg1, arg2)
or even better:
result = myfunc(arg1, arg2)

(you pass as many args as needed; MMBasic will end up handing the C function data about what was actually passed in)

Note that the above requires no dynamic linking at all. There are a couple of pointers here and there, is all.

I suppose myfunc better be guaranteed not to have certain values if the LoadC is OK but to have an error code otherwise.

JohnEdited by JohnS 2012-01-29
 
Olimex
Senior Member

Joined: 02/10/2011
Location: Bulgaria
Posts: 226
Posted: 12:12pm 28 Jan 2012
Copy link to clipboard 
Print this post

the problem is that to do this you need RAM
it;s easy to add the new functionalities in Flash but the RAM is only 30k for everything - variables, codes, stack, this gives not much flexibility
with the external 32MB RAM MOD-VGA things may change

 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3801
Posted: 12:23pm 28 Jan 2012
Copy link to clipboard 
Print this post

I see no reason why it has to be RAM. It can go in flash, much as there's a flash drive.

It would perhaps be handy to use RAM until it's debugged :)

John
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 12:47pm 28 Jan 2012
Copy link to clipboard 
Print this post

  JohnS said   Well, it could be a restricted version of dynamic linking, and doesn't in any case have to imply an OS.

So, in MMBasic something like:
myfunc = LoadC("myfunc.bin")


John

at last someone who gets it.


VK4MU MicroController Units

 
     Page 1 of 2    
Print this page
© JAQ Software 2024