![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 61
linux 内核、应用层编程、程序编译链接
嵌入式软件和硬件
有趣才精彩,而不是精彩才有趣
展开
-
linux 系统基础
linux 基础使用原创 2022-10-05 11:17:01 · 305 阅读 · 1 评论 -
linux 程序编译链接过程、动态库、静态库、elf文件
GCC编译链接过程:指令gcc -E hello.c -o hello.igcc -S hello.i –o hello.sgcc –c hello.s –o hello.ogcc hello.s –o hello 链接,生成可执行文件目标文件分三种格式1、可重定位目标文件:二进制代码和数据,由各个数据节(section)构成,从地址0开始。2、可执行目标...原创 2019-05-19 15:40:39 · 2586 阅读 · 1 评论 -
Linux驱动入门—第一个驱动hello编写
1、环境配置:构建内核树,下载和目标机运行的“相同”内核源码,编译安装,安装内核。【编译安装内核见另一博客】/src/usr/目录保存下载的源码。驱动模块编译需要和内核链接,需要内核源码 【注】一般用此目录,不用也可以,随便哪个目录编译安装好后结果得到如下结果:/lib/modules/x.x.x-x-generic 目录下存在安装的内核模块 【此文件夹是内核编译安装的时候...原创 2019-02-22 21:09:06 · 3426 阅读 · 1 评论 -
Linux驱动入门—第一个驱动之 Makefile文件分析
ifneq ($(KERNELRELEASE),) #注释make命令后KERNELRELEASE没有定义,所以执行先elseMODULE_NAME = hellomodule$(MODULE_NAME)-objs := hello1.o hello2.o #表示hellomodule.o由1,2链接成obj-m := $(MODULE_NAME).o ...原创 2019-02-22 22:02:23 · 236 阅读 · 0 评论 -
Ubuntu中的GCC版本设置问题
由于不同的内核有时候需要不同版本的编译器进行编译,需要更换编译器版本。1、查看已经安装的gcc版本# ls /usr/bin/gcc*或者# update-alternatives --config gcc 【使用此命令任意切换gcc版本】【注释】*号表示当前版本写给自己:Ubuntu16.04自带gcc5.4和g++5.4,由于讯为开发板编译需要,降级到4...原创 2019-02-22 22:30:49 · 499 阅读 · 0 评论