电子发烧友App

硬声App

扫码添加小助手

加入工程师交流群

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

电子发烧友网>嵌入式技术>Linux内核data段和bss段的区别

Linux内核data段和bss段的区别

收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论

查看更多

相关推荐
热点推荐

Linux系统内核Linux发行套件的区别

Linux 系统内核指的是由 Linus Torvalds 负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。
2022-11-02 16:45:241662

简单分析一下五式SVPWM和七式SVPWM的不同点

SVPWM的实现在前期的文章中已经详细地介绍过了,这里就不再阐述。现在主要说说五式SVPWM和七式SVPWM的实现的区别
2023-03-07 09:58:3918517

FSBL的数据和代码如何连接?

搞懂数据和代码是如何被链接成一个二进制文件的,这应该是每一个ARM程序员必须搞清楚的一个事情。
2023-07-21 09:02:081526

Linux内核地址映射模型与Linux内核高端内存详解

的数据可能不在内存中。 Linux内核地址映射模型 x86 CPU采用了页式地址映射模型。进程代码中的地址为逻辑地址,经过页式地址映射后,才真正访问物理内存。 页式机制如下图。 linux内核地址空间划分 通常32位Linux内核地址空间划分0~3G为用户空
2018-05-08 10:33:193776

#pragma DATA_SECTION的解释

is useful if you have data objects that you want to link into an area separate from the .bss
2018-09-25 10:45:25

Linux2.6与2.4内核驱动程序的区别是什么

设备驱动程序设计的基本概念与模型Linux2.6与2.4内核驱动程序的区别
2021-04-25 08:21:52

Linux内核抢占和用户抢占的概念和区别

本文详解了Linux内核抢占实现机制。首先介绍了内核抢占和用户抢占的概念和区别,接着分析了不可抢占内核的特点及实时系统中实现内核抢占的必要性。然后分析了禁止内核抢占的情况和内核抢占的时机,最后介绍了实现抢占内核所做的改动以及何时需要重新调度。
2019-08-05 08:18:07

Linux内核模块的加载机制

代码(.text)、数据(.data、.bss)和特殊(如.modinfo)。 2、检查ELF架构(e_machine字段)是否匹配当前内核(如EM_X86_64)。 如下是关键数据结构struct
2025-11-25 06:59:27

Linux内核自解压过程

Linux内核的启动流程。有兴趣的用户可以参考其他书籍或资料进行深入了解。  嵌入式linux内核的启动全过程主要分为三个阶段。第一阶内核自解压过程,第二阶主要工作是设置ARM处理器工作模式、使能MMU、设置一级页表等,而第三阶则主要为C代码,包括内核初始化的全部工作。
2020-12-29 07:35:26

Linux中的进程包含哪几个

进程是什么?Linux中的进程包含哪几个呢?进程创建思考运行结果?
2021-12-23 06:07:48

Linux内存系统---走进Linux 内存

:代码可执行代码、字符串字面值、只读变量· DATA:数据,映射程序中已经初始化的全局变量· BSS :存放程序中未初始化的全局变量· HEAP:运行时的堆,在程序运行中使用 malloc 申请
2020-08-26 08:05:43

linux软件系统分为哪几部分

,现在做学习总结笔记,希望对大家也会有帮助。linux进程由五组成,BSS、数据、代码、堆、栈组成。代码是全系统共享,所以进程内存优化主要是在BSS、数据、堆、栈内进...
2021-12-17 07:52:53

ARM中的RO,RW和ZI是什么意思

ARM中的RO,RW和ZI是什么意思
2021-04-28 06:12:13

ARM裸机重定位的目的是什么?如何实现

、 程序组成代码(text):运行指令数据data):全局变量只读数据(rodata):const全局变量Bss:初值为0的全局变量Common:注释3、使用链接脚本all
2022-05-16 14:32:37

RAM内存包括哪些部分呢

1. RAM内存 RAM内存包括:代码(text)、数据(data)、bss、堆栈(head stack)2. 编译器编译结果分析编译结果有代码(text)、数据(data)、bss
2022-02-28 07:24:50

RO、RW和ZI基础知识分享!

)================================================================================以上两个程序编译出来后的信息可以看出:Prog1和Prog2的RO包含了Code和RO Data两类数据。他们的唯一区别就是Prog2的RO Data
2019-10-27 21:23:15

RT-Thread在BSS清零后就初始化C++构造有什么作用呢

大家好,我现在正在学习RT-Thread,但是在学习启动代码的时候有一些疑问:1、在BSS清零后就初始化C++构造有什么作用呢?是必须初始化呢还是这个组件可选?2、在初始化C++构造后就直接跳到C
2022-03-21 09:26:54

STM32初运行如何确定为.BSS分配多大的空间及其空间首地址信息?

我们知道,程序运行须具备 .text .data .bss等,其中.bss内容并不会存储在 flash,而是在上电后系统运行动态分配,但分配的前提是系统知道 从哪个地址开始,分配空间大小
2024-03-25 07:40:35

Unix与Linux的一暗黑史分享

关于Unix与Linux的一暗黑史(上篇)
2020-06-11 16:54:58

arm程序.data的疑问。

我通过反汇编看.data,发现那里都是一些STM等指令操作,这个区不是应该是一些数据吗?
2018-07-26 12:42:31

sram内存块不适合mcal_bss怎么解决?

对于我的项目,我使用带有 EBTresos 的 S32K342 进行配置和 Autosar OS。我面临如下 sram内存块不适合 mcal_bss 问题。 链接 main.elf
2023-05-19 08:31:12

u-boot第一阶启动流程详解

脚本指定: *__bss_start bss起始地址 *__end bss结束地址 */ _bss_start:.word __bss_start _bss_end:.word _end
2018-07-04 04:51:18

【HarmonyOS】鸿蒙内核源码分析(内存管理篇)

占用程序运行时的内存空间。data 该段用于存储初始化的全局变量,初始化为0的全局变量出于编译优化的策略还是被保存在BSS。细心的读者可能发现了,鸿蒙内核几乎所有的全局变量都没有赋初始化值或
2020-10-14 12:05:22

一个程序本质上都是由哪几个组成的

一般情况,一个程序本质上都是由 bssdata、text三个组成——这是计算机程序设计中重要的基本概念。而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元
2021-12-21 07:08:46

为什么重定位的时候BSS不拷贝过去?

学习毕业班,有几个疑惑的问题,想请教大家,希望解答啊。(1)为什么重定位的时候BSS不拷贝过去?如果在SDRAM中调用这些BSS定义的变量或者地址,不是需要在SDRAM进行地址的转换吗?就跟
2019-07-29 23:19:02

单片机的内存使用问题汇总

对单片机编程后,程序的代码databss,rodata等都存放在Flash中。当单片机上电后,初始化汇编代码将databss,复制到RAM中,并建立好堆栈,开始调用程序的main
2021-12-13 07:55:57

如何查看CCS编译后程序、数据的大小?

hi, 编译文件时提示没有空间了,调整了code区域后,程序运行ram区域又不够了。想查看一下ccs编译完后,程序、数据bss的大小,可以吗?
2018-06-21 11:24:11

如何设置堆栈指针和清理BSS

嵌入式ARM开发环境下,设置堆栈指针和清理BSS的意义
2021-02-04 06:26:21

对堆栈起始地址的理解

,我们stm中是不加载的;可以看看linux下的ld链接程序,什么bssdata、code很清楚;RW-data:已初始化的全局变量;这个是我们程序运行是要搬运到ram的,且在...
2022-01-20 06:54:08

嵌入式ARM开发环境下为什么要设置堆栈指针和清理BSS

嵌入式ARM开发环境下,设置堆栈指针和清理BSS的意义
2021-04-02 06:39:49

求助,谁知道CH56x系列.BSS后面400多个字节谁在使用?

最近在搞CH565W开发,自己移植了RT-Thread操作系统,在分配内存过程中,发现从BSS结尾到stack开始(即:未使用的所有ram空间)分配给RT系统使用,程序会跑死!!从BSS后偏
2022-05-20 07:05:55

汇编程序的定义介绍

1 程序的定义 程序的一般格式如下: CODE SEGMENT ASSUMECS:CODE, DS:DATA START: MOVAX, DATA MOVDS, AX ...(其他
2025-11-21 08:19:25

浅谈textdatabss

不在可执行文件中,由系统初始化。 关于databss更详细的区别我们不妨用下面2小程序说明一下 程序1:int ar[30000];void main(){ ......} 程序2:int ar
2017-08-21 15:51:25

清除BSS,加入bss_loop后LED就不工作了怎么解决?

清除BSS,加入bss_loop后,LED就不工作了
2023-09-27 06:42:48

点阵屏与LCD码屏区别是什么呢?

信息的,每种液晶显示屏都是有差异的,那么点阵屏和液晶屏有啥区别呢,码屏和点阵屏的区别如何呢?由深圳兴宇合技术人员分析解读,希望对大家有所帮助。1、点阵液晶屏是什么意思点阵液晶屏是按照一定顺序规则排列
2021-10-15 12:02:39

请问data数据的大小是在编译期间就已经确定的吗?

uboot中已经初始化的全局变量保存在 data中,这个data的大小是在编译期间就已经确定的吗?data是在bin文件中的吗?我们在代码的重定位阶段需要对其进行相关操作吗?
2019-04-28 09:59:13

请问STM32在芯片启动时如何知道.BSS应该寻址到哪里,范围是多少?

STM32在芯片启动时如何知道.BSS应该寻址到哪里,范围是多少?我们知道下载到flash中的固件包含.text,.data信息,而.bss应该是系统动态建立的,但是芯片是怎么知道.BSS的地址和范围的呢?!
2022-12-05 07:17:50

请问TMS320F2809中的L0/L1/H0 SARAM双重映射数据和程序的地址空间能重合吗?

、H0(SARAM)为程序或者数据之后,M0、M1、L0、L1、H0(SARAM)应该各自放下面哪些?有什么要求吗?未初始化块(data).bss 存放全局和静态变量.ebss长调用的.bss(超过
2018-10-24 15:50:16

请问__bss_start是直接表示bss起始地址的值吗?

__bss_start.globl _bss_end_bss_end:.word __bss_end/* * 清BSS */clear_bss:ldr r0, _bss_start /* find
2019-07-19 05:42:50

请问opencv组件.bss太大了怎么放到片外RAM?

我试过 在定义时,cv::QRCodeDetector QRdetecter 前面加 EXT_RAM_BSS_ATTR,但是并没有用。IDF文档中提到,利用链接器片段方案 extram_bss 将组件或库的 BSS 放到片外 RAM 中。然而这方面的具体教程。
2024-06-05 08:19:43

请问在SVPWM算法里,7式SVPWM和5式SVPWM在编程方面有什么区别

本帖最后由 一只耳朵怪 于 2018-6-13 16:16 编辑 请问高手,在SVPWM算法里,7式SVPWM和5式SVPWM在编程方面有什么区别?谢谢!
2018-06-13 02:34:13

请问数据/代码/BSS/栈/堆存放什么量?

请问数据/代码/BSS/栈/堆存放什么量?
2021-12-03 06:06:00

请问链接脚本文件里面的代码,数据bss的位置可以更改吗?

(4) : {*(.rodata)} //3.data ALIGH(4): {*(.data)} //4.bss ALIGH(4) : {*(.bss) *(COMMON)} //5}代码都在最前面,数据在其后,bss在最后,这种位置顺序是否可以更改呢?比如说把代码放到最后的位置还可以吗?
2019-06-25 02:25:48

Linux内核中文版教程

Linux内核中文版教程
2009-03-28 09:45:490

Linux内核教程

本章学习目标掌握LINUX内核版本的含义理解并掌握进程的概念掌握管道的概念及实现了解内核的数据结构了解LINUX内核的算法掌握LINUX内核升级的方法
2009-04-10 16:59:190

码屏可 专业定制LCD液晶显示屏

 码屏可专业定制LCD液晶显示屏:高对比度,宽视角,带感应触摸,尽显高端!以低廉的设计开发成本,凸显终端产品的简捷高端大气!视频为真实显示效果,拍摄技术有限,实物效果更佳!可按照客户要求
2024-12-23 13:40:15

/偏移/物理地址

地址:8086CPU将1MB的存储器空间分成许多逻辑,每个最大限制为64KB, 地址就是逻辑在主存中的起始位置。为了能用16位寄存器表示地址,8086规定地址必须是模16地址,
2010-06-30 10:39:472538

代码、数据、附加、堆栈定义

代码:程序员在编制程序时要把存储器划分成,代码用来存放程序的指令序列,代码地址存放在CS中,指令指针寄存器IP指示代 码中指令的偏移地址,处理器利用CS:IP
2010-06-30 10:41:5810533

Linux内核编译详谈

Linux内核编译详谈
2017-10-30 09:51:357

Linux内核配置系统详解

随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后
2017-11-01 15:45:544

基于地址随机和隔离的GOT保护方法

的特性,提出并实现了基于地址随机和隔离的GOT保护方法。通过修改Linux的可执行程序加载器,将与GOT有数据指向关系的节均加载到随机内存地址;同时使用隔离技术,对GOT的代码引用的指令使用一个新的寄存器进行间接引用。实验结果证明,该方法不仅能
2017-12-15 16:20:550

U和V无线话筒的区别以及U比V好的方面解析

V确实在多套无线话筒使用时有互相干扰的情况,当然也不能说U就没有,只是它的扩展范围大,可以尽量调开。那么二者有何区别?哪种更具优势?这里就来梳理一番,让你彻底弄清楚。
2018-01-19 10:11:0454156

在ARM开发环境下C语言的设置堆栈指针和清理BSS的作用概述

以前稍微写过操作系统上的C程序,感受不出来:BSS,堆栈的意义。到了在单片机上写程序也没有考虑这些问题。但
2018-05-19 09:55:397242

macOS和Linux内核之间的区别详解

有些人可能会认为 macOS 和 Linux 内核之间存在相似之处,因为它们可以处理类似的命令和类似的软件。有些人甚至认为苹果公司的 macOS 是基于 Linux 的。事实上,两个内核有着截然不同的历史和特征。
2018-07-23 15:04:166331

论述学习Linux内核的各个阶段

理解Linux内核》、《深入Linux内核架构》这样的书,不过懒得看也没有关系,因为你的工作让你自己有了分析的能力。
2018-08-20 17:23:045478

什么是临界 RTOS临界的作用是什么

代码的临界也称为临界区,指处理时不可分割的代码区域,一旦这部分代码开始执行,则不允许任何中断打断。为确保临界代码的执行不被中断,在进入临界之前须关中断,而临界代码执行完毕后,要立即打开中断。
2018-10-06 14:38:0012377

你知道bss,data,text,rodata,堆,栈,常量区别

堆是用于存放进程运行中被动态分配的内存,它的大小并不固定,可动态扩张或缩减。当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)
2019-04-26 17:07:2210799

Linux0.11-内核和用户空间的数据传输

内核空间数据的选择符为0x10,用户空间数据选择符为0x17。内核空间、用户空间之间的数据传输,是间数据传输。C语言中的赋值语句编译成汇编后,“=”两边的变量默认选择符都是DS,因此只能用于同一内数据传输。
2019-05-15 15:34:111473

2.4G与UHF讲解器之间到底有什么区别

目前,很多主流无线讲解器一般是2.4G以及U(UHF),除采用2.4G和U频率,两者都是在短距离语音传输上有很好的抗手机等无线干扰能力,保密性好,语音信号失真度小,能很好的保证语音质量。满足讲解场景需求,那么今天我们就来看看2.4G与U区别在哪里:
2020-01-06 08:00:001

自动开关二保护和三保护

第I保护本线路全长的80%-90%,这是一个严重缺点,为了切除本线路末端10%-20%范围内的故障,就需设置距离保护第II。第II距离保护不超出下一条线路距离I的保护范围
2020-02-28 09:01:577841

什么是错误?

来源:聚优致成 一、什么是错误?一旦一个程序发生了越界访问,cpu 就会产生相应的保护,于是 segmentation fault 就出现了,通过上面的解释,错误应该就是访问了不可访问的内存
2020-09-11 14:04:1317409

linux内核是什么_linux内核学习路线

Linux内核是一个操作系统(OS)内核,本质上定义为类Unix。它用于不同的操作系统,主要是以不同的Linux发行版的形式。Linux内核是第一个真正完整且突出的免费和开源软件示例。Linux 内核是第一个真正完整且突出的免费和开源软件示例,促使其广泛采用并得到了数千名开发人员的贡献。
2020-09-16 15:49:503072

linux内核参数设置_linux内核的功能有哪些

本文主要阐述了linux内核参数设置及linux内核的功能。
2020-09-17 14:40:491635

最硬核的Linux内核文章

来源 :头条号@Linux学习教程,冰凌块儿 01 前言 本文主要讲解什么是Linux内核,以及通过多张图片展示Linux内核的作用与功能,以便于读者能快速理解什么是Linux内核,能看懂Linux
2020-10-19 17:46:082642

快速理解什么是Linux内核以及Linux内核的内容

01 前言 本文主要讲解什么是Linux内核,以及通过多张图片展示Linux内核的作用与功能,以便于读者能快速理解什么是Linux内核,能看懂Linux内核。 拥有超过1300万行的代码,Linux
2020-10-21 12:02:534905

何谓7LED?7LED电路结构

何谓7LED? 7LED是专门用于数字显示的数字显示模块。 因为发光二极管(LED)放置在要显示的数字形状部位,所以具有良好的可视性。也被称为“LED数字显示器”。 7LED每个部位的名称 7
2021-05-24 16:20:257276

鸿蒙内核源码:内核空间是怎么初始化的?

data 该段用于存储初始化的全局变量,初始化为0的全局变量出于编译优化的策略还是被保存在BSS
2021-04-26 14:43:152571

Linux 5.10.5内核正式发布

1月6日,Linux基金会宣布,Linux 5.10.5内核正式发布,所有5.10内核系列的用户都必须升级。
2021-01-07 14:36:573112

过流和二过流与三过流到底是什么

过流即过电流保护。三式电流保护指的是电流速断保护(第一)、限时电流速断保护(第二)、定时限过电流保护(第三),相互配合构成的一套过电流保护机制。
2021-02-10 17:45:0024841

Linux内核和Windows内核有什么区别

对于服务器使用的操作系统基本上都是 Linux,而且内核源码也是开源的,任何人都可以下载,并增加自己的改动或功能,Linux 最大的魅力在于,全世界有非常多的技术大佬为它贡献代码。
2021-03-03 14:52:352963

嵌入式LINUX系统内核内核模块调试

嵌入式LINUX系统内核内核模块调试(嵌入式开发和硬件开发)-嵌入式LINUX系统内核内核模块调试                 
2021-07-30 13:55:2110

Linux内核与MCU微内核区别

MCU的微内核,如ucos-ii在编译的时候已经确认了所有的Task的代码,堆栈,常量端等等而且这些端都是直接和物理地址绑定,这里可以称之为编译物理地址绑定这样就会产生一个问题,如:我先开发一个
2021-10-28 16:06:102

基础知识——嵌入式内存使用分析(text data bss及堆栈)

1. RAM内存 RAM内存包括:代码(text)、数据(data)、bss、堆栈(head stack)2. 编译器编译结果分析 编译结果有代码(text)、数据(data
2022-01-13 15:47:240

段段存储介绍

.text代码: 用来放程序代码(code), 在代码编译完成后, 长久只读存放于此,属于图中的代码
2022-09-28 15:39:011358

错误是什么意思?是何原因引起的?

刚接触指针的时候,经常会遇到错误。所谓错误,就是访问了不能访问的内存。
2023-02-13 09:41:084586

什么是RTOS临界

代码的临界也称为临界区,指处理时不可分割的代码区域,一旦这部分代码开始执行,则不允许任何中断打断。为确保临界代码的执行不被中断,在进入临界之前须关中断,而临界代码执行完毕后,要立即打开中断。
2023-02-14 09:48:011780

一文了解多个的相关程序

上回我们简单认识了一下什么是前缀和一安全的空间是哪里,但是程序中不会仅有一个,复杂程序必然是包含多个的,这篇文章我们就来了解下多个的相关程序。
2023-03-08 14:28:001184

什么是7LED

7LED是专门用于数字显示的数字显示模块。 因为发光二极管(LED)放置在要显示的数字形状部位,所以具有良好的可视性。 也被称为“LED数字显示器”。 7LED每个部位的名称 7LED每个部位
2023-04-30 11:12:002957

FSBL的数据和代码如何连接?

搞懂数据和代码是如何被链接成一个二进制文件的,这应该是每一个ARM程序员必须搞清楚的一个事情。
2023-07-06 09:50:252127

状态机的一式、二式、三式的区别

本篇文章描述状态机的一式、二式、三区别.
2023-08-21 09:25:1912382

式距离保护和三式电流保护原理是相同的,它们有哪些区别

式距离保护和三式电流保护原理是相同的,它们有哪些区别?  三式距离保护和三式电流保护是电气保护系统中常用的两种保护方式,它们在基本原理上是相同的,采用相同的三划分保护区域,并且在保护操作
2023-09-18 09:57:287811

Linux内核入口stext分析

stext 从上面的ENTRY(stext)可以知道,一开始是运行stext,这个内的代码是 start_kernel 函数前汇编环境的初始化。 linux4.14/arch/arm64
2023-09-28 17:07:551927

什么是一过流、二过流、三过流?

过流即过电流保护。三式电流保护指的是电流速断保护(第一)、限时电流速断保护(第二)、定时限过电流保护(第三),相互配合构成的一套过电流保护机制。 1,近区短路0秒跳闸,一般保护到母线侧线
2023-10-16 10:25:293497

已全部加载完成