色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Cortex A9架構下為何使用結構體效率會更高一些

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 12:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作為過來人,我發現很多程序猿新手,在編寫代碼的時候,特別喜歡定義很多獨立的全局變量,而不是把這些變量封裝到一個結構體中,主要原因是圖方便,但是要知道,這其實是一個不好的習慣,而且會降低整體代碼的性能。

另一方面,最近有幸與大神「公眾號:裸機思維」的傻孩子交流的時候,他聊到:“其實Cortex在架構層面就是更偏好面向對象的(哪怕你只是使用了結構體),其表現形式就是:「Cortex所有的尋址模式都是間接尋址」——換句話說「一定依賴一個寄存器作為基地址」。

舉例來說,同樣是訪問外設寄存器,過去在8位和16位機時代,人們喜歡給每一個寄存器都單獨綁定地址——當作全局變量來訪問,而現在Cortex在架構上更鼓勵底層驅動以寄存器頁(也就是結構體)為單位來定義寄存器,這也就是說,同一個外設的寄存器是借助擁有同一個基地址的結構體來訪問的。”

以Cortex A9架構為前提,下面一口君詳細給你解釋為什么使用結構體效率會更高一些。

一、全局變量代碼反匯編

1. 源文件

「gcd.s」

text
.global _start
_start:
ldr sp,=0x70000000 get stack top pointer
b main

「main.c」


* main.c

* Created on: 2020-12-12
* Author: pengdan

int xx=0;
int yy=0;
int zz=0;
int main(void)

xx=0x11;
yy=0x22;
zz=0x33;
while(1);
return 0;

「map.lds」

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS

. = 0x40008000;
. = ALIGN(4);
.text :

gcd.o(.text)
*(.text)

. = ALIGN(4);
.rodata :
{ *(.rodata) }
. = ALIGN(4);
.data :
{ *(.data) }
. = ALIGN(4);
.bss :
{ *(.bss) }

「Makefile」

TARGET=gcd
TARGETC=main
all:
arm-none-linux-gnueabi-gcc -O1 -g -c -o $(TARGETC).o $(TARGETC).c
arm-none-linux-gnueabi-gcc -O1 -g -c -o $(TARGET).o $(TARGET).s
arm-none-linux-gnueabi-gcc -O1 -g -S -o $(TARGETC).s $(TARGETC).c
arm-none-linux-gnueabi-ld $(TARGETC).o $(TARGET).o -Tmap.lds -o $(TARGET).elf
arm-none-linux-gnueabi-objcopy -O binary -S $(TARGET).elf $(TARGET).bin
arm-none-linux-gnueabi-objdump -D $(TARGET).elf > $(TARGET).dis
clean:
rm -rf *.o *.elf *.dis *.bin

【交叉編譯工具,自行搜索安裝】

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式設計
    +關注

    關注

    0

    文章

    393

    瀏覽量

    21839
  • Cortex
    +關注

    關注

    2

    文章

    203

    瀏覽量

    47405
  • ARM架構
    +關注

    關注

    15

    文章

    183

    瀏覽量

    38284
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    迅為iTOP-3588S開發板核心板引腳240PIN全部引出8GB內存32GBEMMC存儲

    性能強 iTOP-3588S開發板采用瑞芯微RK3588S處理器,是全新代AloT高端應用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構主頻高達2
    發表于 06-23 11:19

    瑞迅科技RK3568主板賦能健康檢測一體機創新應用

    硬件平臺,RK3568主板的創新應用正在重新定義健康服務的效率與體驗。 、RK3568主板:健康檢測一體機的“智慧心臟” 瑞迅科技自主研發的RK3568主板,搭載四核ARM Cortex-A
    的頭像 發表于 05-22 15:45 ?287次閱讀
    瑞迅科技RK3568主板賦能健康檢測<b class='flag-5'>一體</b>機創新應用

    iTOP-3588S開發板四核心架構GPU內置GPU可以完全兼容0penGLES1.1、2.0和3.2。

    性能強 iTOP-3588S開發板采用瑞芯微RK3588S處理器,是全新代AloT高端應用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構主頻高達2
    發表于 05-15 10:36

    迅為iTOP-RK3588S開發板/核心板瑞芯微RK3588S處理器6TOPS算力內置NPU

    性能強 iTOP-3588S開發板采用瑞芯微RK3588S處理器,是全新代AloT高端應用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構主頻高達2
    發表于 04-10 11:13

    Arm發布基于Armv9架構Cortex-A320處理器

    邊緣 AI 需要更卓越的計算性能、更強大的安全性,以及更出色的軟件靈活性。隨著軟件愈發復雜化,Armv9 架構應運而生,以提供先進的機器學習 (ML) 和 AI 功能,并具備增強的安全特性。該架構現已在
    的頭像 發表于 02-27 17:10 ?824次閱讀

    迅為iTOP-RK3588S開發板/核心板6TOPS的NPU算力視頻編解碼8K編碼+8K解碼

    性能強 iTOP-3588S開發板采用瑞芯微RK3588S處理器,是全新代AloT高端應用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構主頻高達2
    發表于 02-20 14:24

    迅為RK3588S開發板/核心板介紹

    性能強 iTOP-3588S開發板采用瑞芯微RK3588S處理器,是全新代AloT高端應用芯片,搭載八核64位CPU,四核Cortex-A76和四核Cortex-A55架構主頻高達2
    發表于 02-13 14:40

    基于Armv9架構的MediaTek天璣8400移動芯片問世

    如今,基于 Armv9 CPU 技術構建的人工智能 (AI) 旗艦智能手機立于技術前沿,為 AI 創新提供了前所未有的機遇。為了應對持續增長的 AI 工作負載的計算強度及復雜度,Armv9.2 CPU 集群帶來了更強性能、更高效率,以及更多功能,為新
    的頭像 發表于 12-24 14:18 ?813次閱讀

    Cortex-A55 處理器到底什么來頭?創龍教儀文帶您了解

    Cortex-A55:同樣支持多核配置,但通常會有更高的核心數,如八核架構。在頻率方面,也根據具體實現有所不同。 國產Cortex-A
    發表于 12-03 17:00

    結構成員的順序影響結構的大小嗎

    相同的結構成員,如果把順序調整下,會不會影響結構的大小? 答案是的,這主要跟字節對齊有關
    的頭像 發表于 11-25 16:24 ?577次閱讀

    Arm Cortex-X925 樹立全新性能標桿,實現人工智能、游戲和多任務處理的先進功能

    Cortex-X925基于Armv9.2架構,樹立了CPU性能的全新標桿,實現了Cortex-X系列有史以來最大幅度的IPC同比提升。得益于最新的三納米工藝節點,Cortex-X925
    的頭像 發表于 10-08 12:43 ?858次閱讀
    Arm <b class='flag-5'>Cortex</b>-X925 樹立全新性能標桿,實現人工智能、游戲和多任務處理的先進功能

    iTOP-3562開發板/核心板采用RK3562,集成四核A53+Mali G52架構

    A53+Mali G52架構,主頻2GHZ,內置1TOPSNPU算力,RK809動態調頻。支持OpenGLES1.1/2.0/3.2、0penCL2.0、Vulkan 1.1內嵌高性能2D加速硬件
    發表于 09-05 11:30

    X86架構處理器有哪些優點和缺點

    X86架構處理器作為計算機領域的重要組成部分,具有多個顯著的優點和定的缺點。以下是對X86架構處理器優缺點的詳細分析。
    的頭像 發表于 08-22 11:25 ?4853次閱讀

    X86架構和ARM架構有什么區別

    X86架構和ARM架構是兩種主流的CPU架構,它們在多個方面存在顯著的差異。以下是對這兩種架構的詳細比較,涵蓋了追求目標、應用領域、技術特點、性能功耗比、軟件生態以及未來趨勢等方面。
    的頭像 發表于 08-22 11:21 ?1.3w次閱讀

    聚徽-一體工控機為何死機

    工業自動化推動了現代工業設備的革新,逐步取代了傳統的人工化生產流程。在這過程中,工控觸摸一體機發揮著至關重要的作用。然而,即使是高效的自動化設備,在日常使用中也可能遭遇故障,其中常見的便是死機現象。那么,一體工控機
    的頭像 發表于 08-12 09:42 ?636次閱讀
    主站蜘蛛池模板: 国产人妻人伦精品1国产 | 男生扒开美女尿口戳戳 | 国产精品自在在线午夜精品 | 99久久精品一区二区三区 | 亚洲香蕉网久久综合影院 | 搡女人免费免费视频观看 | 热综合一本伊人久久精品 | 亚洲精品综合在线影院 | 黄片a级毛片 | 日韩 国产 中文 无码 | 一本之道高清www在线观看 | 精品亚洲一区二区三区在线播放 | 蜜桃色欲AV久久无码精品 | 真实国产乱子伦精品一区二区三区 | 我们日本在线观看免费动漫下载 | 网友自拍成人在线视频 | 国产一区精选播放022 | 97超碰在线视频 免费 | 年轻的的小婊孑2中文字幕 你是淫荡的我的女王 | 一边啪啪的一边呻吟声口述 | 性色爽爱性色爽爱网站 | 天堂视频在线观看免费完整版 | 泡妞高手在都市完整版视频免费 | 最近中文字幕免费高清MV视频6 | 恋夜影视列表免费安卓手机版 | 国产超嫩一线天在线播放 | 116美女写真成人午夜视频 | 动漫在线观看免费肉肉 | 尤物久久99国产综合精品 | 9277高清在线观看视频 | 先锋资源av | 97精品国产亚洲AV超碰 | 久久久久婷婷国产综合青草 | 大桥未久与黑人中出视频 | 交换:年轻夫妇-HD中文字幕 | 中文字幕完整高清版 | 久久99视频免费 | 久久这里只精品热在线99 | 中文字幕乱码一区AV久久 | 久久精品综合网中文字幕 | 草久久久久 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品