页次: 1
在 linux 中使用spi发现,传输过程中,会引发linux命令行卡顿。
查看中断计数发现,传输一次1600字节数据(1MHz),cpu 居然收到了1680多次中断。然后在驱动中,每个中断类型中加一个计数,传输前清零,传输完成后打印,发现 1600字节数据,RX_RDY 中断触发了1570多次,其余两个中断正常:TC 1次, TX_READY 约为 1600 / TX_TRIG_LEVEL 次。
最后我直接使用 devmem 手动写寄存器进行测试,发现 RX_RDY 中断始终在 RF_CNT >= 1 就触发,已配置 RX_TRIG_LEVEL = 0x30。
手动测试流程:
写 Bus Clock Gating Register 0、Bus Software Reset Register 0 打开时钟、解复位。
配置 SPI FIFO Control Register 中 RF_TEST、RX_TRIG_LEVEL
清除中断 SPI Interrupt Status Register
手动写 SPI RX Data Register,1字节数据
查看中断状态 SPI Interrupt Status Register,发现 RF_CNT 被触发,读 SPI FIFO Status Register 能看到 RF_CNT 为1。
自制了一块F1C200S板子,现象:
SD卡烧录UBOOT后,插入无法进入UBOOT,直接进fel了。已更换了4个不同容量的SD卡。
手动通过sunxi-fel将uboot加载到ddr可进入uboot,进入uboot可正常读SD卡,并可load内核设备树,进系统。
另外,之前能从SD卡进uboot,并进系统的。中间SD因为读卡器坏过,然后买了其他SD卡和读卡器就不行了。
这样烧录的:
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb1 bs=1024 seek=8 分区已格式化为vfat。
已测量4路供电电压,均在手册要求范围。
页次: 1