libero PolarFire soc SPI-DirectC 实战 dp_G5M_perform_isc_enable
参考文档: SPI-DirectC User Guide
源码下载:DirectC | Microchip Technology
libero PolarFire soc SPI-DirectC 实战 生成 固件 包含 softconsole 生成 的 HEX 文件
libero PolarFire soc SPI-DirectC .dat 烧录文件解析 - 所长 - 博客园
spi_input_buffer[0] |= (G5M_ALGO_VERSION & 0x3fu); = 0x01
spi_input_buffer[2] |= (G5M_DIRECTC_VERSION & 0x3fu) << 1u;
spi_input_buffer[2] |= (DIRECTC_PROGRAMMING & 0x7u) << 7u; = 0x00
spi_input_buffer[3] |= (DIRECTC_PROGRAMMING & 0x7u) >> 1u;
spi_input_buffer[3] |= 0x28u; = 0x29
spi_command_buffer = G5M_SPI_ISC_ENABLE;
G5M_SPI_SCAN_out(32u,32u);
吐槽:官方写这个代码 太烂了 …… 根本 读不懂 …… 全局变量 满天飞
1、发送 5个字节
分别是 命令 0x0B 和 上面 spi_input_buffer 4个字节 ,对应 01 00 00 29

2、发送 5个字节
分别是 命令 0x01 和 4个字节 缓冲区 ,吐槽: 这个读取 感觉 没啥用 ……

顺便提下 关闭
G5M_SPI_ISC_DISABLE = 0x0Cu
void dp_G5M_exit(void) { if (g5_pgmmode_flag == TRUE) { dp_flush_spi_buffers(); spi_command_buffer = G5M_SPI_ISC_DISABLE; G5M_SPI_SCAN_in(0u); dp_delay(1000u); } #ifdef ENABLE_DISPLAY dp_G5M_read_fsn(); #endif spi_command_buffer = G5M_SPI_RELEASE; G5M_SPI_SCAN_in(0); spi_command_buffer = G5M_SPI_RELEASE; G5M_SPI_SCAN_in(0); return; }
浙公网安备 33010602011771号