
RTOS
袁海璐
不要想着站在巨人的肩膀上,你要想想巨人走了,你是什么。
展开
-
实现简单的内存管理
1 源码:源码已经提交github,内存管理github链接,欢迎一起讨论。2 实现过程该代码实现了在固定地址空间上进行内存的分配与释放。在操作系统启动时刻指定固定的地址作为mymlloc()操作的Heap空间,也可以直接定义数组。在嵌入式系统中,最好指定固定的地址,方便进行管理以及问题的排查。2.1 内存控制块定义struct free_block_t{ unsigned long size; unsigned char *start; unsigned char *en原创 2020-07-13 21:38:15 · 789 阅读 · 0 评论 -
USB网卡驱动分析(rt8152)
USB网卡驱动分析(rt8152)USB设备驱动程序分析USB总线和USB设备USB设备匹配方式思考网络设备驱动程序分析网卡设备驱动分析USB+网卡驱动linux 源码中rt8152驱动程序分析总结USB设备驱动程序分析最近一直在搞zynq的PL部分,为了保持对驱动程序的敏感度,看着源码分析一下rt8152的驱动程序。之前学单片机一直想着给单片机装一个USB网卡,但是一直没有思路。今天突然想到...原创 2019-10-26 15:51:02 · 6916 阅读 · 0 评论 -
vxvorks学习1(多任务实现)
多任务实例1、任务的创建int taskSpawn( char *name, //新任务的名字,储存在psTackBase int poiority, //任务优先级 int options; //任务选项 int stacrSize; //任务堆栈字节数 FUNCPTR e...原创 2019-07-24 11:19:42 · 595 阅读 · 0 评论 -
vxvorks学习2(双向链表和环形缓冲的使用)
双向链表1、 数据结构分析在litLib.h中定义了操作双向链表的基类typedef struct _Vx_node /* Node of a linked list. */ { struct _Vx_node *next; /* Points at the next node in the list */ struct _Vx_node *previous; /*...原创 2019-07-24 17:34:07 · 1211 阅读 · 0 评论 -
vxvorks学习3(任务同步)
VxWorks任务间同步的机制以及通信方式概念普及:资源删除保护:进程A在拿到一个资源的信号量以后,进程A被删除,这时资源将不能被访问,因此需要对资源进行保护;优先级反转:有三个进程A,B,C。并且进程的优先级A>B>C,这时A在等待一个C掌握的资源,这时A因为等待资源而阻塞,C执行,但是C的优先级小于B,因此B开始执行。这时A为了等待资源,会等待B释放资源以后,C获取执行...原创 2019-07-25 14:58:10 · 515 阅读 · 0 评论 -
vxvorks学习4(字符设备驱动)
1、VxWorks设备驱动结构首先在终端输入iosFdShow,此命令用来显示已经打开的设备信息。fd 是设备描述符,open函数返回以后供read, write等函数使用。name 设备的名字。drv 对应的驱动程序索引。在终端输入 devs:drv 对应上一幅图中的drv。name 设备名称。在终端输入iosDrvShow可以看到,该表通过drv索引到7个函数。以上...原创 2019-08-05 15:38:07 · 609 阅读 · 0 评论