- 博客(3)
- 问答 (2)
- 收藏
- 关注
原创 寄存器间数据传输时序分析之建立时间
拿触发器图为例描述两个寄存器之间的数据传输, 寄存器A下文称RA的data数据在clk的驱动下,输出到寄存器B,RB在clk上升沿采集data,时钟源为同一clk,那么有以下几个时间段:TclkA:pad上的时钟到RA的线路时钟延时Tco:时钟在RA中的输入端D到输出端Q的延时Tdata:数据从RA的Q端输出到RB的D端线路上时钟延时通过以上几个参数即可以得出数据到达RB的时间TclkB:pad时钟到RB的线路时钟延时假设时钟周期为T_cycle。建立时间门限为Tsu:表示时钟采样沿来之前,数
2020-06-30 08:21:31 4648
原创 半双工SPI通信调试
spi主从通信 本文只说问题,具体协议网上比较多master和slave方式配置要一致半双工 CPHA为1(第二个沿采样) CPOL为1(时钟空闲为高)MSB传输,时钟5.88M(实测)调试遇到问题,从端发不出来数问题排查1,看Master时钟有没有供,发现时钟确实没供,但是clk线不接到从端时候,主端的clk是有的。对于接收状态,clk是在每次使能完接收控制寄存器后硬件自己产生。对于发送状态,clk是在将待发送数据填充到发送寄存器中自己产生。slave没收到时钟导致一直等待tx_fif
2020-06-10 21:20:30 2312
原创 MCU二次boot开发调试心得
二次boot开发调试心得近期调试一个国产芯片时,遇到了程序过大没办法下载到原来的boot问题(原boot程序只能接受不到100K的代码,flash为256K)基本调试逻辑,首先flash分区,从地址0开始留10k空间给二级boot的程序,通过二级boot再把待下载的程序下载到flash的指定地址上,最后跳转执行即可。注意一将待下载程序的.text段放在APP_FLASH_ADDR(自定义)上,.data和. bss段放在RAM中,防止跟堆栈地址冲突。注意二二次boot程序需要接收代码,但
2020-06-07 16:25:14 1154
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人