Serial Peripheral Interface: Difference between revisions

Content deleted Content added
Adding CH341A/B as additional example and mention/link to open source tools flashrom, IMSProg and SNANDer
I forgot to mention avrdude for Atmel flash and EEPROM programming +short BIOS mention
Line 352:
 
=== USB to SPI adapters ===
There are a number of [[USB]] adapters that allow a desktop [[Personal computer|PC]] or [[smartphone]] with [[USB]] to communicate with SPI chips (e.g. CH341A/B<ref>{{cite web |title=USB Bridge Controller CH341 with UART, SPI and I2C | url=https://wch-ic.com/products/CH341.html |access-date=27 February 2025 |website=WCH}}</ref> based or [[FTDI|FT]]221xs<ref>{{cite web |title=USB to SPI converter |url=https://ftdichip.com/products/ft221xs/ |access-date=14 February 2021 |website=FTDI|date=2 August 2020 }}</ref>). They are used for embedded systems, chips ([[FPGA]], [[Application-specific integrated circuit|ASIC]], and [[System on a chip|SoC]]) and peripheral testing, programming and debugging. Many of them also provide scripting or programming capabilities (e.g. [[Visual Basic]], [[C (programming language)|C]]/[[C++]], [[VHDL]]) and can be used with open source programs like [[Flashrom_(utility)|flashrom]], IMSProg, SNANDer or SNANDeravrdude for [[Flash_memory|flash]], [[EEPROM]], [[Bootloader|bootloader]] and [[BIOS]] programming.
 
The key SPI parameters are: the maximum supported frequency for the serial interface, command-to-command latency, and the maximum length for SPI commands. It is possible to find SPI adapters on the market today that support up to 100&nbsp;MHz serial interfaces, with virtually unlimited access length.