Hello, I'm fairly new to Ice, and cross language function calls, but I believe it will be a good fit for my project. It is a little different than what Ice (I believe) is originally intended for.
Here are some details about my project:
I have a development board in which I got Android up and running, and I want to talk to a soft processor inside of an FPGA (on another development board). In order to communicate between the two I wrote a daemon in Linux for the Android board that exposes a serial port as a socket. Android communicates with a socket, and then that information gets sent to the FPGA through the serial port (its bi-directional). So far I've abstracted the serial ports within the soft processor as to act like a file stream so that I can do fprintf, and fscanf. I can send strings back and forth, and I have some rudimentary functions working. Right now the program on the soft processor within the FPGA is running C, and I am working on changing it to C++ with POSIX support. POSIX supports multi-threading, and some other things I'm not totally clear on.
Here are some questions.
I know that Ice uses TCP, UDP, and SSL as a means to communicate. For the client sitting within Android that is great, because I am already using a socket, but I think I'll run into trouble when I try and setup a server on the FPGA because I don't have sockets on there, all I have is a streaming FILE. Is it possible to modify the proxy that is responsible for communication to utilize the FILE stream as apposed to a socket?
Regarding the Ice runtime. Is it possible to get it running on a POSIX environment? or Will Ice only run on a complete operating system?
I really appreciate all the hard work that the Ice team has put into making Ice into what it is. Thanks in advance for any ideas.
Dave McCoy

Reply With Quote