2022-08-04 12:37 PM
I am following this video: https://www.youtube.com/watch?v=aqSNz26Cuio&t=35s
Hardware:
Software:
The board used in the video is different but all the settings are also present in my STM32L432 board.
My .ioc pinout view looks like this:
Note: In video, the SPI1_SCK has been automatically given to PA5, but for my board it was shown as PA1, hence have made the connections accordingly.
FatFS enabled:
SPI1 enabled:
After following the video, My build is complete with no errors. Then I make the hardware connections for my board like this:
(Please excuse the microSD card not inserted in the slot)
When I am running the file to download the code to board, I am changing the run config file as shown in the video: changing the debug probe to OpenOCD (I don't know much about what this does) and changing the Reset mode to Software System Reset.
So when I click on Run, I get the following error:
Open On-Chip Debugger 0.11.0+dev-00449-g53fa0f7 (2022-06-09-09:42) [https://github.com/STMicroelectronics/OpenOCD]
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : STLINK V2J40M27 (API v2) VID:PID 0483:374B
Info : Target voltage: 3.265263
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : clock speed 4000 kHz
Info : stlink_dap_op_connect(connect)
Info : SWD DPIDR 0x2ba01477
Info : STM32L432KCUx.cpu: Cortex-M4 r0p1 processor detected
Info : STM32L432KCUx.cpu: target has 6 breakpoints, 4 watchpoints
Info : starting gdb server for STM32L432KCUx.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : accepting 'gdb' connection on tcp/3333
Info : device idcode = 0x10016435 (STM32L43/L44xx - Rev Z : 0x1001)
Info : RDP level 0 (0xAA)
Info : flash size = 256kbytes
Info : flash mode : single-bank
Warn : GDB connection 1 on target STM32L432KCUx.cpu not halted
undefined debug reason 8 - target needs reset
Info : accepting 'gdb' connection on tcp/3333
Warn : GDB connection 2 on target STM32L432KCUx.cpu not halted
undefined debug reason 8 - target needs reset
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000e9c msp: 0x20010000
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Padding image section 0 at 0x08006304 with 4 bytes (bank write end alignment)
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000e9c msp: 0x20010000
Info : dropped 'gdb' connection
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x08000fc4 msp: 0x2000ffdc
shutdown command invoked
Info : dropped 'gdb' connection
When I run using the default setting in Run Config; which is debug probe set to ST-LINK (ST-LINK GDB server), I get no errors while downloading to board, but I don't see any file written on to the SD card. Attaching the console log of the same below:
STMicroelectronics ST-LINK GDB server. Version 7.0.0
Copyright (c) 2022, STMicroelectronics. All rights reserved.
Starting server with the following options:
Persistent Mode : Disabled
Logging Level : 1
Listen Port Number : 61234
Status Refresh Delay : 15s
Verbose Mode : Disabled
SWD Debug : Enabled
InitWhile : Enabled
Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
-------------------------------------------------------------------
STM32CubeProgrammer v2.11.0
-------------------------------------------------------------------
Log output file: C:\Users\RSL\AppData\Local\Temp\STM32CubeProgrammer_a17636.log
ST-LINK SN : 066BFF525649898367212344
ST-LINK FW : V2J40M27
Board : NUCLEO-L432KC
Voltage : 3.27V
SWD freq : 4000 KHz
Connect mode: Under Reset
Reset mode : Hardware reset
Device ID : 0x435
Revision ID : Rev Z
Device name : STM32L43xxx/STM32L44xxx
Flash size : 256 KBytes
Device type : MCU
Device CPU : Cortex-M4
BL Version : --
Memory Programming ...
Opening and parsing file: ST-LINK_GDB_server_a17636.srec
File : ST-LINK_GDB_server_a17636.srec
Size : 24.75 KB
Address : 0x08000000
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 12]
Download in Progress:
File download complete
Time elapsed during download operation: 00:00:00.960
Verifying ...
Download verified successfully
Shutting down...
Exit.
I am fairly new to the whole STM32 environment.
I just want to make this STM32L432 + SPI + microSDcard thing working.
Any help is appreciated. Thank you.
Solved! Go to Solution.
2022-08-04 01:09 PM
SD Cards would want 512-byte sectors.
I don't use CubeMX/IDE to code.
There should be mostly working code for SPI + FATFS here
STM32Cube_FW_L4_V1.14.0\Drivers\BSP\Adafruit_Shield\stm32_adafruit_sd.c
There were some bugs with the multi-sector support that I've addressed previously on the forum, but good luck finding them, search here is an abomination..
2022-08-04 01:09 PM
SD Cards would want 512-byte sectors.
I don't use CubeMX/IDE to code.
There should be mostly working code for SPI + FATFS here
STM32Cube_FW_L4_V1.14.0\Drivers\BSP\Adafruit_Shield\stm32_adafruit_sd.c
There were some bugs with the multi-sector support that I've addressed previously on the forum, but good luck finding them, search here is an abomination..
2022-08-10 11:53 AM
Thank you very much for the solution. I am looking at the library you just mentioned past couple of days. Will keep working on it.
Let's see. Thank you again.