<Guest7132>
Hello all. I'm trying openocd on Microchip SAME54 XPLAINED PRO devboard. The problem is that when I secure the chip (e.g. from inside or from Microchip Studio), I cannot issue atsame5 chip-erase command. openocd requires "init" before it, and init says: "Error connecting DP: cannot read IDR". Is this command supposed to work? Unsecured chip is
<Guest7132>
erased just fine.
<Haohmaru>
i use SAME54 on a custom board, no microsh*t tools tho, and i haven't used these "security" options
<Haohmaru>
flashing/debugging worked fine with gdb-multiarch/openocd/code::blocks
<Haohmaru>
i assume you mean some of the "code protection" fuses/features?
<Guest7132>
according to datasheet there is such a thing as "Security bit" which blocks debugger access, it can be set from the firmware for example with the following code:
<Guest7132>
to unlock the access (erasing all the flash on the way) one needs to execute certain sequence on SWD interface. I'm trying to figure out is openocd capable of doing this.
<Haohmaru>
"The only way to clear the security bit is through a debugger Chip Erase command. The NVM security bit is cleared after all internal volatile and NVM have been cleared. The device protection status is updated at the end of the command meaning that no reset is necessary"
<PaulFertser>
Fleck: not sure, I think there's no need.
<Haohmaru>
Guest7132 what kind of error messages are you getting if you just try to "erase the chip" ?
<Haohmaru>
and, perhaps if you can try, does this scenario work via microsh*t's tools (erasing the secured chip)?
<Guest7132>
I'm getting the error that this command requires "init" before it, but issuing "init" gives "Error connecting DP: cannot read IDR".
<Guest7132>
Secured chip erase works with Microchip studio and with JLink utils from Segger (if I connect JLink to swd header).
<Haohmaru>
okay, so then it *should* work
<Haohmaru>
i can't seem to find such an error message within that file
<Guest7132>
this is an error message from init command
<Guest7132>
chip-erase is registered as COMMAND_EXEC at the end of this file, therefore openocd refuses to execute it without being inited first.
<Haohmaru>
not sure what the meaning of that is
<Haohmaru>
perhaps wait till the others wake up
<Guest7132>
I tried to change it to COMMAND_ANY and issue it without init and then I got another error something like it is not initialized.
<PaulFertser>
Guest7132: probably you can connect when reset is pulled low?
<Haohmaru>
it's possible that the same5x implementation in openocd doesn't have anything for this specific scenario (yet)
<Haohmaru>
PaulFertser by who?
<PaulFertser>
Haohmaru: doesn't matter
<Haohmaru>
i'd think only the debugger should control the reset
<Haohmaru>
or do you mean, instructing the debugger (via openocd) to pull the reset low..?
<PaulFertser>
Reset is normally open drain controlled, so it can be multiple sources, including the debug adapter.
<Haohmaru>
hm, open drain, meaning everybody only ever drive low but no high?
<Haohmaru>
i've had the impression (out of.. nowhere specifically) that some tools may drive the reset signal high as well as low
<Haohmaru>
so i've always tried to be careful with what other stuff i put on the reset, to not fry the programmer/debugger
<Haohmaru>
or maybe that's not done on arm?
<Haohmaru>
iirc dumb PICs had high-ish voltages on the RESET pin
<Guest7132>
PaulFertser, if i pull reset low during starting openocd erase script security bit is cleared just fine.
<Haohmaru>
meaning.. it works?
<PaulFertser>
Guest7132: so you can try "reset_config srst_only connect_assert_srst" to ask OpenOCD to do that.
<Haohmaru>
kewl
<Guest7132>
Yep, this way it works. Thanks.
<olerem>
borneoa_: hi, ho do we proceed with the vdebug driver? it is reworked and not so bad as the first version. Do you see any reason to block it?
<PaulFertser>
indy: ping
<borneoa_>
olerem: I had no time to check its evolution. Wish I can have a look in this week. By the way, thanks for tracking it and for this ping
<indy>
PaulFertser, pong
<indy>
PaulFertser, i can't login with ssh key
<indy>
like i can with old one
<olerem>
borneoa_: i would split it to driver and configs. The most importand part the user configuration interface seems to be ok. I'm not really motivated to spend a lot of time on it
<indy>
PaulFertser, and i can't login to webui with my linked accounts (github)
<PaulFertser>
indy: hm, you're the first to complain. Let's start checking. I'll take a look at the logs first.
<PaulFertser>
indy: can't see anything yet. I see you have plenty of methods to log in: several openid including launchpad.
<PaulFertser>
indy: please try logging in now.
<PaulFertser>
indy: regarding the ssh key, I can check it separately.
<indy>
PaulFertser, oops, i'm in :)
<indy>
PaulFertser, ssh access problem still valid
<indy>
PaulFertser, ssh working - forgot to update .ssh/config :)
<PaulFertser>
indy: cool :) I know there's a problem with old ciphers, Fedora disabled them so either use ed25519 or enable back the deprecated ciphers.
<PaulFertser>
indy: any feedback on the new system is welcome
tarekb has joined #openocd
tarekb has quit [Read error: Connection reset by peer]
akaWolf has quit [Ping timeout: 248 seconds]
akaWolf has joined #openocd
Guest7132 has quit [Ping timeout: 256 seconds]
emeb has joined #openocd
tarekb has joined #openocd
tarekb has quit [Read error: Connection reset by peer]
Haohmaru has quit []
Hawk777 has joined #openocd
<borneoa_>
PaulFertser: tested the new improvement in gerrit. Looks great. Thanks
zjason has quit [Read error: Connection reset by peer]
zjason has joined #openocd
cp- has quit [Read error: Connection reset by peer]
<marex>
Hi, I tried to use OpenOCD to recover my arm64 board recently, but it seems I cannot do it unless I can access SCTLR register to disable cache
<marex>
I then realized that I submitted a patch half a year ago implementing that functionality ... which has not even been reviewed so far
<borneoa_>
marex: went lost... Too many new changes in gerrit recently.
<borneoa_>
PaulFertser: the merge conflicts list looks incorrect. E.g. change 6508 just fixes a typo in a single comment line. gerrit reports 13 conflicts, but at least the top 3 do not change that line. Can you share again the modification at JS?