娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

12.bss段的初始化

發布者:BlissfulJourney最新更新時間:2024-10-22 來源: cnblogs關鍵字:初始化  數據段 手機看文章 掃描二維碼
隨時隨地手機看文章

12.bss段的初始化

在C代碼:有初始化全局的數據段,局部的棧,malloc部分的堆,未初始化的全局的bss段。

從上面的編譯的信息知道:

Bss段的起始地址:0001052c

Bss段的結束地址:00010534

我們的hello變量的地址:00010530是落在bss段里的地址的。所以是存在bss段的。這就是未初始化的全局變量存放在bss段。

接下來我們就來初始化bss段:

在我們的鏈接器腳本,有我們bss段的起始地址和結束地址:

start.S的代碼實現:

Make后測試。


關鍵字:初始化  數據段 引用地址:12.bss段的初始化

上一篇:11.棧的初始化
下一篇:13.c和匯編的相互調用

推薦閱讀最新更新時間:2025-04-25 12:07

Part10-C語言環境初始化-棧初始化lesson1
1、概念解析 ARM系統使用的是滿棧! ARM采用降棧!??! 棧幀 每一個進程會有一個棧,該進程中的每一個函數會分割棧的一部分,那么每一個函數使用的那部分棧就叫做棧幀。那么所有棧幀組成了整個棧。 子函數func里面保存了main函數的上邊界FP和下邊界SP。 2、棧的作用 保存局部變量 代碼樣例 編譯之: arm-linux-gcc -g stack1.c -o stack1 反匯編之:arm-linux-objdump -D -S stack1 dump dump里面的結果 首先是push {sp},具體是將str fp, !,里面讓sp先減4再存。加一個!號,表示使sp-4,但不會對sp本身有影響 add
[單片機]
Part10-C語言環境<font color='red'>初始化</font>-棧<font color='red'>初始化</font>lesson1
stm32初始化流程圖解析
  STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內核。   stm32參數:   12V-36V供電   兼容5V的I/O管腳   優異的安全時鐘模式   帶喚醒功能的低功耗模式   內部RC振蕩器   內嵌復位電路   工作溫度范圍:-40°C至+85°C或105°C   stm32特點:   內核:ARM32位Cortex-M3 CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。   存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器。時鐘、復位和電源管理:2.0-3.6V的電源供電和I/O接口的驅動電壓。上電
[單片機]
stm32<font color='red'>初始化</font>流程圖解析
2440+jlink初始化SDRM
ADS 項目屬性設置: -ro-base = 0x30000000 entry 0x30000000 Init Section: 2440init.o Init AXD下需要加載一個SDRAM初始化文件。 AXD下-- Option- Config Interface- session file- run configuration script. 選擇一個初始化文件,內容如下: Setmem 0x53000000 0x00000000 32 Setmem 0x4A000008 0xFFFFFFFF 32 Setmem 0x4A00001C 0x000007FF 32 Setmem 0x53000000 0x00000000 32
[單片機]
S3C2440 Timer初始化方法
s3c2410提供了5個16位的Timer(Timer0~Timer4),其中Timer0~Timer3支持Pulse Width Modulation—— PWM(脈寬調制 )。Timer4是一個內部定時器(internal timer), PCLK是Timer的信號源,我們通過設置每個Timer相應的Prescaler和Clock Divider把PCLK轉換成輸入時鐘信號傳送給各個Timer的邏輯控制單元(Control Logic),事實上每個Timer都有一個稱為輸入時鐘頻率(Timer input clock Frequency)的參數,這個頻率就是通過PCLK,Prescaler和Clock Divider確定下來的
[單片機]
S3C2440 Timer<font color='red'>初始化</font>方法
STM8L051單片機,外部時鐘初始化
STM8L051單片機,外部時鐘初始化,程序如下 void SYSCLK_Init(void) { CLK_HSEConfig(CLK_HSE_ON);//打開外部時鐘 CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//配置分頻系數 CLK_SYSCLKSourceSwitchCmd(ENABLE); //外部時鐘使能 CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSE);//選擇外部時鐘 while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSE) //等待外部時鐘初始化完成 { } } 大致步驟如
[單片機]
STM32串口中斷實驗總結函數的初始化必須在變量的初始化之后
在進行串口的實驗的時候,自己沒有看教程,寫了一段代碼,但是進行編譯之后發現一直有錯誤,就算我把代碼更改之后還是一直有錯誤。對比了官方給的教程之后發現唯一的不同之處就是我的有一個函數的初始化是在變量的初始化之前,進行的初始化,在進行相應的知識查詢之后,還有請教了師兄之后,發現了自己以前一直沒有注意到的問題就是,函數的初始化必須放到變量的初始化之后,否則在使用keil也就是MDK進行建立工程的時候就會報錯。 注意細節
[單片機]
STM32串口中斷實驗總結函數的<font color='red'>初始化</font>必須在變量的<font color='red'>初始化</font>之后
STM32F0(9)串口初始化
// 只初始化了RX功能,因為之前沒有用到Tx功能,所以沒有配置 void PM25_UART2_Init(void) // 串口UART2初始化 { RCC- APB1ENR |= RCC_APB1ENR_USART2EN; // 串口時鐘使能 RCC- AHBENR |= RCC_AHBENR_GPIOAEN; // 打開串口所對應的GPIO引腳時鐘 GPIOA- AFR |= 0x00001000; // 開啟復用功能的對應AFIO(對應截圖) GPIOA- MODER |= GPIO_MODER_MODER3_1; // 開啟GPIO復用模式 GPIOA- MODER &= ~GPIO_MOD
[單片機]
TQ2440國嵌學院gboot-棧的初始化
棧:后進先出的方式 滿棧:SP指針指向最后一個入棧的數據 空棧:SP指針指向即將入棧數據的空位置 ARM采用滿棧的方式 升棧:SP指針從低地址到高地址 降棧:SP指針從高地址到低地址 ARM采用降棧 ARM采用的是滿降棧 棧的主要作為是:保存局部變量 由于我們這里是TQ2440的開發板,開發板的SDRAM為64M,有ARM是降棧的方式,采用最高地址是棧的初始地址,TQ2440的內存的地址是0X30000000,然后加上64M就是最高的內存地址,也就是SP指針指向0X34000000, 代碼如下 init_stack: ldr sp,=0x34000000 mov
[單片機]
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 封丘县| 朝阳区| 远安县| 龙井市| 仪征市| 大英县| 五大连池市| 文昌市| 崇阳县| 铜山县| 灵山县| 昔阳县| 铜梁县| 平泉县| 孟州市| 陆丰市| 达尔| 贞丰县| 广灵县| 宜阳县| 和政县| 嘉定区| 莱阳市| 临高县| 库伦旗| 长白| 礼泉县| 辛集市| 大冶市| 当雄县| 油尖旺区| 三河市| 宿州市| 内乡县| 威海市| 隆昌县| 乡宁县| 精河县| 仙桃市| 乌拉特后旗| 赣州市|