Jump to content

PaulStoffregen

Members
  • Content Count

    6
  • Joined

  • Last visited

  1. Yes, you're right, an optimized implementation would show an upper limit of the speeds that might be possible with an easy-to-use Arduino implementation. If Energia ever does support the native USB port on the Stellaris board, whatever speed the most Stellaris-specific code can achieve would be a useful comparison if anyone wanted to optimize Energia.
  2. Brainwash got it. The idea is to measure how fast Arduino code can receive data when running on various boards. Only boards with native USB ports were tested, because reception with ordinary UART ports is limited by their relatively slow baud rates. I know this may be hard to understand from a perspective of traditional (or "professional") embedded design, where code designed and optimized to the traits of a specific chip. Most projects using Arduino code are more like "rapid prototyping". The common approach is to use already-written examples and libraries, which are built on top of a simple, hardware-neutral API. Because it's rapid prototyping that does NOT involve optimizing to a particular platform (at least the application level code which ordinary users copy from websites into the Arduino editor), this benchmark attempts to measure the speeds Arduino code can achieve when running on each board. In other words, the question these benchmarks address is "if you run code X on board Y, it will receive at rate Z". The question is not "how fast can board Y receive with the most optimal code". That 2nd question is important if you're a designing a high volume commercial product that's carefully optimized to a particular chip. The first question matters if you're rapidly prototyping an application, where you just grab existing Arduino code from a website and use it with little or no tweaking. In the context of this benchmark, it does not matter how fast a non-Arduino USB stack for Stellaris might be.
  3. I put the complete source code on that page, so please feel free to help yourself to the code and give it a try. As you can see in the blurb at the end of that page, I tried it on the LM4F120 board, but it only ran at slow serial speed through the debug port. I was never able to get any way to communicate on the native port. If Energia ever does support that native USB port, please let me know. I have the board right here, so I'll be happy to run the benchmark and update my web page.
  4. Yes, of course. Well, if this forum lets me post a link. Normally I never try to post anything like this in the first several messages, since so many forums have anti-spam filters that don't like links from new users. Here's the benchmarks page. http://www.pjrc.com/teensy/benchmark_usb_serial_receive.html
  5. I published my article regarding USB benchmarks. It's making the rounds on various blog sites today. Yesterday I put quite a bit more effort into reading through Energia's code. There's definitely not any native USB code in the lm4f core. There are 3 libraries in hardware/lm4f, for EEPROM, SPI and I2C (Wire).
  6. Does Energia support the native USB port on the LM4F120 launchpad board? I've been running benchmarks on all the Arduino compatible boards with native USB. So far, I've tested Arduino Leonardo, Arduino Due, Fubarino Mini, Maple, Teensy 2.0 and Teensy 3.0. I have a LM4F120 launchpad board here. I was able to compile and run my benchmark, but only through "Serial" from the debug part of the board. It measures a slow 11 kbytes/sec, because it's obviously a hardware serial port running at 115200 baud, not USB virtual serial. On Arduino Due and Maple, "SerialUSB" accesses the native serial port.I tried this on Energia, but no luck. On the others "Serial" is the USB virtual serial. I tried "Serial1" and a few other guesses, but no luck. So far, I've been unable to find much documentation on Energia regarding the native USB port. If it exists, please forgive my ignorance and point me to the right place?
×
×
  • Create New...