Giter VIP home page Giter VIP logo

Comments (3)

kwarc93 avatar kwarc93 commented on September 26, 2024

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.

monkeyDing avatar monkeyDing commented on September 26, 2024

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.

kwarc93 avatar kwarc93 commented on September 26, 2024

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):

  1. Install Eclipse IDE for Embedded C/C++ Developers and gcc-arm-none-eabi toolchain. Setup global ARM toolchain path in Window->Preferences->MCU.
  2. Clone repo: git clone --recurse-submodules https://github.com/kwarc93/audio-multieffect.git
  3. In Eclipse go to: File->Import->Existing projects into workspace, select folder with cloned repo and check Copy projects into workspace. Click Finish.
    Now you have project with two build configurations: Debug and Release, 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):

  1. 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.
  2. 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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.