Hello everyone!!!
I am a newbie and would like to update the firmware of AC/DC.
Can anyone help me figure out how to do it?
Thank you! <3
Hello everyone!!!
I am a newbie and would like to update the firmware of AC/DC.
Can anyone help me figure out how to do it?
Thank you! <3
Hi,
You can read about it here
And this is the latest firmare release from which you need the ACDC.bin
file.
Hi antisvin!
Thank you for your answer!
Iâve tried following the guide, but after flashing the ACDC.bin the unit does not show the startup animation anymore and is not recognised by the tool either.
Failed To Connect To OWL
Is the unit bricked or is it a boot loader issue?
Thank you!
You know what, Iâve just tested the official build myself and noticed that it breaks USB. However, itâs not bricked - the default patch is running. But without USB you canât flash another firmware!
However, itâs possible to force DFU mode without USB. In order to do that, youâll have to short a pad when the module is booting. Use a small screwdriver and make sure not to touch anything else. Then you will be able to load a working version of firmware.
Just to avoid confusion, hereâs a photo to help you locate it:
Iâve already let RebelTech/Befaco know about this issue, so a correct update is expected soon. Iâve build the latest firmware manually with correct libraries, so you can use it if you donât want to wait:
ACDC.bin (101.9 KB)
Hi Antisvin!
Thank you for your amazing support!
Iâve tried shorting the pads, but nothing happens. I still receive the error âFailed To Connect To OWL.â
Iâm not actually sure if something is running, as turning the volume pots does not light up the respective channel LED (or maybe I misunderstood what you meant by âdefaultâ patch).
The steps Iâm following are:
I have a screenshot of my first ACDC.bin flash attempt (before you compiled the correct build). I think I forgot to press âEnable Advanced Modeâ on the DFU tool before flashing the firmware. The button is at the very end of the page and, being hidden, I directly pressed âFlash.â
Hope i can still save the unit!
Thank you again
Yeah, the âdefaultâ patch is what you have preinstalled - itâs like a 4 channel VCA. You can connect some CV source to one of the channels and set it gain to max to see that firmware and that patch runs.
Based on your post, youâve flashed it to the wrong address and no firmware would be able to run in this situation. Still, the one that is released doesnât seem to work for me (but the same code worked when Iâve compiled it myself).
DFU mode should always be usable as itâs handled by flash address that we canât overwrite. I think that your steps have incorrect order - you must shorten it while itâs not powered, then turn on the power. And make sure that USB cable is disconnected - I think it might end up powering from the cable and you wonât get a proper reboot. You might have to make a few retries as the pad is small and it might be hard to get a good contact.
Feel free to make a video if my explanation wonât help.
Iâve tried many times with different tips, such as screwdrivers and other metallic objects.
As you can see/hear in the video, Iâm following these steps:
short the unit
power on while shorting pads
connect USB
receive the error message âFailed To Connect To OWLâ
Also, feeding the input with a hot signal does not show any LED activity.
The unit seems to be powered off, and itâs cold to the touch even after being plugged in for a while.
Here is the video showing the steps I followed: owl.MOV - Google Drive
The unit also had the peculiarity of not lighting up the LED on channel 3 (and just on that channel) when the pot was maxed out (the LED correctly lit up during the boot animation and the recording was fine as well).
Something tells me that itâs not the luckiest one ahah
Hi Antisvin,
Still nothing from my side.
The module seems to be dead. Do you think itâs possible to buy the Xibeca board as a spare part?
Thank you!
Ok, so about your video. First of all, youâre changing parameters, but they wonât do anything in DFU mode or without a running firmware. With correctly flashed firmwre firmware youâll still need to send something to input to get indicator working. Even then you need to have a patch that sets LED values, but in your case it should be still present, just no firmware to run it.
You could try writing to Befaco support and see what they can offer you. I think theyâre waiting for chips availability to make a new batch of Xibeca boards, but might have some spares. Or you might send them your board to flash the firmware.
Note that even without DFU you can flash it after soldering another connector (youâve probably noticed those 2x5 pads for it). Youâll also need ST-Link v3 mini
programmer if youâll want to do it yourself (costs within $10-15 typically).
Hi Antisvin,
I tried contacting Befaco, unfortunately the only answer I received is âbuy a happy ending kitâ.
Xibeca boards are not available separately.
I would like to try the ST-Link way, do you have any resources on how to flash the firmware from it?
Thanks in advance!
Well if itâs a DIY build and youâve also noticed some problem with LEDs, maybe their âhappy endingâ would make sense.
Either way, for flashing firmware without DFU you would need:
Iâve confirmed that Xibeca can get flashed this way. The debug header is SMT, but not too hard to solder as long as you have a decent iron with a small tip and understand what youâre doing. Itâs soldered to âJ1â header on board.
Iâll explain remaining steps if you end up with all of the above, but itâs a matter of running openocd with correct config file and parameters.
hank you, Antisvin.
I know that the Happy Ending Kit is a good solution (and the prices for the EU are actually fair). However, I donât really care about this module. Instead, I care about learning new things. Thatâs why I would like to go down this path regardless of the possible outcome.
Thank you for sharing your knowledge. Iâll reach out again once I get the ST-link.
Hi Antisvin,
I hope you are doing well.
I have finally got the ST-Link V3MINIE. In the meantime, I was able to solder the connector onto the Xibeca board and install OpenOCD.
I am looking forward to make the next steps!
Hey @tetraechos
Ok, hopefully weâll finally manage to get this working. Hereâs a rough outline of how Iâve flashed it (writing from memory, could be missing something):
The programmerâs header has 10 pins, but the cable has 14. So it should be centered and youâll have 2 unconnected pins on each side. Connect it so that the red cable strip is on the side where Xibeca board has a dot near the header. On the programmerâs side it would be near the âCN5â label if your programmer is the same as mine. It wonât burn if you connect it upside down, just turn it around on one end if you suspect that it might not be connected correctly.
IIRC, I didnât power it from eurorack, but rather from its microUSB port. It might work either way, but this is safer
Looks like thereâs no config file for Xibeca in OWL repo, Iâve used the following based on something that was done in another project:
source [find interface/stlink.cfg]
transport select hla_swd
set WORKAREASIZE 0x1c000
source [find target/stm32h7x.cfg]
set _TARGETNAME $_CHIPNAME.cpu0
reset_config srst_only
openocd -f /path/to/xibeca.cfg -c "program /path/to/ACDC.bin verify reset exit"
This was done on Linux, but in theory itâs supposed to work on Mac/Windows too. If youâll run into some issues, you could try this alternative to openocd - STM32CubeProg - STM32CubeProgrammer software for all STM32 - STMicroelectronics . Youâll have to figure out how it works yourself, but I think someone on this forum already used it for flashing other OWL boards.
If you say that youâre mostly exploring things, you could use ST-Link to explore firmware and learn how microcontrollers work. Not sure if you had this sort of hacking in mind by âlearning new thingsâ.
Hi Antisvin,
Hope you are doing good, Iâve finally got the time to try this.
Iâm receiving this error:
openocd -f /Users/Mac/Desktop/xibeca.cfg -c âprogram /Users/Mac/Desktop/ACDC.bin verify reset exitâ
Open On-Chip Debugger 0.12.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : clock speed 1800 kHz
Info : STLINK V3J8M3 (API v3) VID:PID 0483:3754
Info : Target voltage: 3.301401
Info : [stm32h7x.cpu0] Cortex-M7 r1p1 processor detected
Info : [stm32h7x.cpu0] target has 8 breakpoints, 4 watchpoints
Error: read_memory: read at 0x5c001004 with width=32 and count=1 failed
Error executing event examine-end on target stm32h7x.cpu0:
/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfg:237: Error: read_memory: failed to read memory
in procedure âprogramâ
in procedure âstm32h7x_dbgmcu_mmwâ called at file â/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfgâ, line 170
in procedure âstm32h7x_mmwâ called at file â/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfgâ, line 260
in procedure âstm32h7x_mrwâ called at file â/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfgâ, line 242
at file â/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfgâ, line 237
Info : starting gdb server for stm32h7x.cpu0 on 3333
Info : Listening on port 3333 for gdb connections
Error: read_memory: read at 0x5c001004 with width=32 and count=1 failed
Error executing event examine-end on target stm32h7x.cpu0:
/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfg:237: Error: read_memory: failed to read memory
in procedure âprogramâ
in procedure âocd_process_resetâ
in procedure âocd_process_reset_innerâ called at file âembedded:startup.tclâ, line 1193
in procedure âstm32h7x_dbgmcu_mmwâ called at file â/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfgâ, line 170
in procedure âstm32h7x_mmwâ called at file â/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfgâ, line 260
in procedure âstm32h7x_mrwâ called at file â/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfgâ, line 242
at file â/opt/homebrew/Cellar/open-ocd/0.12.0/bin/âŚ/share/openocd/scripts/target/stm32h7x.cfgâ, line 237
Error: timed out while waiting for target halted
** Unable to reset target **
shutdown command invoked
Well Iâm away from my hardware until the end of the month, so right now canât confirm if latest openocd works. Just in case, you might try flashing it with default ST-link config by running it like openocd -f interface/stlink.cfg -f target/stm32h7x.cfg -c "program /path/to/ACDC.bin verify reset exit"
I was using a slightly older version of openocd and likely older ST-link hardware, not sure if any incompatibility should be expected from that.
I did find a report of the same error, but happening after flashing the program - https://www.openstm32.org/forumthread7683 . It looked like a bug in openocd, but editing one of its internal config files is not that great as a solution.
If you want to try something else, maybe ST flashing utility would work instead of openocd - STM32CubeProg - STM32CubeProgrammer software for all STM32 - STMicroelectronics .
Alternatively there are open source st-link utilities that can be used instead. Iâve used them in the past for simple reading/writing flash when no debugging was necessary.
Hi @antisvin,
Thanks for getting back to me. I hope youâre doing well.
In the meanwhile iâve updated the ST-link firmware and tried the command line you suggested, but unfortunately, it still doesnât seem to be working.
"
openocd -f interface/stlink.cfg -f target/stm32h7x.cfg -c âprogram /Users/Mac/Desktop/ACDC.bin verify reset exitâ
Open On-Chip Debugger 0.12.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport âhla_swdâ. To override use 'transport select '.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 1800 kHz
Info : STLINK V3J10M3 (API v3) VID:PID 0483:3754
Info : Target voltage: 0.914209
Error: target voltage may be too low for reliable debugging
Error: init mode failed (unable to connect to the target)
in procedure âprogramâ
** OpenOCD init failed **
shutdown command invoked
"
Using STM32CubeProgrammer I have the following error: âNo STM32 target found if your product embeds Debug Authentication, please perform a discovery using Debug Authenticationâ
Iâm not sure if itâs useful:
Powering the Xibeca Board over USB = 0.00 V detected from ST-Link
Powering the Xibeca Board over Eurorack PSU = 0.86 V detected from ST-Link
Both Openocd and Cube are not able to reach the target, what am I doing wrong?
Thank you for helping me!
Yeah, all is well, Iâm on vacation actually (sort of).
Hmm, well previously it showed proper 3.3 voltage, Iâm not sure why this happens. Is it the same if you use previous config or is that due to new firmware on ST-Link? I suspect that now openocd/cube programmer donât see it because thereâs some problem with power. If itâs software related, this should be reversible. But it could be some problem in DIY build or just an upside down ST-link cable on one end.
Also, make sure to disconnect USB cable from ACDC device port when you use the programmer - in some hardware setups 2 USB connections gave me weird problems in such situation in the past, probably some kind of ground loop.
Hi Antisvin,
Hope you are enjoying your vacation time!
Voltages dropped after my first attempt of flashing with Openocd (shown in my message from yesterday), every other attempt had V reading between 0.3 and 0.91
The config file is the same as before.
Iâve tried to reverse the cable but then the V readings started to be even more incoherent, so I assume the cable was connected properly (red stripe facing the white O).