上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 109 下一页
摘要: 类模板 所谓类模板,实际是建立一个通用类,其数据成员,成员函数的返回类型和形参类型不具体指定,用一个虚拟的类型来代表。使用类模板定义对象时,系统会根据实参的类型来取代类模板中虚拟类型从而实现了不同类的功能 阅读全文
posted @ 2023-12-25 11:44 流水灯 阅读(24) 评论(0) 推荐(0)
摘要: 进 HardFault_Handler 前,CPU自动把 r0~r3, r12, lr, pc, psr 一个8个寄存器入栈,再把 lr 值改为 EXC_RETURN 代码解析: 220:把MSP值赋值给r0 221:TST指令 : 执行按位与操作,直接结果更新到状态寄存标志位Z,这个指令通常与EQ 阅读全文
posted @ 2023-12-23 22:52 流水灯 阅读(563) 评论(0) 推荐(0)
摘要: 结构体替代类 使用结构体来封装变量和函数,即可实现类似对象的功能。其中,结构体包含变量和函数指针,变量用于存储成员变量的值,函数指针用于实现成员函数的功能。而每个对象的变量是独立的,因此可以使用这种方法实现类似对象的功能。 下面是一个例子,以封装一个“人”的结构体为例: typedef struct 阅读全文
posted @ 2023-12-23 20:23 流水灯 阅读(608) 评论(0) 推荐(0)
摘要: 什么是函数重载 函数重载: 是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数或类型或顺序)必须不同,常用来处理实现功能类似数据类型不同的问题。 函数重载是C++在C语言基础上进行的改进,解决了C语言同名函数无法服务不同类型的参数的问题,在C中 阅读全文
posted @ 2023-12-23 17:12 流水灯 阅读(640) 评论(0) 推荐(0)
摘要: 内存映射可实现用户程序对设备驱动内存的直接存取 示例代码: 驱动层 #include <linux/init.h> #include <linux/module.h> #include <linux/miscdevice.h> #include <linux/fs.h> #include <linu 阅读全文
posted @ 2023-12-17 22:37 流水灯 阅读(265) 评论(0) 推荐(0)
摘要: 前言 多个进程访问共享内存,需要互斥,由于linux没有进程互斥锁,用信号量替代。 共享内存的实现依赖于内存映射技术。无论是通过 shm_open + mmap 还是 shmget + shmat,最终都是将一块物理内存映射到多个进程的地址空间,从而实现进程间的数据共享。 POSIX 进程间通信 P 阅读全文
posted @ 2023-12-17 18:03 流水灯 阅读(939) 评论(0) 推荐(0)
摘要: 什么是协程 协程(Coroutines)是一种比线程更加轻量级的存在,协程可以理解为一个特殊的函数,这个函数可以在某个地方挂起去执行别的函数,并且可以返回挂起处继续执行。一个线程内可以由多个协程来交互运行,但是多个协程的运行是绝对串行的,也就是说同一时刻只有一个协程在运行,当一个协程运行时,其它的协 阅读全文
posted @ 2023-12-16 22:04 流水灯 阅读(958) 评论(0) 推荐(0)
摘要: 1、在链接脚本,输出段data内新增一个输入段 2、设置代码的段属性为data段,而不是text 阅读全文
posted @ 2023-11-19 23:09 流水灯 阅读(107) 评论(0) 推荐(0)
摘要: 最少剩余可用任务栈 函数 uxTaskGetStackHighWaterMark() 可用于获取任务的最少剩余可用栈 #if ( INCLUDE_uxTaskGetStackHighWaterMark == 1 ) UBaseType_t uxTaskGetStackHighWaterMark( T 阅读全文
posted @ 2023-11-16 23:15 流水灯 阅读(1141) 评论(0) 推荐(0)
摘要: 基本概念 操作系统中CPU使用率是在软件架构设计中必须要考虑的一个重要性能指标。它直接影响到程序的执行时间以及优先级更高的任务能否实时响应的问题。而CPU使用率也不能过低,避免资源浪费。 统计方法 FreeRTOS操作系统是使用任务的累计运行时间来统计每一个任务自系统开始运行到当前时刻的CPU占用时 阅读全文
posted @ 2023-11-16 22:43 流水灯 阅读(1952) 评论(0) 推荐(0)
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 109 下一页