Linux驱动开发基础
文章平均质量分 68
Linux环境下gcc编译器的使用、makefile文件的编写及shell脚本介绍
_infinite_
道阻且跻
展开
-
patsubst函数详解
patsubst(pattern substitute)是GNU Make中的一个函数,它用于将一个字符串中符合特定模式的子串替换为另一个字符串。这个函数在Makefile中非常有用,尤其是当你需要根据源文件生成目标文件的名称,或者进行其他类似的字符串转换操作时。这将把SRCS中的每个单词(文件名)中的.c替换为.o,并将结果赋值给OBJS变量。在这个例子中,bar的值将是x.o b.o,因为a.o匹配了模式a.o,并被替换为x.o。patsubst函数也可以用来替换字符串中的特定子串。原创 2024-09-03 21:48:03 · 233 阅读 · 0 评论 -
RAM与ROM简介
RAM与ROM是计算机中常见的存储器类型,它们在数据存储和访问方面扮演着重要的角色。RAM(Random Access Memory)是一种临时存储器,用于存储计算机正在运行的程序和数据。它具有快速的读写速度和随机访问的特点。相比之下,ROM(Read-Only Memory)是一种只读存储器,用于存储固定的程序指令和数据。ROM中的数据在计算机断电时不会丢失,因此被称为非易失性存储器。接下来,我们将详细介绍RAM和ROM的特点和常见类型。原创 2024-09-07 16:56:02 · 1024 阅读 · 0 评论 -
Ubuntu 与Uboot网络共享资源
等待安装完成,安装完成以后在用户根目录下创建一个名为“Linux”的文件夹,以后所有的东西都放到这个“Linux”文件夹里面,在“Linux”文件夹里面新建一个名为“nfs”的文件夹。原创 2024-09-20 11:40:07 · 809 阅读 · 0 评论 -
wildcard函数详解
此外,wildcard函数只会在Makefile被解析时执行一次,因此如果后来创建了新的匹配文件,Makefile不会自动包含它们。wildcard是GNU Make中的一个函数,它用于在Makefile中匹配指定模式的文件名,并返回所有匹配到的文件列表。这里的pattern是一个或多个文件名模式,可以是相对路径或绝对路径,可以使用通配符,如*(匹配任意字符序列),?wildcard函数会搜索当前工作目录(通常是包含Makefile的目录)中所有与给定模式匹配的文件,并返回一个空格分隔的文件列表。原创 2024-09-03 21:50:43 · 254 阅读 · 0 评论 -
arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 -o start.o start.s
这个选项很容易被遗忘,编译的时候,没有错误或者警告提示,以为自己的程序很完美,其实,里面有可能隐藏着许多陷阱。变量没有初始化,类型不匹配,或者类型转换错误等警告提示需要重点注意,错误就隐藏在这些代码里面。没有使用的变量也需要注意,去掉无用的代码,让整个程序显得干净一点。不连接系统标准启动文件和标准库文件,只把指定的文件传递给连接器。这个选项常用于编译内核、bootloader等程序,它们不需要启动文件、标准库文件。-Os:相当于-O2.5优化,但又不所见代码尺寸,具体见链接:点击打开链接 点击打开链接。原创 2024-09-03 13:52:38 · 607 阅读 · 0 评论 -
Makefile基础知识
1)定义方式# <变量名> = <变量值> <变量名> := <变量值> <变量名> ::= <变量值>变量名区分大小写,可以是任意字符串,不能含有":", "#", "="2)使用方式# $(<变量名>) 或者 ${<变量名>}main.o : $(files) # 或者 ${files}...如果变量名只有一个字符,使用时可以不用括号,如$a, $b, 但不建议这样用,不管是否只有一个字符都写成$(a), $(b)这种形式3)Makefile读取过程。原创 2024-08-25 17:23:51 · 1026 阅读 · 0 评论 -
Linux下查看可执行文件信息
f<名称文件> 指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。-r:执行数据对象和函数的重定位,并且报告任何丢失的对象和函数;-c 详细显示指令执行过程,便于排错或分析程序执行的情形。目标文件:二进制目标文件,通常是库文件和可执行文件。-L 直接显示符号连接所指向的文件的类别。-m<魔法数字文件> 指定魔法数字文件。-d:执行重定位和报告任何丢失的对象;原创 2024-08-24 16:54:43 · 393 阅读 · 0 评论 -
Linux环境GCC介绍
GCC(英文全拼:GNU Compiler Collection)是 GNU 工具链的主要组成部分,是一套以 GPL 和 LGPL 许可证发布的程序语言编译器自由软件,由 Richard Stallman 于 1985 年开始开发。原创 2024-08-23 19:35:46 · 1395 阅读 · 0 评论