FW running on USB FX2 microcontroller This is a piece of real code (FW running on USB FX2 microcontroller) https://github.com/Trenz-Electronic/TE-USB-Suite/blob/master/TE_USB_FX2.firmware/te_usb_api.ver.3.2/te_api.c Lines 207-211 EP1INBUF: read Reply[] from USB FX2 microcontroller to host computer EP1OUTBUF: write Command[] from host computer to USB FX2 microcontroller Scroll Title |
---|
| Flash | Manufacturer ID | Memory Type | Capacity |
---|
M25P32 | 20h - Micron | 20h | 16h | W25Q64FV | EFh - Winbond | 40h | 17h |
|
| case CMD_FLASH_WRITE_COMMAND: EP1INBUF[0] = 0x55; //void spi_command(BYTE CmdLen, unsigned char *CmdData, BYTE RdLen, unsigned char *RdData) spi_command(EP1OUTBUF[1], &EP1OUTBUF[3], EP1OUTBUF[2], &EP1INBUF[1]); new_data = 1; break; /* Command[0] = CMD_FLASH_WRITE_COMMAND; used by TE_USB_FX2_SendCommand () to call "case CMD_FLASH_WRITE_COMMAND" and then spi_command() EP1OUTBUF[1] = CmdLen = Command[1]= CmdLength = 1; // used by spi_command(), MD_SPI_RDID = 0x9F is a single byte EP1OUTBUF[2] = RdLen = Command[2]= ReplyLength = 3; // used by spi_command(), SPI Flash ID should be 3 byte EP1OUTBUF[3] = Command[3] = CMD_SPI_RDID = 0x9F; //used by spi_command() Reply[0] = EP1INBUF[0] = 0x55; Reply[1] = EP1INBUF[1] = 0xEF0x20; // for example Reply[2] = EP1INBUF[2] = 0x400x20; // for example Reply[3] = EP1INBUF[3] = 0x170x16; // for example */ |