自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 VScode使用

vscode是查看代码的工具。

2025-03-06 18:04:17 181

原创 linux系统移植

参考链接:从0移植uboot(五) _实现串口输出 - Abnor - 博客园

2025-03-06 17:11:25 197

原创 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

原创 进程相关内容

用法:在shell中使用export可以查看所有的环境变量。

2025-02-12 18:06:32 1793

原创 读写文件

可以使用man指令查询函数,man 1 xx查linux shell命令,man 2 xxx查API, man 3 xxx查库函数。

2025-02-09 12:28:55 1417

原创 ARM的零散知识点

2025-02-07 15:16:48 208

原创 汇编语言介绍

常用指令。

2025-02-07 15:15:56 146

原创 字符串和结构体

sizeof返回的时这个变量总共所占字节数strlen用来计算字符串的长度总结:strlen()是不包括‘\0’的,但字符串赋值时,是包括‘\0’的。

2025-02-05 02:10:47 274

原创 内存管理及代码段分类

内存泄漏。

2025-02-04 16:05:29 253

原创 makefile使用

makefile就是用来帮助我们在这么多.c和.h文件中生成目标文件(.bin)的工具。makefile包括目标、依赖、命令。其中,目标就是我们要去make xxx的那个xxx,就是我们最终要生成的东西。

2025-02-04 11:06:43 1855

原创 linux常用命令

用法: ls -a 显示所有文件,包括隐藏文件ls -l 以详细信息显示ls -a -l。

2025-02-03 12:43:27 160

原创 linux系统下的shell(待完成)

linux系统下的shell是系统提供给用户操作的命令行界面,shell程序其实就是把命令行中一个一个的命令汇集起来而已,也就是说shell程序里的语句单拎出来,是可以在命令行中一个一个执行的。

2025-02-02 22:18:24 210

原创 C语言指针和相关知识点

指针的用途很多,本节内容介绍一些容易混淆的知识点:

2025-02-02 15:48:56 105

原创 const使用

const用于修饰变量,使该变量变为常量。const只修饰两个内容:1.指针变量p本身 2.指针变量所指向的值(*p)

2025-02-02 10:45:51 172

原创 uboot简介

uboot是bootloader的一种,是裸机程序(直接通过代码操纵寄存器),用于启动内核,uboot相当于PC机中的BIOS。可以使用”help“显示所有uboot的指令或者注释。

2025-02-01 21:43:16 751

原创 C语言位运算

将x和n替换到右侧的表达式中即可。U代表无符号。

2025-02-01 13:53:40 197

原创 shell界面实现

shell界面使一个专门的软件,一般都是别人编写的,并不需要我们自己编写。该界面用于接收用户的输入指令(字符串),并执行相应步骤。

2025-01-30 22:05:35 262

原创 驱动(待完成)

驱动代码就是操纵硬件,是对应模块动起来的代码。例如LED驱动指的就是操作LED硬件使LED发光的代码。

2025-01-29 23:25:57 132

原创 C语言的内存概念

用C语言编写的程序在运行时需要用到内存,以下对内存的知识点做一些归纳。

2025-01-29 23:24:05 223

原创 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

原创 SD卡加载uboot

SD卡有9个引脚,接受SD协议和SPI协议。SD卡启动uboot相较于usb更加方便,开机就可加载uboot。

2025-01-25 13:42:45 292

原创 ARM中断总结

判断ARM是否产生中断是由硬件自动完成的,作为软件工程师只需要配置中断寄存器的寄存器即可。不同的ARM系列的中断处理过程都会有些不一样,但基本处理逻辑都差不多。

2025-01-22 14:01:48 301

原创 ARM外设学习的经验总结

ARM的外设学习相较于内核要简单一些,并且有一定的规律,根据本人的学习经验,总结了以下内容。

2025-01-21 09:58:47 378

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除