- 博客(29)
- 收藏
- 关注
原创 C++语法
变量定义的方法跟C语言中是一样的,但头文件由<stdio.h>改为了<iostream>;输入由scanf("%d\n",&a)改为了std::cin >> a;输出由printf("%d\n",a)改为了std::cout >> a;在C语言中,可以使用const定义常量,例如const int a = 10;这句话表示a的值只能是10。1.在C++中,可以使用const固定住别名的值,这时别名就不能修改值了。2.给别名取一个值。是不合法的3.使用&&时,只能传递数值,不能传递变量。
2025-02-26 12:52:01
416
原创 线程使用
互斥锁就是为了保证一段代码同时只能由一个线程访问,在执行该代码前上个锁,其他线程只能阻塞等待了,执行完代码后再解锁相关函数如下:pthread_mutex_init 设置设备锁pthread_mutex_lock 上锁pthread_mutex_unlock 解锁pthread_mutex_destroy 销毁锁。
2025-02-17 13:32:32
163
原创 网络通讯
TCP协议内容TCP协议想要通讯的话,需要经过3次回收,结束通讯会经过4次挥手。下面是tcp的原理图,但我们编程时使用的是socket,这个库已经把这些原理封装起来了,所以我们编程时不需要考虑三次握手和四次挥手是怎么实现的。
2025-02-15 22:51:25
179
原创 linux常用命令
cd(change directory,更改目录):用来切换目录。用法:ls -a 显示所有文件,包括隐藏文件。用法:cd .. ..代表上一层目录。ls -l 以详细信息显示。
2025-02-14 19:15:46
135
原创 字符串和结构体
sizeof返回的时这个变量总共所占字节数strlen用来计算字符串的长度总结:strlen()是不包括‘\0’的,但字符串赋值时,是包括‘\0’的。
2025-02-05 02:10:47
274
原创 makefile使用
makefile就是用来帮助我们在这么多.c和.h文件中生成目标文件(.bin)的工具。makefile包括目标、依赖、命令。其中,目标就是我们要去make xxx的那个xxx,就是我们最终要生成的东西。
2025-02-04 11:06:43
1855
原创 linux系统下的shell(待完成)
linux系统下的shell是系统提供给用户操作的命令行界面,shell程序其实就是把命令行中一个一个的命令汇集起来而已,也就是说shell程序里的语句单拎出来,是可以在命令行中一个一个执行的。
2025-02-02 22:18:24
210
原创 uboot简介
uboot是bootloader的一种,是裸机程序(直接通过代码操纵寄存器),用于启动内核,uboot相当于PC机中的BIOS。可以使用”help“显示所有uboot的指令或者注释。
2025-02-01 21:43:16
751
原创 shell界面实现
shell界面使一个专门的软件,一般都是别人编写的,并不需要我们自己编写。该界面用于接收用户的输入指令(字符串),并执行相应步骤。
2025-01-30 22:05:35
262
原创 ADC模数转换
ADC是将模拟信号转换为数字信号的控制器。例如我们要检测环境温度,传感器会将温度转换为模拟电压,并通过SOC内部的ADC模块转换为二进制数。
2025-01-27 15:47:05
333
原创 i²c通讯
i²c用于短距离的通信,通常用于同个Soc不同芯片的通信,有一个SLC时钟线和一个SDA数据线。i²c的通讯速率不高,并且传输距离近,具有串行、低速率同步时钟的特点。i²c在Soc内部集成了专门的控制器,因此我们在实际通讯中,不需要自己写时序,只需要将想发送的值写入到对应寄存器中即可,控制器内部的硬件会自动产生时序并发送数据。
2025-01-27 11:54:24
320
原创 Nandflash
一般Soc的内部会集成flash控制器,我们只需要操作寄存器即可对Nandflash进行读写等操作。Nandflash的寄存器较多,并且每款Soc的寄存器都不一样,因此如果要知道具体操作哪些寄存器,最好的方法就是根据已有代码进行梳理,不要一开始就想根据数据手册完全写出代码。
2025-01-26 19:38:19
202
原创 ARM的定时器功能
定时器就跟计数器一样是用来计数的,只不过定时器是从有数一直往下见到0,一个时钟周期(电平从高到底,再到高的时间)减1。以上功能都可参考芯片手册进行寄存器的配置,没有特别的难点。定时器主要有以下功能。
2025-01-25 23:04:54
251
原创 ARM中断总结
判断ARM是否产生中断是由硬件自动完成的,作为软件工程师只需要配置中断寄存器的寄存器即可。不同的ARM系列的中断处理过程都会有些不一样,但基本处理逻辑都差不多。
2025-01-22 14:01:48
301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅