ChanServ changed the topic of #rust-embedded to: Welcome to the Rust Embedded IRC channel! Bridged to #rust-embedded:matrix.org and logged at https://libera.irclog.whitequark.org/rust-embedded, code of conduct at https://www.rust-lang.org/conduct.html
sugoi1 has joined #rust-embedded
sugoi has quit [Ping timeout: 276 seconds]
sugoi1 is now known as sugoi
sugoi has quit [Ping timeout: 255 seconds]
dequbed has quit [Ping timeout: 248 seconds]
nadja has joined #rust-embedded
sugoi has joined #rust-embedded
sugoi has quit [Ping timeout: 246 seconds]
takkaryx[m] has quit [Quit: Idle timeout reached: 172800s]
<M0xada3[m]> Has anyone else noticed that probe-rs halts unexpectedly sometimes? For example if I set a breakpoint on main, hit that breakpoint and then try to continue execution, it halts on the next instruction unexpectedly and then another continue will work as expected.
sugoi has joined #rust-embedded
sugoi has quit [Ping timeout: 265 seconds]
juliand[m] has joined #rust-embedded
<juliand[m]> <M0xada3[m]> "Has anyone else noticed that..." <- Maybe some code has been optimized away or you're getting an interrupt?
<juliand[m]> You could also try asking in the probe-rs chat https://matrix.to/#/#probe-rs:matrix.org
sugoi has joined #rust-embedded
sugoi has quit [Ping timeout: 260 seconds]
therealprof[m] has quit [Quit: Idle timeout reached: 172800s]
AtleoS has quit [Quit: AtleoS]
<M0xada3[m]> I am just starting out with the embedded Rust Discovery book for the micro:bit so I am building unoptimized debug builds and the example code itself isn't using interrupts but there is nothing saying that some of the library code being pulled in doesn't use them under the covers. I do have quite a bit of experience with GDB on embedded platforms but with C and C++ and there optimization and interrupts wouldn't lead to the issue I
<M0xada3[m]> described above. Thanks for the pointer to the probe-rs room. I may try there as well.
justacec[m] has joined #rust-embedded
<justacec[m]> Hey everybody! :). I have been trying to understand why the RP chips need the second bootloader. All of the memory.x examples that I can find to support the RP2040 or the RP235X chips seem to carve out space for the rp2040_boot2 package. I thought that the XIP would auto translate to the external chip and therefore your code would be automatically execute as long as it was started at the 0x1000000 position. Am I missing
<justacec[m]> something substantial somewhere in there? Also, associated side question: It seems that the default secondary bootloader is hardcoded to the BOOT_LOADER_W25Q080. Do all QSPI flash chips just support this by default?
<JamesMunns[m]> The rp2040 hardware only boots enough to pull the first 256 bytes off of the flash, in a very slow + compatible way
<JamesMunns[m]> boot2 is a firmware bootloader you provide, which configures the hardware in a way that matches your board, in particular what flash chip you use, which might use different commands (there are a couple common ones, not all chips support all commands), and things like how fast of a speed does your flash chip support
<justacec[m]> Ok
<JamesMunns[m]> there are a couple of "stock" ones, which cover *most* common flash parts out there. You could write your own, but the job of boot2 is to set up the rp2040 enough so that it can talk to whatever flash chip you chose, so that you can then get to running your specific firmware
<justacec[m]> I will continue digging through the boot process in the datasheet
<justacec[m]> I am assuming that the 2040 boot2 will work on the 2350 chips
* justacec[m] chin scratching
<JamesMunns[m]> yeah, the rough overview is something like:... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/jIfhesTpJQciNibzNbmUZMZi>)
<JamesMunns[m]> justacec[m]: that I have no idea about.
<JamesMunns[m]> You can also ask in #rp-rs:matrix.org, but I think most folks there also hang out here :)
<justacec[m]> Thanks for the info.
Artea has left #rust-embedded [#rust-embedded]
<justacec[m]> I will try to focus my RP questions to that channel in future.
GrantM11235[m] has joined #rust-embedded
<GrantM11235[m]> The 2350 bootloader is more complex, I don't think it uses a boot2
<JamesMunns[m]> yeah, all my comments above are specific to the RP2040, I'm not familiar with the 2350 family yet, it has a lot more options for booting, and a chunk of "one time write" burnable code you can use for a bootloader
<GrantM11235[m]> You need special headers in your binary, with optional signatures and partitioning
<justacec[m]> Cool. thanks again everybody. I will keep digging through the datasheet
MurrayToddWillia has joined #rust-embedded
<MurrayToddWillia> <justacec[m]> "I am assuming that the 2040 boot..." <- Refer to thejpster 's [blog entry](https://thejpster.org.uk/blog/blog-2024-08-08/) about the rp235x boot process. It's definitely different.
dodothattried[m] has quit [Quit: Idle timeout reached: 172800s]
M9names[m] has quit [Quit: Idle timeout reached: 172800s]
d3zd3z[m] has quit [Quit: Idle timeout reached: 172800s]
jakzale has quit [Ping timeout: 252 seconds]
Artea has joined #rust-embedded
jakzale has joined #rust-embedded
sugoi has joined #rust-embedded
sugoi has quit [Ping timeout: 252 seconds]
Artea has left #rust-embedded [#rust-embedded]
mabez[m] has quit [Quit: Idle timeout reached: 172800s]
sugoi has joined #rust-embedded
sugoi has quit [Ping timeout: 260 seconds]
balbi[m] has quit [Quit: Idle timeout reached: 172800s]
sugoi has joined #rust-embedded
BentoMon has quit [Remote host closed the connection]
BentoMon has joined #rust-embedded
<JamesMunns[m]> <thejpster[m]1> "Hi five on https://github.com/..."; <- high fived!
TomB[m] has quit [Quit: Idle timeout reached: 172800s]
jonored[m] has quit [Quit: Idle timeout reached: 172800s]
<thejpster[m]1> thanks
<thejpster[m]1> I'll prepare a 0.7.1 with the fix (I'm sat in the hotel lobby)
<thejpster[m]1> wait, no, semver-checks says I need to make it 0.8.0
<JamesMunns[m]> <thejpster[m]1> "https://github.com/rust-embedded..."; <- +1'd
<thejpster[m]1> ah, hmm, clippy is having opinions again
<thejpster[m]1> done
sugoi1 has joined #rust-embedded
sugoi has quit [Ping timeout: 246 seconds]
sugoi1 is now known as sugoi
sugoi1 has joined #rust-embedded
sugoi has quit [Ping timeout: 252 seconds]
sugoi1 is now known as sugoi
sugoi has quit [Ping timeout: 260 seconds]
sugoi has joined #rust-embedded