- 博客(68)
- 收藏
- 关注
原创 DTS文件的格式
DTS文件布局(layout):/dts-v1/;// 表示版本[memory reservations] // 格式为: /memreserve/;/ {
2025-03-13 16:17:47
1172
原创 重定位(2)
由图可知:将A处代码重定位带B处具体思路:A处的只读数据的结束地址减去起始地址通过memcy函数重定位到B.text_start/* 设置sp */ldr sp = (0xc0000000 + 0x100000) //栈的起始地址/* rodata/data的重定位 */ldr r0, = __rodata_start //读出只读数据段的起始地址//只读数据段的结束地址 = 只读数据段的起始地址 - (B - A)sub r1, r0 ,r2 /* 只读数据段的结束地址 */
2025-03-05 21:44:16
356
原创 变量的分配
编译器会聪明的提前分配对应的“坑”等你来填。编译器会根据我们写的代码,不是编译器分配的,使我们的代码,比如数组A[100],编译器就会将当前栈指向的地址减去100给数组分配;
2025-03-04 17:01:02
381
原创 Makefile
我们知道a.c到app可执行程序,经过四个步骤:预处理、编译、汇编、链接;前三个步骤统称为编译。1)gcc -o test a.c b.c -v流程:缺点:如果只改变一个文件,其他另一个文件也需要再编译一次,浪费资源。2)改进:那么如何判断那个文件被修改呢?比较修改时间①若a.c比a.o新,说明被修改了②若a.o/b.o比test更新的话,则需要从新编译;1)规则: 目标文件:依赖文件(可多个) TAB 命令3)语法%:通配符$@:目标文件$<
2025-03-03 18:15:26
459
原创 Linux kill 命令
kill 命令可以发送不同的信号给目标进程,来实现不同的操作,如果不指定信号,默认会发送 TERM 信号(15),即终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。Linux kill 命令用于终止正在运行的进程。<PID> 是要终止进程的进程 ID。终止 PID 为 1234 的进程。
2025-03-03 14:47:02
315
原创 二、QT和驱动模块实现智能家居-----5、通过QT控制LED
在QT界面,我们要实现点击“LED”按钮就可以控制板子上的LED。LED接线图如下:在Linux 系统里,我们可以使用2种方法去操作上面的LED:① 使用GPIO SYSFS系统:这需要一定的硬件知识,需要设置引脚的方向、数值。② 使用驱动程序:无需硬件知识,使用open/read/write接口调用驱动即可。
2025-03-03 14:16:40
743
原创 Linux hexdump命令
hexdump 以ASCII字符显示时,可以输出换行符,这个功能可以用来检查文件是Linux的换行符格式还是Widows格式换行符。hexdump是Linux下的一个二进制文件查看工具,它可以将二进制文件转换为ASCII、八进制、十进制、十六进制格式进行查看。6:以偏移量开始格式输出。如下所示指定参数-s 5 ,前面的ABCDE字符没有了。每个字节显示为8进制。一行共16个字节,一行开始以十六进制显示偏移值。每个字节显示为16进制和相应的ASCII字符。每个字节显示为ASCII字符。两个字节显示为8进制。
2025-03-03 12:45:04
429
原创 Write函数
在 Linux 中, 函数是操作系统提供的最基础的系统调用之一,用于向文件描述符写入数据。它的使用非常广泛,不仅仅限于普通文件,还包括管道、套接字、字符设备等。二、参数详解 函数的参数有三个:fd:文件描述符,表示将数据写入到哪里。可以是文件、设备、套接字等。文件描述符是一个整数,通常是由 系统调用返回的。buf:指向要写入的数据的缓冲区。这是一个 类型的指针,意味着它可以指向任何类型的数据。count:要写入的字节数。函数会尝试从 中写入 个字节的数据。 函数的返回值为 类型,表示实际
2025-03-03 10:27:56
293
原创 Linux ls 命令
Linux ls(英文全拼: list directory contents)命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)。
2025-03-02 23:38:34
532
原创 二、QT和驱动模块实现智能家居-----4、编译Qt程序并运行
双击左侧的 Forms 里的 mainwindow.ui 文件,打开 Design 视图。然后如下图所示,从左侧Display Widgets 栏目下,拖动 Label 和 PushPutton到中间的区域。
2025-03-02 23:26:07
477
原创 Linux rm命令
请注意,递归删除非常危险,因为它会将文件夹及其所有内容完全删除,无法恢复。确保在执行此操作前三思。命令会直接删除文件,不会询问确认。如果你希望在删除文件时得到确认提示,请使用。如果你希望在删除文件时不接收任何确认提示,并强制删除文件,可以使用。参数,因为它会立即删除文件,无法恢复。要删除单个文件,只需使用。如果要删除多个文件,可以将。及其所有内容,可以使用。rm -r 文件夹名。
2025-03-02 23:16:44
228
原创 Linux mv 命令
Linux mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。目标目录与原目录不一致,没有指定新文件名,效果就是仅仅移动。目标目录与原目录一致,指定了新文件名,效果就是仅仅重命名。目录里边的所有文件&文件夹 挪到。
2025-03-02 21:56:04
351
原创 echo 命令echo
是一个常用的 shell 内置命令,用于在终端或脚本中输出文本或变量内容。 命令的基本功能是将指定的字符串或变量值输出到标准输出(通常是终端)。它在脚本编程和日常系统管理中非常有用。2)输出变量2. 禁止输出末尾换行符3. 转义功能(1)开启转义功能 (-e)值得注意的是,一般情况下只有当你调用选项时才会执行字符转义默认情况下仍为输出字符串内容而不开启转义功能
2025-03-02 12:14:31
322
原创 Linux whereis命令
Linux whereis命令用于查找文件。该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
2025-03-02 12:06:09
141
原创 二、QT和驱动模块实现智能家居----2、编译支持QT的系统
因为我们的Linux内核文件不支持QT系统(当然如果你的支持,完全跳过这篇文章),所以我们要从网上下载很多软件包,这里直接用百问网的软件包,非常方便。
2025-02-28 17:24:39
688
原创 Linux mount命令
挂载方法命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dirdevice:指明要挂载的设备;(1)设备文件:例如/dev/sda5(2)卷标:-L 'LABEL', 例如 -L 'MYDATA'(3)UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'(4)伪文件系统名称常用命令选项-t vsftype:指定要挂载的设备上的文件系统类型;,只读挂载;, 读写挂载;
2025-02-28 00:07:55
1009
原创 Linux chmod命令
Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令Linux/Unix 的文件调用权限分为三级 :注:只有和可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。
2025-02-27 23:17:15
304
原创 Linux apt 命令
apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。apt 命令执行需要超级管理员权限(root)。
2025-02-27 22:51:54
347
原创 Linux报 “device or resource busy” 异常的原因以及解决办法
首先,Linux报"device or resource busy"的原因是因为某个进程正在占用该设备或资源,导致其他进程无法访问该设备或资源。或使用了其它操作系统无法识别的文件系统或格式,导致Linux无法访问该设备或资源。可以通过卸载该设备或资源并重新挂载的方式来解决该问题。其他进程对该设备或资源进行操作。有时候,即使没有明显的进程占用该设备或资源,也可能是因为该设备或资源。注意:使用以上命令需要。
2025-02-27 21:46:58
3926
原创 MQTT实现智能家居------5、交叉编译
/build.sh arm-buildroot-linux-gnueabihf-gcc会发现无法编译,这里就涉及到cmake的知识点。先进入/home/book/nfs_rootfs/,创建MQTT文件夹,然后将上次将我发布的文件下载解压后的放到里面。在最后面加上这个(前后对比图)2. 修改build.sh。3. 执行即可编译成功。
2025-02-26 19:26:55
331
原创 Linux常见知识汇总
配置文件。Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。Linux 所必须的库文件。共享库。命令和用户编写的应用程序要使用这些库文件系统设备管理的重要目录,此目录通过一定的组织结构向用户提供详细的内核数据结构信息系统需要的可执行文件,一般都是一些命令,比如 ls 、 mv 等命令。此目录下的命令所有的客户都可以使用。存放可执行文件,但是此目录下的文件或者说命令只有管理员才能使用,主要用户系统管理。设备文件。
2025-02-25 23:08:33
495
原创 MQTT实现智能家居------4、在Linux上运行MQTT
用FileZilla连接开发板,将我发布的压缩包解压以后进入主目录,创建一个MQTT文件夹用FileZilla连接开发板,将我发布的压缩包解压以后放进MQTT安装cmake。
2025-02-25 21:40:50
654
外部中断回调函数为什么执行复位PA1点亮灯之后不执行下面置1让灯灭了
2024-07-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人