Skip to main content
Axey Endres
Associate
November 1, 2017
Solved

Communication between SWD and FSMC

  • November 1, 2017
  • 5 replies
  • 1426 views
Posted on November 01, 2017 at 20:58

Hello!

I'm designing a board with a STM32F2 series MCU and i was using JTAG as programming/debug interface, but now it's becoming out of pins and have no more free space in the PCB, the only option I have is to remove those heavy 20-pin JTAG header use Serial Wire.

I have searched a lot on Google and on ST's documents and didn't found anything about how i can program my external NAND attached to FSMC using SWD interface. I've found that -->JTAG<-- supports it, but nothing about SWD.

In my project, i need to have some files inside the nand(obvious using a filesystem). Do I need to write a USB Mass Storage driver to send files there or can it be done using SWD interface? Or can I only manipulate data at bytes/words level?

Thanks,

Axey Gabriel M�ller Endres

#fsmc #nand #swd #jtag #programming
This topic has been closed for replies.
Best answer by waclawek.jan
Posted on November 02, 2017 at 09:19

The

http://www.st.com/en/development-tools/stsw-link004.html

supports a method to program externally connected memories through a short program in the mcu itself, downloaded seamlessly by the Utility when needed. There are examples in STLink Utility's directory; if you're lucky your memory is already supported, if you're not, you need to modify and compile one of the examples.

JW

5 replies

L .Z
Visitor II
November 2, 2017
Posted on November 02, 2017 at 08:46

I think you can write the program separately to write nand , then you can use the UART to transmit data that needs to be written.

waclawek.jan
waclawek.janBest answer
Super User
November 2, 2017
Posted on November 02, 2017 at 09:19

The

http://www.st.com/en/development-tools/stsw-link004.html

supports a method to program externally connected memories through a short program in the mcu itself, downloaded seamlessly by the Utility when needed. There are examples in STLink Utility's directory; if you're lucky your memory is already supported, if you're not, you need to modify and compile one of the examples.

JW

Axey Endres
Associate
November 3, 2017
Posted on November 03, 2017 at 02:47

I will take a look at it, you have saved my day.

Many thanks, waclawek.jan.

S.Ma
Principal
November 2, 2017
Posted on November 02, 2017 at 10:07

SWD coexist in the same JTAG connector. Why not keep JTAG connector to program the flash and use SWD (2 pins) connected to the STM32 to debug and program it?

If you use TAG Connect PCD footprint, you could have one for programming the flash and one for SWD on the STM32. (only pcb footprint needed, no connector cost)

ST Link programming of external memory is board and pinout dependent: It's like running a flasher code in user RAM STM32 space, get bytes and push out to the memory.... this requires modification for custom boards.

Axey Endres
Associate
November 3, 2017
Posted on November 03, 2017 at 02:41

That's a good idea,

But unfortunately my nand doesn't support JTAG..(May i have to consider finding another one)

Anyway, many thanks, i liked the idea to run a flasher in RAM