Comments (3)
Hi,
In terms of memory usage, here is a summary after compilation of Release mode (-O3 optimization):
Memory region Used Size Region Size %age Used
DTCMRAM: 64 KB 64 KB 100.00%
RAM: 56436 B 256 KB 21.53%
FLASH: 620264 B 1 MB 59.15%
SDRAM: 586116 B 8 MB 6.99%
Finished building target: audio-multieffect.elf
Most of the FLASH section (and DTCMRAM) is occupied by GUI library, and the audio effects themselves are not that ROM-hungry. However, the RAM could be the limiting factor (above 21% is only static data, not the allocated)
When it comes to porting to other STM32, theoretically it is possible (but could be a lot of work). There is a HAL (but it's not the STM32's HAL) so the application is separated form hardware. The first thing that must be done is to write/replace low-level drivers for your STM32 and "glue" them to HAL.
You asked about distortion effect - no, I don't plan to add it because existing overdrive effect works quite good for me ;)
The next effect I will add is the vocoder (I'm currently working on it).
In terms of guitar input interface - there is no such thing here (but is highly recommended). My guitar has active pickups and I plug it directly to line-in.
By the way, here is a more detailed description of this project (it's translated from Polish):
https://www.elektroda.com/rtvforum/topic4021112.html
from audio-multieffect.
Thank you very much for your reply. After a lot of trial and error, I have finally set up the Eclipse environment for STM32, and it seems to be working with some minor errors. I have managed to rebuild your project and generate the ELF and HEX files (it took a while to find the correct paths for many reference libraries, but it's basically working).
However, there are still some issues with the debugging configuration. If it's convenient, could you provide some guidance?
After loading the program via ST-Link, it is now running on the STM32F746 development board, which is fantastic. Next, I plan to integrate a simple guitar preamp to introduce the signal and create a prototype box for a demonstration project in my course.
Based on your web introduction and my practical experience, I have found that the storage of presets and other features are not yet complete, which I am looking forward to. It would be even cooler if there could be hardware firmware updates via SD card or firmware updates via Wi-Fi.
from audio-multieffect.
It shouldn't be hard to setup Eclipse and build this project. But I know, I should've provided more details in readme, will update it soon. I'm even thinking about moving project to CMake in the future.
Follow these steps (for building):
- Install Eclipse IDE for Embedded C/C++ Developers and
gcc-arm-none-eabi
toolchain. Setup global ARM toolchain path inWindow->Preferences->MCU
. - Clone repo:
git clone --recurse-submodules https://github.com/kwarc93/audio-multieffect.git
- In Eclipse go to:
File->Import->Existing projects into workspace
, select folder with cloned repo and checkCopy projects into workspace
. ClickFinish
.
Now you have project with two build configurations:Debug
andRelease
, it should be possible to build each one with no errors.
When it comes to debugging setup, I use J-Link debugger - it's just reflashed ST-Link with SEGGER firmware, it's free, it's faster, and generally better supported in Eclispe than ST-Link (and you can revert back original ST-Link firmware).
Follow these steps (for debugging):
- Install OpenOCD (to use with ST-Link) or SEGGER J-Link (to use with J-Link) and setup paths for them in Eclipse
Window->Preferences->MCU
. - Go to
Run->Debug configurations
and configure the debugging session. Look here for J-Link setup, sorry I can't help you with ST-Link and OpenOCD.
Based on your web introduction and my practical experience, I have found that the storage of presets and other features are not yet complete, which I am looking forward to. It would be even cooler if there could be hardware firmware updates via SD card or firmware updates via Wi-Fi.
Yeah, new features will be cool but really dont know when I'll add them. You know, it's just my hobby project. But you can always fork repo and write some cool features by yourself ;)
from audio-multieffect.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from audio-multieffect.