Subject:
|
Re: Adding syscalls/opcodes to NXT-G
|
Newsgroups:
|
lugnet.robotics.nxt
|
Date:
|
Thu, 22 Mar 2007 07:55:10 GMT
|
Viewed:
|
20526 times
|
| |
 | |
In lugnet.robotics.nxt, John Hansen wrote:
> In lugnet.robotics.nxt, Guy Ziv wrote:
> > the NXT-G compiler
> > has a WriteIOMap function which has as an input a binary U8 array. One can
> > change this syscall in the FW so when the module name is left empty (not a case
> > I believe ever happens in any existing NXT-G blocks) the FW takes the binary
> > array, wraps it and create from it a new program clump. This will allow
> > executing syscalls and several other opcodes from NXT-G.
>
> Can you flesh this out a bit? What do you have in mind when you say "create
> from it a new program clump"? The current version of the firmware limits the
> size of this buffer to 64 bytes. I increased that limit in my recent changes to
> be 800 bytes.
>
> The existing VM code is written so that it executes all the program code as it
> reads the .rxe file directly from the flash memory. Injecting a byte stream
> from a jury-rigged IOMapWrite syscall into the existing FM program execution
> logic seems like it would be rather complicated. Do you envision that this code
> would execute as a parallel clump or would it act more like a subroutine call?
>
> John Hansen
John - I know you don't like this and I agree that the best solution is NI
changing their compiler to allow extending firmware with new syscalls. The way
things work, I'm afraid, this will not happen anytime soon. I'm trying to
suggest creative ways to overcome this difficulties in a "jury-rigged" way.
Since I'm not an expert in the firmware source as you are, I only scatched my
artistic concept of such solution, leaving others to check the details... Do you
have other ways to incorporate new syscalls into NXT-G with the existing NI
compiler?
|
|
Message is in Reply To:
 | | Re: Adding syscalls/opcodes to NXT-G
|
| (...) Can you flesh this out a bit? What do you have in mind when you say "create from it a new program clump"? The current version of the firmware limits the size of this buffer to 64 bytes. I increased that limit in my recent changes to be 800 (...) (18 years ago, 21-Mar-07, to lugnet.robotics.nxt)
|
3 Messages in This Thread:     
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|