Note: the tags are a trifle misleading, but the best I can do.
I’ve got a BBB, Rev C. I’ve considerable experience in programming embedded C on an XMEGA under FreeRTOS, so programming is not necessarily a problem.
However, I’m going back and forth about how to start (and this includes the basic environment) for the BBB.
The ultimate application would be instrument monitoring screens for custom I2C instruments (oscilloscope and logic analyzers), displayed on an LCD display with a resistive touchscreen. The BBB has more RAM and can run programs out of RAM memory (does not have a Harvard architecture).
I’m using windows 8.1, not Linux, although I do have a laptop running Ubuntu 14 which I could use if needed.
I’ve considered bonescript and javascript, but at first glance, it may not be complex enough or capable enough to write drivers for I2C. I’m also not sure about the graphics aspect, since a logic analyzer would need considerable graphics support (as does a scope). The advantage of these seems to be that they are well supported.
I’ve considered the Debian Linux image as shipped. Programming in C or C++ is not a problem, and it looks as if it works well at accessing the I2C devices. However, I’ve tried TI’s Code Composer Studio, and find that the examples don’t compile properly because the paths are not valid in windows 8.1 (apparently, lots of “file not found, fatal error”, for the includes. With multiple platforms and processors, CCS is not that friendly. Nor is using Android on CCS. Not sure what graphics tools are available for making a GUI program.
Android Image. I have the circuitco image, which boots, but does not connect to the laptop over USB. I can (probably) work thorugh the JNI aspect if I need that to get to the I2C drivers working, but haven’t yet. Since Java has a built in GUI creator (drag and drop, I’m familiar with Lazarus Pascal, Delphi, and Visual studio, although I don’t like visual studio at all), that solves the GUI problems. Using Android studio, latest version.
However, under android, even setting Developer options/usb debugging does not even produce an undefined device on the direct USB cable connection to the PC (windows 8.1). Trying to edit the android usb configuration .ini file (instructions at TI’s android development platform) produces a file that windows says has been tampered with, and refuses to install. The basic driver file (before modification) installs just fine.
SO: Questions abound:
- which application framework would be best to do what I need to do. No problem doing Java if needed, no problem with C, C++ if needed…
- Is there a specific problem with windows 8.1 and debugging (and changing .ini files) that I don’t know the solution to (hopefully… yes)
- which platform is best at hardware access. I need to be able to read/write I2C with binary strings to be able to communicate to the hardware and boards. Those are already designed, so the protocol won’t change, and I2C specifies only the first one or two bytes anyway.
- I’ve read tons of web pages, and right now, I’d like to avoid Linux if possible, but if necessary, then I guess I need to. Right now I’m trying to make it all work under windows 8.1 just to keep the development on the same system.
These are a lot of questions, but I’m looking for a decent place (and direction) to start. And no, the TI “blink the LED” application does not work (won’t compile due to path problems, even with a default installation).
Thanks for any help.
Harvey