|
qwang 发表于 2024-3-20 13:42 感謝回覆,已解決所有問題。 1. 改完<SPI0_SUBM>後,要重新make arm-trusted-firmware-rebuild。(buildroot環境) 2. A35與M4不能共同持有SPI0的使用權,如果要使用M4 SPI的話,需要將linux-custom中的ma35d1.dtsi中的spi0狀態改為disable。 |
本帖最后由 yonggo 于 2024-3-30 00:20 编辑 yonggo 发表于 2024-3-29 23:56 我在spi.c中的SPI_Open()函数的else判断式: else { spi->CLKDIV=(spi->CLKDIV & (~SPI_CLKDIV_DIVIDER_Msk)) | (u32Div<<SPI_CLKDIV_DIVIDER_Pos); u32RetValue=(u32ClkSrc/(u32Div + 1U)); printf("u32Div=%u\n", u32Div); printf("spi->CLKDIV=%u\n", spi->CLKDIV); } 得到u32Div=17,spi->CLKDIV=0,无法写入spi相關寄存器 写入spi相關寄存器需要設定嗎 |
qwang 发表于 2024-3-20 13:42 目前执行SPI_Flash.elf仍卡在此while()中, uint16_t SpiFlash_ReadMidDid(void) { ... while(!SPI_GET_RX_FIFO_EMPTY_FLAG(SPI_FLASH_PORT)) { printf("receiving RX data...\n"); u8RxData[u8DataCnt++]=SPI_READ_RX(SPI_FLASH_PORT); } } |