Developing Audio Products with Cortex-M3/NuttX/C++11
Talkat Embedded Linux Conference + OpenIoT Summit North America 2017 · on Thursday, 2017-02-23· at 16:30· Skyline II·
summary
Ported NuttX 7.5 to ON Semiconductor LC823450 and released three Cortex‑M3 audio products (late 2015/early 2016) that support up to 192 kHz/24‑bit. Implemented fast ELF loading (startup time falls from >3000 ms to <100 ms), a minimal ADB over USB for push/pull/remote exec, OpenOCD support for multi‑threaded gdb, and DVFS autonomous mode driven by an idle‑ratio estimator. Used C++11 with libc++, QEMU to port Bluetooth and GUI before FPGA, and shipped working devices.
AI-written summary · about
chapters (29)
- 0:00Intro
- 2:14Product Outline
- 3:48Hardware Comparison
- 5:03Typical Software Development
- 6:57Why we chose Nutt
- 8:54Technical Challenges
- 9:34Software Stack and tools
- 10:32LC823450 Features
- 11:37Porting NuttX to MCU
- 12:44OpenOCD
- 13:47eMMC/SD driver
- 15:00File Systems
- 17:24Audio Support
- 18:19Audio Playback Example (AAC,...)
- 19:22Audio Recording example (MP3)
- 20:09Power Management
- 20:55DVFS (2/2)
- 23:07Suspend & Resume
- 24:31ELF support
- 25:36Fast ELF loading
- 27:16Developing with QEMU
- 29:14C++ Standard library
- 30:05Code size reduction
- 30:51Debugging with apps (1/2)
- 33:04adb support
- 35:20Automated Unit-testing with googletest
- 36:08DSP software development
- 37:13Demo videos
- 41:26Integration & testing with adb
related talks
27mNuttX for Embedded Linux Developers
27mBuilding a Zephyr-Native Audio Framework With Sound Open Firmware
25mChallenging Hardware Contests With Zephyr and Lessons Learned
30mSoftware architecture for High-end IoT devices
36mEmbedded Development Made Easy: A Guide to FOSS Platforms and Maxing product value
27mBuilding a Zephyr-Native Audio Framework With Sound Open Firmware
33mEnabling Sound Open Firmware on Arm® Cortex®-a Based Devices Using Zephyr RTOS
36mSound Open Firmware
