电子发烧友App

硬声App

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

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

3天内不再提示

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

Linux内核data段和bss段的区别

收藏

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

评论

查看更多

相关推荐

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

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

Linux内核的作用

Linux操作系统是当今世界上最为广泛使用的开源操作系统之一,内核则是一个操作系统的核心和灵魂所在。对于一名Linux驱动开发者来说,了解Linux内核的运行机制和Linux内核提供的一些关键功能(如虚拟内存管理、进程管理、文件系统、网络协议栈等)都是我们日常工作和学习的重点。
2023-07-06 11:46:411046

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

Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应
2018-05-08 10:33:193299

#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

7LED字符码表

本帖最后由 eehome 于 2013-1-5 09:52 编辑 刚入门不久,还在学一些基本的东西。整理了7LED数码管常用的数字和字符码表,共享在这里。
2012-12-31 13:04:07

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

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

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

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

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

linux2.3.22.6内核启动第二阶(start_kernel函数主要流程)

linux2.3.22.6内核启动第二阶(start_kernel函数主要流程)[size=12.0000pt]一、前言UBOOT在特定内存处( 0x30000100)以TAG格式设置好的参数传给
2015-05-01 17:16:46

linux内核打印函数printk的方法

1.linux内核打印函数printk一、函数有头文件二、定义的关键宏三、函数原型合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一漂亮的代码片生成一个适合你的列表创建一个
2021-12-20 07:02:03

linux软件系统分为哪几部分

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

ARM32 Linux的内存布局

和 _init_end为init的起始和结束地址,包含了大部分模块初始化的数据数据:_sdata和 _edata数据的起始和结束地址,保存大部分内核的变量BSSbss_start和 _bss_stop为BSS
2022-04-24 14:20:19

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

RTOS临界知识详解

不同的是,RT-Thread 对临界的保护处理的很干脆,不管三七二十一直接把中断全部关了(直接操作PRIMASK内核寄存器), 只有NMI FAULT 和硬 FAULT能被相应。 这种方法简单粗暴,是很不错
2018-10-09 11:02:48

Unix与Linux的一暗黑史分享

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

arm-linux-ld命令 ld链接脚本

的,注意我们这里使用的不是arm-linux-gcc而是arm-elf-gcc,二者之间没有什么比较大的区别,arm-linux-gcc可能包含更多的库文件,在命令行的编译上面是没有区别。我们来看是如何编译
2012-02-20 09:39:13

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

【泰凌微TLSR9系列开发套件试用体验】代码执行过程分析

的是DLM_CPU的高地址处。 其他的BSS,DATA等的分配都可以类似的去分析。启动代码前面通过链接脚本找到向量.vectors 所以搜索.vectors 双击如下搜索到的结果 可以找到启动代码如下
2022-06-13 20:57:07

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

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

串口屏和码屏的区别

,比我们码液晶屏大概贵了3-4倍,很多人不懂串口屏是什么,简单的来讲串口屏就是带串口控制的液晶屏,详细定义:一套由单片机或PLC带控制器的显示方案,显示方案中的通讯部分由串口通讯,UART串口或者SPI
2019-01-23 15:53:03

为什么uboot在第一阶就已经进行时钟初始化了

请问:1. uboot在第一阶就已经进行时钟初始化了,为什么第二阶还要进行,两者之间有什么区别?2. 在start_armboot中为什么init_fnc_t**init_fnc_ptr
2019-09-23 02:28:27

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

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

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

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

基于安卓Data DashBoard手机界面运行一时间后停止???谁遇到过这个问题?

` 安卓Data DashBoard手机界面运行一时间后停止???谁遇到过这个问题?`
2017-07-28 15:48:57

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

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

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

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

如何进行合适的COFF代码设置?

介绍了DATA方法直接烧写原理,如何进行合适的COFF代码设置,如何保存烧写数据DATA以及二级加载程序和在线烧写程序的相应设计。
2021-04-23 06:01:46

对堆栈起始地址的理解

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

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

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

最简单的u-boot

*)}   //只读数据代码的结束地址按4个对齐接下来就放只读数据. = ALIGN(4);.data : { *(.data) }    //数据. = ALIGN(4);__bss
2020-01-15 20:49:42

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

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

汇编语言r0和r1之间有什么区别

ARM裸机第一期,第13课 代码重定位;源码在目录005_ARM裸机1期加强版\源码文档图片\源码\012_relocate\009老师的汇编代码:/* 重定位text, rodata, data
2019-08-30 05:45:12

浅谈Linux发行版之间的联系和区别

前言:现如今Linux的发行版本多之又多,其大家族可谓是“枝繁叶茂,子孙满堂”。那么它们各版本之间有着怎样的联系和区别呢?Linux发行版之间的联系想必大家心中早已有答案。没错!既然同属这个
2019-07-08 08:25:37

浅谈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

第11章 临界,任务锁和中断锁

转rtx操作系统 本章教程为大家讲解几个重要的概念,临界,任务锁和中断锁。本章教程配套的例子含Cortex-M3内核的STM32F103和Cortex-M4内核的STM32F407。11.1 临界
2016-10-04 19:58:07

请问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

请问cmd中heap默认是在哪个分配呢?

[.bss > DDR2.cinit > DDR2.cio > DDR2.const > DDR2.data > DDR2.far > DDR2.stack > DDR2.switch > DDR2.sysmem > DDR2.text > DDR2]*/
2019-10-25 09:53:14

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

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

请问在sy***ios下如何找到内存设置?

Hello,如您所知,当我们再没有sy***ios系统的时候,我们用下面的代码,通过阅读.cmd 文件,很容易知道内存,.user_data_msmcsram,.user_data_int在具体
2018-07-25 07:56:03

请问数据/代码/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

转:第15章 FreeRTOS临界和开关中断

第15章FreeRTOS临界和开关中断 本章教程为大家讲解两个重要的概念,FreeRTOS的临界和开关中断。 本章教程配套的例子含Cortex-M3内核的STM32F103和Cortex-M4
2016-08-31 10:15:19

鸿蒙内核源码分析(内存管理篇):虚拟内存和物理内存是怎么管理的

Linux管理方式。上图是Linux的内存布局图,鸿蒙的没看到,但应该也是这样,笔者后续将再确认(?),有代码中有迹可循,如下://堆区的开始位置是 bss的结束位置UINTPTR
2020-11-20 16:48:03

鸿蒙内核源码分析(内存管理篇):虚拟内存和物理内存是怎么管理的

内存一开始就是一张白纸,这些extern就是给它画大界线的,从哪到哪是属于什么。这些值大小取决实际项目内存条的大小,不同的内存条,地址肯定会不一样,所以必须由外部提供,鸿蒙内核采用了Linux
2020-11-20 10:54:31

Linux内核中文版教程

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

Linux内核教程

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

BSS信令大全

BSS信令大全:1. BSS系统中的信令应用 12. BSS系统的信令模型 23. 各层信令在BSS系统中的作用 64. 移动主叫流程 175. 移动被叫流程 346. 位置更新流程 5
2009-05-21 23:02:4222

Linux内核模块有什么用?

内核LINUX内核Linux开发
jf_97106930发布于 2022-08-26 19:45:17

《深入Linux内核架构》 莫尔勒著

电子发烧友为您提供了免费下载,《深入Linux内核架构》一书讨论了Linux内核的概念、结构和实现。内核对一致和非一致内存访问系统使用相同的数据结构。 Linux 操作系统的源代码复杂
2011-07-10 11:24:170

linux内核的完全注释

linux内核的完全注释
2017-10-29 10:02:4918

Linux_内核注释

Linux_内核注释
2017-10-30 09:45:569

Linux内核编译详谈

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

Linux内核配置系统详解

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

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

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

Linux内核与Android的关系

Android虽然建立在Linux内核之上,但是他对内核进行了一些扩展,增加了一些驱动。比如Binder,loger等等驱动。可以拿Android内核代码和其Baseline版本进行对比。可以看到Android对Linux内核的所有扩展。
2018-09-09 09:10:004369

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

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

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

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

最硬核的Linux内核文章

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

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

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

Linux 5.10.5内核正式发布

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

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

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

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

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

Linux内核文件Cache机制

Linux内核文件Cache机制(开关电源技术与设计 第二版)-Linux内核文件Cache机制                
2021-08-31 16:34:544

嵌入式Linux内核编译

实验环境VMware Workstation PlayerUbuntu16.04kernel-3.2.tar.bz2Linux内核编译在ubuntu上编译嵌入式Linux内核,需要大家提前安装好交叉
2021-11-01 17:07:2016

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

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

Linux内核】从小小的宏定义窥探Linux内核的精妙设计

Linux内核】从小小的宏定义窥探Linux内核的精妙设计
2022-08-31 13:30:061602

Linux内核如何使用结构体和函数指针?

我将结合具体的Linux内核驱动框架代码来展示Linux内核如何使用结构体和函数指针。
2023-09-06 14:17:55516

ubuntu和linux区别

Ubuntu和Linux是两个相关但不完全相同的概念,它们之间有着一些区别。在开始深入讨论Ubuntu和Linux之间的区别之前,让我们首先了解一下这两个概念的含义。 Linux是一种开源操作系统
2023-11-27 17:06:28621

已全部加载完成