Help with gdb load flash to STM32

Hi there, sorry if this is not the right place for this and you will have to excuse me; I am an absolute beginner here. I am working through the rust-embedded/discover book and have come across a stumbling block. I am in the gbd terminal (via arm-none-eabi-gdb) and have checked that my pwd is "/src/05-led-roulette" but when I go to

target remote :3333
my openocd console does log

Info : accepting 'gdb' connection on tcp/3333 but doesnt log the device id or flash size and when I go to use the "load" command it just logs
Start address 0x0, load size 0 Transfer rate: 0 bits in <1 sec., I have even tried explicitely passing the filename as
/src/05-led-roulette/target/thumbv7em-none-eabi/debug/led-roulette but still no luck. Is there anything obvious I am missing?

Load size zero is suspicious, and so is the base address of zero, which is wrong for stm32. Make sure you're giving the path to the elf binary as a command line argument to gdb. It's possible this is a build issue, can you run

$ arm-none-eabi-size path/to/your/binary

And post the results?

text data bss dec hex filename 0 0 0 0 0 src/05-led-roulette/target/thumbv7em-none-eabi/debug/led-roulette I am not calling this from within the active directory.

I used the tutorial to set up my environment. It seems that I accidentally skipped some steps (in the "Build it" section) which caused the binary size reported by arm-none-eabi-size to be 0.
Also it seems that using xargo instead of cargo doesn't work for some reason.

Skipped steps:
rustup component add llvm-tools-preview
rustup target add thumbv7em-none-eabihf

Build command i'm using for compiling library example (in this case gpio):
cargo build --target thumbv7em-none-eabihf --example gpio