I have a development board for an STM32F2 (reference manual for the development board available here). I would like to solder on this SPI Flash chip on it.

Can I use any GPIO pin that I'm not currently using? (E.g. the LCD pins.) In terms of hardware, how should I prepare the pins I choose?

For example, page 22 of the reference manual says that "to disconnect with function block" pin PC14 I need to "remove R84". What does "disconnect with function block" mean? How should I remove resistors from the board? (Those are not detachable like the jumpers.)

  • \$\begingroup\$ 1) But, is there an empty space in the PCB of that dev board where you can solder a flash IC? 2) Which flash IC do you want to solder? 3) Why don't you use a MicroSD card? \$\endgroup\$
    – Telaclavo
    May 10 '12 at 10:31
  • \$\begingroup\$ 1) Can I not have the flash IC "hanging"? 2) This is the flash IC. 3) I want to test the flash IC with my board. \$\endgroup\$
    – Randomblue
    May 10 '12 at 10:38
  • \$\begingroup\$ It's probably not a good idea to leave it hanging, and not that practical also...you could think about using a connector, though \$\endgroup\$
    – clabacchio
    May 10 '12 at 11:30
  • \$\begingroup\$ Are you trying to develop a driver for that SPI Flash chip with this processor, or trying to add permanent storage to your dev board? If the latter, I suggest using the SD card, I2C EEPROM, or onboard Flash (depending on the use case) and abandoning adding a Flash chip. \$\endgroup\$ May 10 '12 at 13:46
  • \$\begingroup\$ @KevinVermeer: Trying to develop a driver, and develop a test-bench. \$\endgroup\$
    – Randomblue
    May 10 '12 at 14:35

A complete answer to this question would be quite long. I'll give you some guidelines.

  • Your serial flash may work under the SPI protocol. Most MCUs (including the one in your dev board) include hardware modules to communicate using SPI. If you use SPI to test your serial flash, you'll be able to benefit from the advantages that those modules provide: speed + robustness + less code to do the same + lower MCU utilization.
  • The MCU in your dev board is an STM32F207IGH6, with UFBGA176 package. The datasheet for it, in pages 40 to 51, states correspondence between peripheral signals and pin numbers. The MCU has 3 SPI modules. Each SPI module involves 4 signals (NSS / SCK / MISO / MOSI). At least some subset of the signals of each one of them is already used in your dev board. This means that, to gain complete control of a full SPI bus, you need to remove some parts (like resistors), or open jumpers, in your dev board. Just because of this, and if the purpose is just to test serial flashes, I would recommend you to use another dev board. There are plenty that give you access to complete SPI buses.
  • For instance, SPI1 is mapped to pins PA4, PA5, PA6 and PA7. Those are available at connector CN2 of your dev board. However, those signals are already used by some functionalities, in your dev board. If you want that SPI1 bus to connect your serial flash to the MCU, and nothing else, you need to remove R115, the camera module, R69, RS2 and open JP8.
  • In the serial flash datasheet, read section "Serial Peripheral Interface Modes" and look at Figures 6 to 8, to see how you need to make the SPI connections. In fact, if you don't know much about SPI, best thing you could do first is to learn about it. It can't be explained in one paragraph.
  • Yes, you can use GPIO pins, instead of an SPI port, but you will need to big-bang the protocol.
  • \$\begingroup\$ Thanks, that was helpful. Do you know what "disconnect with function block" means in the datasheet? \$\endgroup\$
    – Randomblue
    May 11 '12 at 9:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.