摘要: 1. 标准malloc() 和 free() 库函数的缺陷: 1)在小型的嵌入式系统中,可能不可用。 2)具体实现相对较大,占用较多宝贵的代码空间。 3)通常不具备线程安全性。 4)具有不确定性,每次调用的时间开销可能不同。 5)会产生内存碎片。 6)会使得链接器、配置的复杂。 2. 内存分配方案范 阅读全文
posted @ 2016-03-23 10:04 Risun_Lee 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 1. 多任务系统存在一个潜在的风险:资源管理。 2. 基本临界区:taskENTER_CRITICAL() 与 taskEXIT_CRITICAL() 或 taskENTER_CRITICAL_FROM_ISR( x ) 与 taskEXIT_CRITICAL_FROM_ISR() 之间的代码。 基 阅读全文
posted @ 2016-03-23 09:56 Risun_Lee 阅读(821) 评论(0) 推荐(0) 编辑
摘要: 1. 只有以“FromISR”或"FROM_ISR"结束的API函数或宏才可以在中断服务函数中使用。 2. 除互斥信号量外,所有类型的信号量都可以调用 xSemaphoreTake() 来获取信号量,但 xSemaphoreTake() 不能用在中断服务函数中。 3. 计数信号量的典型用法:① 事件 阅读全文
posted @ 2016-03-23 09:13 Risun_Lee 阅读(1496) 评论(0) 推荐(0) 编辑
摘要: 1. 队列主要用于任务与任务、中断与任务之间的消息传递。 2. 创建队列时,请注意队列中数据单元的长度。 3. 通常情况,队列被作为FIFO(先进先出)使用,即数据从队列尾写入,从队列首读。当然,数据也可由队列首写入。 4. 向队列中写入数据是通过字节拷贝,将数据拷贝到队列中;从队列中读取数据也是通 阅读全文
posted @ 2016-03-21 14:36 Risun_Lee 阅读(2791) 评论(0) 推荐(0) 编辑
摘要: 1. FreeRTOS 任务不允许以任何方式从实现函数中返回——他们绝不能有一条“return”语句,也不可能执行到函数的末尾。如果一个函数不需要,可以将其删除,如在任务中使用函数vTaskDelete(NULL),将当前任务删除。 2. 在启动任务调度器(osKernelStart() )前,最好 阅读全文
posted @ 2016-03-18 15:41 Risun_Lee 阅读(1910) 评论(0) 推荐(0) 编辑
摘要: USB的传输总是低位在前,高位在后。 USB的传输方向:从设备到主机的数据为输入;从主机到设备的数据叫做输出。 1. 包结构 以同步域开始,紧跟着一个包标识符PID(Packet Identifier),最终以包结束符EOP(End of Packet)结束这个包。 同步域 作用:① 通知USB串行 阅读全文
posted @ 2016-02-25 11:13 Risun_Lee 阅读(2259) 评论(0) 推荐(0) 编辑
摘要: 1、事务 在介绍USB传输类型之前,请允许我先简答介绍一下USB事务。 事务一般由令牌包、数据包(可选)、握手包组成。 令牌包:用来启动一个事务,总是由主机发送。 数据包:可以从主机到设备,也可以由设备到主机,方向由令牌包决定。 握手包:通常情况,数据的接收者发送握手包(ACK或者NAK)。 USB 阅读全文
posted @ 2016-02-25 10:05 Risun_Lee 阅读(11528) 评论(0) 推荐(0) 编辑
摘要: 转载连接: http://group.cnblogs.com/topic/37628.html 1、请你自我介绍一下你自己。 回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个 阅读全文
posted @ 2016-02-23 18:17 Risun_Lee 阅读(311) 评论(0) 推荐(0) 编辑
摘要: Q: USB是什么? A: USB是通用串行总线(Universal Serial Bus)的缩写。 Q: USB的优点有哪些? A: ① 支持热插拔:(hot-plugging或Hot Swap)即带电插拔。 ② 即插即用(PnP,即Plug and Play),也是USB设计的初衷之一。 ③ 传 阅读全文
posted @ 2016-02-23 16:27 Risun_Lee 阅读(1923) 评论(0) 推荐(0) 编辑