- 博客(76)
- 收藏
- 关注
原创 MFRC522
使用RC522模块完成对IC卡卡号读取、卡类型区分、IC卡扇区密码修改、扇区数据读写等功能。底层采用SPI模拟时序。并用串口打印对应信息。
2025-03-21 16:43:45
1071
原创 深度学习编译器(整理某survey)
允许用户定义新的操作符,增强编译器的扩展性。它允许程序员为特定目的定义其运算符。提供对自定义运算符的支持提高了 DL 编译器的可扩展性。例如,在Glow中定义新的算子时,程序员需要实现逻辑和节点的封装。此外,如果需要的话,还需要额外的努力,例如降低步骤、操作IR生成和指令生成。而 TVM 和 TC 除了描述计算实现之外,需要较少的编程工作。具体来说,TVM的用户只需要描述计算和时间表并声明输入/输出张量的形状。而且定制的算子通过hook的方式集成了Python函数,进一步减轻了程序员的负担。
2025-03-05 22:33:23
792
原创 编译原理(一)
单个字符:a 空串:ε (表示空字符串) 选择(或):a|b(匹配 ‘a’ 或 ‘b’) 连接:ab(匹配 ‘a’ 后跟 ‘b’)闭包:a* (*匹配 ‘a’ 出现零次或多次)上下文无关文法是一个四元组G=(N,T,P,S):终结符:T非终结符:N N∩T=∅开始符号:S 非终结符产生式:P,每个产生式形如A->α,其中A∈N,被称为产生式的左部,α∈(N∪T)*,被称为产生式的右部。
2025-02-06 15:18:45
774
原创 Pytorch(二)
DataLoadr是Pytorch中数据读取的一个重要的接口,该接口的目的:将自定义的Dataset根据batch_size大小,是否shuffle等封装成一个Batch_Size大小的Tensor,用于后面的训练。DataLoader(object)的参数dataset(Dataset): 传入的数据集batch_size(int, optional): 每个batch有多少个样本shuffle(bool, optional): 在每个epoch开始的时候,对数据进行重新排序。
2024-11-07 11:16:14
1304
原创 Cortex-M4架构
一条指令的执行可以分解为多个阶段,各个阶段使用到的硬件不同,这样指令执行就可以重叠,可以多条指令并行处理。在CPU正常执行过程中,外部发生了随机事件,CPU需要暂时中止正在执行的程序转而去处理所发生的事件。处理完成后,再返回到原来被中止的程序继续执行。
2024-04-08 14:56:47
2735
原创 Day02嵌入式---按键控灯
按键控制灯开关是一种常见的嵌入式系统示例项目,它通常用于演示嵌入式系统的基本控制能力。该项目由一个或多个LED和一个按键组成。通过按下按键,可以控制LED的开关状态,从而实现灯的亮灭控制。
2023-11-26 11:08:32
1310
原创 Day01 嵌入式 -----流水灯
嵌入式系统中的流水灯是一种常见的示例项目,通常用于演示嵌入式系统的基本功能和控制能力。流水灯由多个发光二极管(LED)组成,这些LED按照一定的顺序依次点亮和熄灭,形成一种像水流一样的流动效果。
2023-11-21 11:08:25
1846
原创 Linux Day16 多线程的一些常见问题
代码从主程序开始执行,执行到线程函数时,创建线程,进入fun()后,加锁,打印“fun lock”,随后睡眠5秒,我们知道多线程是有并发这个特性,这个时候就会继续主函数,进行fork,这个时候我们发现打印了"child 准备lock",注意此时我们线程函数中的锁还没有解,就有了一个新的锁,说明父进程和子进程的锁不是共用一个锁,此后5秒睡眠时间结束,这时继续执行多线程函数,解锁打印“fun unlock”,但是我们发现一件事:此函数阻塞了。: 是在fork返回之前,在子进程上下文中被执行。
2023-09-18 23:40:52
453
原创 Linux Day11---mbash项目(二)
观看本文之前请先阅读Linux Day10的相关内容,实现了Linux Day10剩下的命令函数
2023-08-24 16:57:20
663
原创 Linux Day08
有第一个可知,没有free,进程结束后,所有分配给该进程的资源都被回收。如果申请空间大于物理内存空间+虚拟内存空间,那么申请空间将失败。父进程堆区申请的空间复制后,子进程也会有一份,也需要释放?没有free,进程结束后,所有分配给该进程的资源都被回收。② 申请的空间 < 物理内存空间 + 虚拟内存空间。前面的内存为实际内存,后面的交换空间为虚拟内存。父进程在堆区申请的空间,也会被复制到子进程中。当申请空间d大于内存时,使用内存+虚拟内存。子进程是子进程的空间,父进程是父进程的空间。
2023-08-11 11:29:36
306
原创 C++继承相关内容(三)
前情概要:无论是公有继承还是私有继承,派生类的方法是可以访问自身的公有,保护和私有的,还可以访问基类的保护和公有的。在派生类中,基类的保护类似于公有,是可以访问的。但是在外部环境中是不可以访问保护和私有属性的对象或方法。
2023-06-08 12:09:58
1300
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人