Search Results

Search results 1-20 of 42.

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Thanks! Now I have almost all the parts for the BLE bootloader debug, just can't figure out how to both enable ETM and also monitor mode from jdebug/jlinkscript. Since Project.SetJLinkScript can be used only once (i.e. the last used parameter is executed), I don't know how to both execute the PEX and also setting monitor mode commands. Since PEX is compiled, I can't just copy/paste the code into single jlinkscript. There is also no include in jlinkscript syntax or a way to chain them. And jlinks…

  • OK I've found out where the confusion came from. I used my own jdebug file instead of the provided jdebug file, which has the magic invocation Source Code (6 lines) Do I understand correctly though that adding this PEX file to other nrf52840 projects where I want ETM trace to work will also initialize ETM trace pins? As far as I could test it on some examples, I guess the answer is yes, but just checking. BTW the reason my jdebug file without the PEX include did work was because if you first run…

  • Hi, I was able to make ETM trace for nRF52840 work (from wiki.segger.com/nRF52_Series_Devices#Tracing_on_nRF52840). Thanks for the example and documentation. However, if you don't use SES, you can't enable the ETM trace (I'm not sure why now, for STM32 it works flawlessly in Ozone). SES calls "OnTraceStart" which I guess writes something to registers (I used to do this manually, but it was tedious; I really don't wish to sniff it via logic sniffer). I'd hope that like monitor mode, you can call …

  • The answer will look weird, but I had either to completely disable optimizations, or to enable max "high" optimization in EWARM. But nothing in-between. (With disabled optimization the ST bluetooth chip wouldn't work for some commands, it would report command of zero length for "OpenSession" command, other went through OK). So in the end I went for the "high" optimization, which was a bit PITA (many variables optimized out), but I got IV, key, plaintext, ciphertext that was relevant for the case…

  • Thanks for reply. I had set up a shared folder between host and VM, so that Ozone will always ask you if you want to reload the ELF once it changes. The fix or workaround was changing optimization settings in IAR EWARM (I checked the DWARF version and it says 4).

  • I have a project that needs to be built on IAR EW for ARM and try to debug it from Linux. I can see all symbols in the resulting ELF, however I can't break on "main symbols", IAR creates bunch of partial symbols, including "main symbols". E.g. there is method/function SPCmd::HandleCmdData, but the code never breaks on it. I have to add all extra breakpoints on symbols weirdly named HandleCmdData_xx (where xx is 0 to 23). This includes lots of flash breakpoints. And it applies to all of the other…

  • We plan on writing parts of nRF52 firmware in C + Rust. One issue with nRF52 is that it needs monitor mode so that chip doesn't crash on breakpoint if BLE is enabled - wiki.segger.com/nRF52_Series_D…Debugging_on_Nordic_nRF52 But Ozone doesn't fully support Rust (latest 3.28b) - i.e. it can see symbols, you can break on them, you see structures, but without values. It has a workaround that you add watch to a specific location in memory and cast it to some type, but it's fairly impractical. CLion …

  • Is it somehow possible to turn on ETM trace while STM32F4xx is running in bootROM? So far I wasn't much successful. I don't know if it's due timing (correct frequency) or that MCU uses internal HSI oscillator by default. ETM in "normal" programs is no problem, but we would need to investigate an attack where ETM trace of bootROM would really help.

  • Thought I caught it in action wihout exceeding the 4-6 HW breakpoints as shown here: forum.segger.com/index.php/Att…9a27a4723b36ddcaad0f55f36 Thus after fimware reload, will somehow not correctly map the breakpoints (of which there were only 2), but starts using flash breakpoints. Could we have a setting dialog like "do you want to reaload firmware now? yes,no,always, never." and make it "You are now setting flash breakpoints". ACK for future/ ask every time, do not, never". Last part is importa…

  • Thanks! You were right, I guess I didn't expect this behavior since GDB+openocd+other JTAG/SWD adapters will just slow your program by having to check for breakpoints after exhausting number of HW breakpoints, but it's implemented differently in GDB+openocd compared to Ozone/JLink libraries. Though I have to ask, why does the reflash happen before disconnect as well? To restore the original program state?

  • OK, interesting idea, but it would make sense if a function is inline that it will set more than one breakpoint, but I will have to test that. Both of those ARMs ahve either 4 or 6 HW breakpoints. Does "Type=Flash" or "Type=Mixed" mean it's setting the those flash breakpoints?

  • I encountered this bug before but wasn't able to reproduce reliably until today. The bug is that if you put a breakpoint in a place that is somehow special (not sure if it's because of inlining or macros), then after almost each pressing of "continue", there will appear the "Reflashing" window and will reflash numerous times the ELF. Even if you press the "disconnect" (end session) button, it will first reflash MCU several times before disconnecting. Example of such breakpoint can be seen on thi…

  • I've had my notebook and lot of eletronics stolen (f*cking lockdown), fortunately not JTrace and the special devboards. But I'd like to thank the Segger team especially for: - reinstall of Jlink tools, libraries, Ozone, etc. is easy (provided that udev rules are met - Ubuntu Linux 20.04 LTS) - there is a prompt whether to update JTrace firmware which really helps that you know whether and when you are updating - getting all the tools to work again was almost a breeze So thanks guys. I'll add an …

  • I think I solved it, adding: Source Code (32 lines)I have no idea why I can't indent the code or remove the comments, but it just works this way ¯\_(ツ)_/¯

  • For some time I've been using this to correctly reset device to "boardloader" (first execution stage, we have two additional, bootloader and firmware, each in separate ELF file): Source Code (17 lines) It worked quite well, though for some reason it doesn't anymore (currently Ozone 3.20c). The code jumps at the right address, but it gets stuck on TRNG initialization (STM32F427VI). However when resetting from JLinkExe via SYSRESETREQ & VECTRESET bit (or GDB connected to JLink GDB server), it alwa…

  • Quote from SEGGER - Alex: “You have the possibility to downgrade (see UM08001 which explains how to do it). However, in your case, it looks like something inhibits further FW replacement (no matter if a new or an old FW shall be flashed). So even your “recommendation for the future” would not solve anything here. ” Currently the FW stopped at "Firmware: J-Trace PRO V2 Cortex-M compiled Feb 2 2021 16:39:38" which I'd guess is relatively very recent. What would prevent other FW replacement, includ…

  • Yes, it seems that reflashing loop stopped. However for future it would be best if it was possible to flash a specific version of firmware (from JLink Commander for example, from a FW image file). Forced upgrade without possibility of downgrade is always gamble.

  • I noticed this message at least 3 times this week: Source Code (8 lines) Also I have no idea what causes it, is it Ozone, JLink Commander or something else? Nevertheless there was never any confirmation. The firmware I bought it with worked fine, but the intermediate upgrades had some weird bugs, which are hard to report if it randomly upgrades and disconnects at random moments (like in the middle of trace). Currently it stopped at "Firmware: J-Trace PRO V2 Cortex-M compiled Nov 12 2020 10:10:59…

  • You need to install jlink dependency. Instead of having it installed as system-wide dependency, you can download and extract the tar.gz version and use LD_LIBRARY_PATH. E.g. install jlink libraries system-wide and install STM32Cube to a local directory BTW your first post mentions you are missing the Qt4 dependency. So you first need to install Qt4 libraries first. In older Ubuntus it used to be like: "sudo apt-get install -y qt4-default" But 20.04 removed Qt4 libraries, so you need to install t…

  • Here we have schematics and board layout in Eagle: github.com/trezor/trezor-hardw…lectronics/trezor_model_t