
T113-S3
cp1300
电子爱好者
展开
-
全志T113-S3裸机定时器驱动(timer0,timer1操作)
虽然只有2个定时器,但是好在是32bit的,日常使用刚好够,1个定时器当做StopWatch定时器,1us精度,用于时间测量,1个定时器给OS作为滴答时钟使用。注意:定时器需要使用中断,中断需要依赖GIC。给FreeOS作为滴答时钟。原创 2024-07-21 09:29:37 · 599 阅读 · 0 评论 -
全志T113-S3裸机串口驱动(串口DMA发送,中断接收)
前几年用V3S串口的时候,想用DMA进行收发,结果发现DMA只能接收32的整数倍数据,如今在T113-S3上面依旧存在这个问题,折腾很久依旧没有解决,最后只能通过DMA进行发送,中断进行接收,好在这个芯片的接收FIFO格外大,哪怕频繁接收也不会过多产生中断,除了串口0,其余的串口有200多个字节的收发FIFO,发送逻辑为发送的数据如果没有超过串口发送FIFO大小则直接通过FIFO发送,如果超过了,则使用DMA,提高效率。原创 2024-07-21 09:22:05 · 960 阅读 · 0 评论 -
全志T113-S3 裸机IIC驱动(TWI驱动)
代码支持中断模式与查询模式,实际代码几乎一样,一个是中断中处理状态机,一个是在轮训中判断是否有中断,然后处理状态机,非OS模式下,如果需要使用轮训模式,需要自己处理一个软件超时,避免出现死循环。测试是能正常读取数据,有正常的ACK,但是时间没有走,怀疑是RTC芯片挑晶振,之前使用linux的时候也是硬件RTC时间不走,最后换了芯片才解决。上代码,因为是裸机,寄存器是自己定义的但是与手册一致,底层的寄存器需要自己定义,然后中断模式需要GIC支持。如果需要详细的调试信息,可以开启调试。原创 2024-07-21 09:13:04 · 818 阅读 · 0 评论 -
全志T113-S3 裸机SMHC eMMC读写问题记录
之后再次读取数据,读取前将buff清零,确保数据是从emmc读取的,之后进行crc16校验,将读取的数据与写入之前的数据进行校验对比,确保数据一致;将扇区0扇区1一起读取处理,然后将扇区0修改了几个字的数据,对待写入的数据进行CRC16校验,然后再写入到扇区0。问题1:读取扇区的时候,会遇到数据停止位错误,只能屏蔽掉停止位错误这个检测,并不会影响数据读取。就是这个错误,只要读取数据就会产生,什么结束位错误标志,只能进行屏蔽或者忽略;问题2:写数据的时候,会遇到数据CRC校验错误。等待后续找到问题后更新。原创 2023-10-28 17:51:44 · 1806 阅读 · 0 评论