内核功能简介内核,是基于硬件的第一层软件扩充,是操作系统的核心,提供操作系统最基础的功能,是操作系统的基础。它为众多应用软件提供计算机硬件的安全访问的一部分软件,这种访问资源是有限的,并且内核决定一个程序对某
转载
2024-10-18 10:49:19
20阅读
一、简介linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中。二、安装linuxdeployqt去github直接下载编译好的 linuxdeployqt-x86_64.AppImage 应用程序文件。下载好之后,将其改名为linuxdeployqt,并chmod +x,然后复制到 /usr/local/bin/。
本文围绕STM32 ST-LINK Utility讲几点主要功能及相关拓展知识:1.STM32编程下载;2.利用该编程工具查看内核运行状态;3.Option Bytes选项字配置;1STM32编程下载STM32 ST-LINK Utility一个最重要的功能就是对STM32进行编程。支持常见的hex、bin文件,还有早期摩托罗拉定义的srec和s19格式的文件(说实话,我都不了解这两种格式的文件)
概要如果你接触虚拟机,Docker,云计算等等,都会使用到虚拟化的技术。而在用虚拟化技术时,常见的就是 KVM 有 OpenVZ。KVM 与 OpenVZ 的区别?https://www.vipiu.net/archives/2019/07/10/1956.html那么什么是 KVM 呢?请看下文!正文1、什么是 KVM基于内核的虚拟机 Kernel-based Virtual Machine(K
转载
2023-12-12 23:59:59
38阅读
因为一直想从事安全方面的工作,所以,我也要学习和熟悉Linux内核,以及内核相关的开发。在研究内核的开始,就必须构建一套开发环境,这个是每个程序员好像做某个特定事情之前,必须要经历的步骤。我选用的Ubuntu18.04作为开发机,然后采用了linux-4.19.157这个版本的内核。第一步就是下载内核,直接在 https://www.kernel.org/ 下载,选择你需要的内核下载下来就好。解压
续前节:linux下的 c 和 c++ 开发工具及linux内核开发工具
继续工具的介绍:ftrace ftrace 除了 trace-cmd 这个命令行前端工具之外,还有一个图形化显示前端工具叫 kernelshark,非常好用,有时间片显示和过滤功能。kernelshark 和 trace-cmd 都可以使用apt安装。使用方法是先用trace-cmd产生trace.dat文件
经过将近两天的努力,终于将内核编译成功。现做笔记如下: 1.安装好基本系统后,首先要做的是升级刚安装好的基本系统,否则在进行后面步骤的时候会遇到老的内核(我的是2.6.8-2)被移除的麻烦。 aptitude update aptitude dist-upgrade (aptitude比apt-get更稳定,建议用aptitude,但是用aptitude后就尽量不要再用apt-get) 2.系统升
转载
2024-04-03 11:12:55
249阅读
文章目录一、Linux 介绍二、Linux 内核的编译与烧录1. 获取Linux kernel2.Linux 内核目录分析3. 编译内核4.下载到开发板 一、Linux 介绍Linux 由 Linux 基金会管理与发布, Linux 官网为 https://www.kernel.org,NXP 会从 https://www.kernel.org 下载某个版本的 Linux 内核,然后将其移植到自
转载
2024-05-15 11:30:11
107阅读
1:内存管理:内存分配调用:包括静态分配方式,动态分配方式内存保护:确保每个程序在自己的内存空间运行,互不干扰。方法是使用界限寄存器或存储保护键地址映射:实现程序的逻辑地址与存储器物理地址之间的映射功能内存扩充:从逻辑上扩充物理内存,以允许比物理内存更大的程序在机器内运行,为此操作系统必须具有:请求调入功能与置换功能。2:进程管理进程控制:包括进程创建,进程撤销,进程阻塞,进程唤醒进程协调:由于进
本文主要参考LDD3 第四章及linux设备驱动开发详解(宋宝华)的第22章调试嵌入式内核的方法如下:一、 首先要在编译内核时打开许多调试选项,这样在驱动程序出错时就会打印出尽可能多的调试信息。二、 通过printk, oops, strace, /proc,等进行观察调试(最常用)三、 目标机插桩,如打上KGDB补丁,利用gdb, kgdb工具在主机端调试目标机。四、 利用仿真器,仿真器可以直接
转载
2024-05-25 19:28:04
75阅读
一、Linux内核配置编译 1. 交叉编译设置:make ARCH=arm CROSS_COMPILE=arm-linux-注:也可以直接修改顶层Makefile ARCH ?= arm
CROSS_COMPILE ?= arm-linux- 2. 加载默认设置:make mini2440_defconfig① make mini2440_config:
什么是core dump?分析core dump是Linux应用程序调试的一种有效方式,core dump又称为“核心转储”,是该进程实际使用的物理内存的“快照”。分析core dump文件可以获取应用程序崩溃时的现场信息,如程序运行时的CPU寄存器值、堆栈指针、栈数据、函数调用栈等信息。Core dump是Linux基于信号实现的。Linux中信号是一种异步事件处理机制,每种信号都对应有默认的异
转载
2024-02-19 11:52:44
315阅读
1、内核调试配置选项内核拥有多项用于调试的功能,但是这些功能会造成额外的输出并导致性能下降,因此,内核通常都是禁止掉调试功能。 内核调试相关的配置项主要集中在内核配置菜单"Kernel hacking"中,在使用下面的调试手段时,先确保内核相关的调试 配置项已经开启。2、BUG()和BUG_ON()#ifndef HAVE_ARCH_BUG
#define BUG() do { \
printk
转载
2024-10-01 21:57:51
273阅读
检查Makefile的配置项1.检查交叉编译工具链。 CROSS_COMPILE ?= /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-2.确认ARCH = arm。主要目的是为了编译时能找到arch/arm目录。可能出现的错误:make: *** arm/kernel.git/arch/arm: Is a directory.
[TOC]1. 使用内核模块管理内核模块,需使用kmod实用程序,安装方法如下:[root@localhost ~]# yum install kmod1.1 什么是内核模块Linux内核在设计上是单一的,但是,它根据每个用例的要求使用可选或附加模块进行编译,这意为着你可以通过使用动态加载内核模块来扩展内核的功能,内核模块可以提供:设备驱动程序,增加了对新硬件的支持支持文件系统,如GFS2或NFS
转载
2024-05-13 19:01:14
271阅读
串口(uart)是一种低速的串行异步通信,适用于低速通信场景,通常使用的波特率小于或等于115200bps。对于小于或者等于115200bps波特率的,而且数据量不大的通信场景,一般没必要使用DMA,或者说使用DMA并未能充分发挥出DMA的作用。对于数量大,或者波特率提高时,必须使用DMA以释放CPU资源,因为高波特率可能带来这样的问题:对于发送,使用循环发送,可能阻塞线程,需要消耗大量CPU资源
转载
2024-10-20 06:47:15
84阅读
一、 前言5G网络作为新一代无线接入技术,相比4G等其他技术,它带来了更高传输速率、更低时延和海量机器类通信。尽管5G本身在多个传统行业领域发挥出极大的赋能效应,但它也不是企业数字化建设的灵丹妙药,要实现5G在行业应用,需要考虑并融合边缘计算、人工智能、网络切片和无线网络定制化等技术,才能实现更低的部署成本和更灵活的网络功能,从而让5G网络更加契合企业的应用和生态,赋能传统企业的数字化转型。综合来
OSPF(Open Shortest Path First)是一种路由协议,用于在计算机网络中动态地选择路由的算法。它是由IETF(Internet Engineering Task Force)定义的一个开放的标准,并被广泛应用于各种网络环境中。在华为设备中,OSPF也被广泛使用,以实现网络之间的互联和数据传输。
在华为设备中,启用OSPF是一项重要的配置工作。正确认识和配置OSPF对于网络的
原创
2024-02-23 10:19:39
25阅读
今天分享一个内核调试实用工具——devmem。
相信很多做底层驱动的人都会经常用到
什么是devmem?
在Linux系统,如果我们想要访问某个寄存器,就需要写一个驱动程序,在驱动中映射寄存器地址,转为虚拟地址后就可以访问。
但有时候,我们只是单纯想知道某个寄存器的值,不想这么麻烦,怎么办呢?
Linux早就想到这一点了,于是提供了一个工具devmem,通过devmem就可以直接读写寄存器,
de
内核配置中将CONFIG_DEVMEM选项配置后,会有/dev/mem设备节点,内核对应的驱动代码是
原创
2022-10-31 15:49:52
289阅读