应用层函数调用流程分析以-串口为例
1.rt_device_find调用流程
rtt内部有一个全局变量数组rt_object_container数组的数量就是 rt_object_info_type 内核对象的种类,其中包含一个rt_using_device (设备的数据类型),数组内部的每一个变量包含一个链表,链表内部就构造了一个设备链表,rt_device_find函数就是在这个数组内部根据类型找到链表,然后在链表内部根据设备名字找到rt_device_t设备
rtt内核对象存储结构,
struct rt_object_information
{
enum rt_object_class_type type; / < object class type 比如线程类型,外部设备类型,信号量类型 /
rt_list_t object_list; / control,如果配置的dma,则使用serial->ops->control配置打开dma。
3.rt_device_set_rx_indicate 和rt_device_set_tx_complete函数调用流程
这里的2个函数都是直接设置rt_device的rx_indicate 和 tx_indicate
4.rt_device_write 调用流程分析
rt_device_write 内部调用device->write 函数也就是 rt_serial_write,内部根据配置串口的发送方式发送数据,是阻塞是dma还是中断,阻塞和dma都是将数据放在缓冲区内部,缓冲区在中断和dma部还有临界区的保护
5.rt_device_read 调用流程分析
rt_device_read内部调用device->read 函数也就是 rt_serial_read,内部根据配置串口的接收方式接收数据,是阻塞接收是dma还是中断接收,阻塞和dma都是将数据放在缓冲区内部,缓冲区在中断和dma部还有临界区的保护
华为:一种5G卫星通信系统架构
选择理想TVS二极管的考虑因素主要有哪几点
安捷伦电子测量事业部正式启用新公司名称-Keysight Technologies(是德科技)
不可思议的人工智能 AI也能搞艺术了
全方位了解立功科技的LoRa系统方案
RTT设备驱动框架分析-串口调用流程
三星2020 QLED 8K电视:和谐融入周围环境,创理想电视体系
行车记录仪的天花板?前后双录+千里之外远程管理,这款4G全网通车载视频监控超乎我的想象
CAN总线详尽讲解(历史|应用|优势)
新技术使得心脏设备植入者术后的感染率大幅降低
iPhone 8降价卖断货?春风吹又生?
外媒:台积电挺直“腰板”了
统信软件UOS操作系统装机量突破100万
Honor Smart Screen X1将推出75英寸版本
应用案例:UP系列推动智能零售业发展
什么是计算机安全 它有什么用
UV无影胶胶水和PUR热熔胶胶水之间的区别是什么
基于FPGA视频图像算法开发
WalkOVR新技术公布 解决了当今VR玩家经常遇到的移动限制的痛点
环保型散热介电绝缘材料技术