[sdiy] Some Audio DSP prototypes
ben at stuyts.nl
Sat Apr 23 18:08:19 CEST 2022
Forgot to mention this: I think Rowley still offers a trial version (code size limited), so you could check out the most recent version with clang support.
> On 23 Apr 2022, at 17:06, Eric Brombaugh via Synth-diy <synth-diy at synth-diy.org> wrote:
> That's an interesting data point. I actually bought a copy of Rowley's "personal" licensed compiler many years ago when I was starting out on ARM stuff. Ended up not using it because the licensing terms weren't favorable when I started doing outside contracts, but I do remember that it's a quite nice tool.
> Thanks for the offer of help - I'll let you know if a peek at its compile commands would be useful.
> On 4/23/22 07:30, Ben Stuyts wrote:
>> Just another data point:
>> I use a commercially supported IDE (Rowley CrossWorks, similar to Segger Embedded Studio) for my Arm projects and it supports both gcc and clang. Basically it’s just a matter of changing a global setting in the IDE and it does all the work for you. As you correctly observed, a lot of cmd-line options are similar. As long as you don’t go overboard with these (or gcc-specific pragma’s) it is very easy to convert from one to the other.
>> Eric, contact me if you want me to check what kind of cmd-lines it generates to run the clang compiler/linker.
>>> On 22 Apr 2022, at 20:37, Eric Brombaugh via Synth-diy <synth-diy at synth-diy.org> wrote:
>>> On 4/22/22 01:17, Gordonjcp wrote:
>>>> Out of interest, how hard is it to switch from gcc to LLVM, for fairly standard C code with odd sprinklings of assembler? How much would I need to change? If it's something fairly straightforward that a couple of #ifdefs can cope with it'd be nice to give folk the choice.
>>> After all the noise here about Clang/LLVM I've decided to look into exactly this. I've been using GCC with a straight-forward Makefile flow, so I figured it shouldn't be too difficult. A bit of googling turned up this tutorial which is specifically for embedded ARM stuff:
>>> The quick summary is that LLVM can understand a great many of GCC's compiler options, and you can use GCC to give you additional details that LLVM might need. The linked article has some errors and omissions that I had to work around, but after a few hours of banging on it I've gotten one of my STMF303 projects to compile without errors.
>>> *However* although the compile appears clean, when I try to load it onto the hardware the whole thing grinds to a halt - the linking process appears to have failed somewhere and the code isn't being flashed to the correct address. Using objcpy results in a binary file that's about 4GB in size (the .elf is only 200kB, which is comparable to the .elf I get from GCC), so there's clearly more work to do.
>>> I'm hopeful that I can get this going at some point in order to make a more informed comparison for myself, but I've set it aside for now. I realize that the free version I'm using is apparently not the best, but I'm not shelling out kilobucks for a quick spin.
>>> If anyone has suggestions I'd be glad to try them out, and I'll certainly post results if/when I get it going.
>>> Synth-diy mailing list
>>> Synth-diy at synth-diy.org
>>> Selling or trading? Use marketplace at synth-diy.org
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> Selling or trading? Use marketplace at synth-diy.org
More information about the Synth-diy