1.UART
C6748_Startware框架
C6748_UART(1) - 基本知识
C6748_UART(2) - 初始化配置 1.UART结构
C6748_UART(3) - UART轮询模式
C6748_UART(4) - UART中断
C6748_UART(5) - UART寄存器
C6748_UART_EDMA
驱动学习
DSP视频学习(转文字)
FIFO的必要性。在进行UART通信时,中断方式比轮询方式要简便且效率高。但是,如果没有收发FIFO,则每传输一个数据(5~8位)都要中断处理一次,效率仍然不高。如果有了收发FIFO,则可以在连续收发若干个数据(可多至14个)后才产生一次中断,然后一起处理。这就大大提高了收发效率。
接收超时问题。如果没有接收超时功能,则在对方已经发送完毕而接收FIFO未填满时并不会触发中断(FIFO满才会触发中断),结果造成最后接收的有效数据得不到处理的问题。有了接收超时功能后,如果接收FIFO未填满而对方发送已经停,则在不超过3个数据的接收时间内就会触发超时中断,因此数据会照常得到处理。
发送时,只要发送FIFO不满,数据只管往里连续放,放完后就直接退出发送子程序。随后,FIFO真正发送完成后会自动产生中断,通知主程序说:我已经完成真正的发送。
接收时,如果对方是连续不间断发送,则填满FIFO后会以中断的方式通知主程序说:现在有一批数据来了,请处理。
如果对方是间断性发送,也不要紧,当间隔时间过长时(2~3个字符传输时间),也会产生中断,这次是超时中断,通知主程序说:对方可能已经发送完毕,但FIFO未满,也请处理。
回环自测模式:
串口高速收发时,不要连仿真器向console窗口printf输出打印,否则printf时会关中断,影响程序运行,导致串口数据收发错误!!!!!!!!!
如果数据连续填入 FIFO 超过触发水平(FIFO控制寄存器FCR的RXFIFTL位,接收FIFO触发水平),当 FIFO 填满且下一个字符被完整的接收到移位寄存器里时,一个过载错误发生(串口队列状态寄存器LSR的OE指示位)。
2. 定时器、看门狗
C6748_看门狗
3.编译错误及警告
创龙6748开发板加载.out出现a data verification error occurred, file load failed
打开Target Configrations小窗口->Projects->targetConfigs文件夹下选择.ccxml文件,右键选择Launch Selected Configuration,Debug窗口中选中目标target,右键,选择Open GEL Files View,会打开GEL Files小窗口,右键单击表格Script,选择Load Gel files。添加gel文件后,重新connect target!
4.缓存
CPU缓存一致性