Linux 是单内核操作系统,所有的内核功能被整体编译在一起,形成一个单独的内核镜像文件。 优点是执行效率非常高,缺点是要增加、删除、修改内核的某个功能,需要重新编译和重启整个系统。 后来 Linux 引入内核模块来弥补这一缺点。 内核模块是单独编译的一段代码,在 Linux 运行时可动态的加载和卸
学习驱动必知: 学习驱动的目的不是为了开发驱动,而是能看懂并移植驱动,使硬件能正常工作。 现在很少有机会自己从零开始实现一个复杂的驱动。 现在驱动的需求很少了,不可能单独作为一个岗位的,都是搞 Linux 应用开发的顺带的工作,想找驱动的工作就是在做梦。 新人基本上是搞不了驱动的,投简历也是没人搭理
内核配置 (1)需要先设置CPU的架构,和交叉编译工具: 在顶层 Makefile 文件,将: ARCH ?= $(SUBARCH) CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) 改为: ARCH ?= arm CROSS_COMPILE ?= a
开发板:TL3506-MiniEVM_S(256MB DDR+256MB NAND FLASH) ¥299 SDK 位置:\4-软件资料\Linux\LinuxSDK\LinuxSDK-v1.2.tar.gz 内核:\4-软件资料\Linux\Kernel\src\linux-6.1.99-v1.2
项目配置 cmake_minimum_required(VERSION 3.0) # 最低 cmake 版本 project(app C) # 项目名称和开发语言 add_executable(可执行文件名称 源文件) # 生成可执行文件 指定C++标准 方法1 set(CMAKE_CXX_STA
Makefile 主要使用在没有集成开发环境时,对工程文件进行自动化编译的工具。 Makefile的本质是一个文件,需要配合make命令进行自动化编译。文件名常首字母大写. Makefile文件的命名:makefile或者Makefile。 (推荐首字母大写的用法) make是一个命令工具,用来解释
Linux的指令可使用man、info进行查询。 例如 man ls、info ls 使用q退出。 登录后,root的命令提示符为#,普通用户的提示符为$ 几个特殊的目录名: .:当前目录 ..:上一层目录 -:前一个目录 ~:用户所在的家目录