March 12-14, 2018 - Portland, OR
Click Here For Information & Registration
View analytic
Wednesday, March 14 • 11:05am - 11:55am
SMP and Networking Support on NuttX/LC823450 - Masayuki Ishikawa & Koichi Okamoto, Sony Video & Sound Products Inc.

Sign up or log in to save this to your schedule and see who's attending!

Feedback form is now closed.
For the past decade, SMP (Symmetric Multiprocessing) for Cortex-A has been successful to achieve high performance. However, situation is not the same for Cortex-M, since there is few such a system. In 2015, ON Semiconductor released LC823450 which has dual Cortex-M3 and we developed audio products with this device based on NuttX. But in the products only one Cortex-M3 was used, since 1. we didn't need full performance of dual Cortex-M3, 2. Some RTOSes support SMP kernel but NuttX didn't.

In 2016 NuttX started to support SMP, so we also started to port the feature to LC823450 but had to overcome several issues. In SMP, spinlock is implemented with CPU specific instructions (e.g. ldrex/strex for Arm) but LC823450 doesn't support them. Instead, we had to use H/W Mutex. Another issue was debugger. Actually, we had to modify OpenOCD so that it supports dual Cortex-M3 in SMP mode.

As for networking we started to run IPv4/IPv6 network stack on NuttX/STM32F4Discovery because the board support Ethernet. Then, we modified TAP/TUN driver for NuttX to work with USB serial on an LC823450XGEVK board because this approach was more feasible for us than developing RNDIS driver from scratch.  Actually, this works well on the board but the throughput was not good. Later on, RNDIS driver for NuttX was contributed to the NuttX community but the driver did not work so we had to fix the driver to run correctly. Finally, we were able to run HTTP audio streaming on the board by modifying TCP stack and nxplayer to support receive window control and http streaming respectively.

In our talk, we will show some demo videos. Also, we will demonstrate an LC823450XGEVK board running NuttX SMP kernel at ELC Techinical Showcase, so please visit our booth.

avatar for Masayuki Ishikawa

Masayuki Ishikawa

Senior Software Engineer, Sony Video & Sound Products Inc.
At Sony Corporation, I was a design/implementation/team leader for 3D graphics software development in C++/VRML2.0/JAVA on Windows (1995-1998), home network software development with HAVi and streaming (HTTP/RTP) in C/C++/Java (1999-2002), XMPP-based internet-to-home software dev... Read More →
avatar for Koichi Okamoto

Koichi Okamoto

Senior System Engineer, Sony Video & Sound Products Inc.
I have been working for Sony corporation since 1996. My first carrier started from LSI upstream design for DAB (Digital Audio Broadcast) base band ASIC using Verilog HDL which is one of hardware description language. I created the inverted FFT test vector for this chip which run... Read More →

Wednesday March 14, 2018 11:05am - 11:55am
Galleria South