MCU常用文件格式

1. asm文件

????????asm是匯編語言源程序的擴展名,.asm文件是以asm作為擴展名的文件,是匯編語言的源程序文件。匯編語言(Assembly Language)是面向機器的程序設計語言,是利用計算機所有硬件特性并能直接控制硬件的語言。在匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。

2. bin文件

????????bin文件是二進制文件,是文件格式binary的縮寫,后綴名為".bin"的文件,表式它是binary格式。通常來說,它的內容是機器代碼,匯編語言編譯后的結果。

注意:CPU執行 bin只需要將程序加載到其起始地址,即可執行。uboot和Linux kernel啟動時沒有ELF Loader,所以燒在flash上的文件只能是raw bin,即鏡像文件image

BIN文件是 raw binary 文件,這種文件只包含機器碼。
BIN文件(也叫鏡像文件)中的所有數據都是機器可以執行的指令碼、指令參數或者常量數據,不包含其它調試信息。加載到內存或者Nor FLASH等支持XIP(就地執行)的存儲器中規定好的加載地址之后直接從規定好的運行地址開始運行即可。例如單片機中燒寫的都是bin文件,以STM32為例,其片內Nor FLASH的起始地址也是代碼的加載(燒寫)地址為0x08000000。上電復位或者手動復位之后,程序計數器PC指向單片機的復位異常的中斷向量地址0x08000004的位置,單片機從復位開始運行。

3. hex文件

????????hex全稱baiIntel HEX,是可以燒寫到單片機中,被單片機執行的一種文件格式。通常用于傳輸將被存于ROM或者EPROM中的程序和數據。是由一行行符合Intel HEX文件格式的文本所構成的ASCII文本文件。大多數EPROM編程器或模擬器使用Intel HEX文件,其記錄由對應機器語言碼和/或常量數據的十六進制編碼數字組成

4. elf文件

? ? elf是Linux的主要可執行文件格式,二進制文件。 elf文件除了機器碼外,還包含其它額外的信息,如段的加載地址,運行地址,重定位表,符號表等。

注意:?CPU執行elf程序則需要一個ELF Loader, gcc編譯出來的是elf文件,objcpy將elf文件轉換為bin文件

????????ELF文件除了機器碼外,還包含其它額外的信息,如段的加載地址,運行地址,重定位表,符號表等。
????????ELF文件相當于是對bin文件的一個包裝和解釋,不僅僅包含程序的機器碼,還包含加載地址、運行地址和調試信息等,使得運行操作系統(帶MMU的CPU運行的具有虛擬地址/內存映像功能的OS,如Linux、Windows)的機器中的ELF Loader模塊能夠根據elf頭信息創建一個新進程并加載elf文件中的機器碼到該進程的虛擬內存中去。例如在Linux系統上運行ls命令,Linux系統會在環境變量中定義了的文件夾中找到可執行文件“ls”,然后系統創建一個新的進程以及映射虛擬內存空間,然后ELF Loader會將可執行文件“ls”加載到虛擬內存空間中去并開始執行開進程。(注意,虛擬地址空間也物理地址空間的尋址空間是一樣的,32位CPU的有4G的尋址空間,64位的有好多G的尋址空間,但是并不是所有虛擬地址空間中的地址都能訪問,MMU只會映射一部分虛擬地址空間到物理地址空間,如果訪問沒有映射的虛擬地址空間,就會出現內存訪問錯誤Segmentation Fault)

所以ELF文件的體積比對應的BIN文件要大。
因為elf文件中包含了bin文件內容外的其它信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166600.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166600.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166600.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【廣州華銳互動】利用VR體驗環保低碳生活能帶來哪些教育意義?

隨著科技的不斷發展,虛擬現實(VR)技術已經逐漸走進了我們的生活。從游戲娛樂到教育培訓,VR技術的應用范圍越來越廣泛。而在這個追求綠色、環保的時代,VR技術也為我們帶來了一種全新的環保低碳生活方式。讓我們一起走進…

nginx配置相關應用服務

1、無ssl證書的conf文件 server {listen 80;server_name test.domain.com;root html;index index.html index.htm;location / {proxy_http_version 1.1;proxy_set_header Connection "";proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_…

Java String.contains()方法

描述: java.lang.String.contains()方法返回true,當且僅當此字符串包含指定的char值序列。 聲明: 以下是聲明java.lang.String.contains()方法 public boolean contains(CharSequence s) 返回值: 如果此字符串包含&#xff…

2022年MathorCup高校數學建模挑戰賽—大數據競賽A題58到家家政服務訂單分配問題求解全過程文檔及程序

2022年MathorCup高校數學建模挑戰賽—大數據競賽 A題 58到家家政服務訂單分配問題 原題再現: “58 到家”是“58 同城”旗下高品質、高效率的上門家政服務平臺,平臺向用戶提供家政保潔、保姆、月嫂、搬家、維修等眾多生活領域的服務。在家政保潔場景中…

欲更新瀏覽器的Mac用戶請注意,AMOS又出一招新“騙術”

近日,Malwarebytes發現有一種專門針對Mac操作系統(OS)的數據竊取程序正通過偽造的網頁瀏覽器更新程序進行分發。Malwarebytes稱這與其通常的技術、戰術和程序大不相同,該惡意軟件可以模仿 Safari 和谷歌 Chrome 瀏覽器。 網絡安全…

【C++心愿便利店】No.13---C++之探索vector底層原理

文章目錄 前言一、STL簡介1.1 什么是STL1.2 STL的六大組件 二、vector的介紹及使用2.1 vector的介紹2.2 vector的使用2.2.1 vector的定義2.2.2 vector iterator 的使用2.2.3 vector 空間增長問題2.2.4 vector 增刪查改 三、vector模擬實現3.1 成員變量3.2 成員函數3.2.1 構造函…

2、分布式鎖實現原理與最佳實踐(二)

常見分布式鎖的原理 4.1 Redisson Redis 2.6之后才可以執行lua腳本,比起管道而言,這是原子性的,模擬一個商品減庫存的原子操作: //lua腳本命令執行方式:redis-cli --eval /tmp/test.lua , 10 jedis.set("produ…

python opencv 放射變換和圖像縮放-實現圖像平移旋轉縮放

python opencv 放射變換和圖像縮放-實現圖像平移旋轉縮放 我們實現這次實驗主要用到cv2.resize和cv2.warpAffine cv2.warpAffine主要是傳入一個圖像矩陣,一個M矩陣,輸出一個dst結果矩陣,計算公式如下: cv2.resize則主要使用fx&…

精益生產中的周轉箱優勢:提升效率與質量的得力利器

在當今競爭激烈的制造業中,企業追求高效生產和卓越質量是至關重要的。精益生產理念提供了一套有效的工具和方法,其中周轉箱作為一個關鍵的組成部分,在優化生產流程、提高效率和質量方面發揮著重要作用。下面談談精益生產中的周轉箱優勢&#…

C++:內存管理

內存分布: 首先我們需要了解的是C/C中內存區域的劃分: 1. 棧又叫堆棧--非靜態局部變量/函數參數/返回值等等,棧是向下增長的:先調用的地址比后調用的地址大。 2. 內存映射段是高效的I/O映射方式,用于裝載一個共享的動…

百度文心一言(千帆大模型)聊天API使用指導

開篇不得不吐槽下百度,百度智能云平臺首頁跳轉千帆大模型平臺的按鈕太多了,不同按鈕跳轉不同的子頁面,不熟悉的,能把人找懵。入口太多,就導致用戶不知道從何開始。本文就從一個前端開發人員的角度,教大家快…

【深度學習】基于深度學習的超分辨率圖像技術一覽

超分辨率(Super-Resolution)即通過硬件或軟件的方法提高原有圖像的分辨率,圖像超分辨率是計算機視覺和圖像處理領域一個非常重要的研究問題,在醫療圖像分析、生物特征識別、視頻監控與安全等實際場景中有著廣泛的應用。 SR取得了顯著進步。一般可以將現有…

為什么,word文件在只讀模式下,仍然能編輯?

Word文檔設置了只讀模式,是可以編輯的,但是當我們進行保存的時候就會發現,word提示需要重命名并選擇新路徑才能夠保存。 這種操作,即使可以編輯文字,但是原文件是不會受到影響的,編輯之后的word文件會保存到…

torch常用和預期輸入輸出

import torch import torch.nn as nn import torch.nn.functional as F nn中定義的是類,functional里面定義的是函數操作。 輸出shape的計算公式: o u t _ s h a p e r o u n d _ m o d e ( i n _ s h a p e 2 ? p a d d i n g ? k e r n e l _ s…

20231124給RK3399的挖掘機開發板在Andorid10下加鼠標右鍵返回

20231124給RK3399的挖掘機開發板在Andorid10下加鼠標右鍵返回 2023/11/24 12:19 百度:RK3399 Android10 右鍵返回 https://blog.csdn.net/danhu/article/details/122467256 android9/android10 鼠標右鍵返回(已驗證) danhu 于 2022-01-13 09:46:42 發布 android10 …

Echarts 大屏注冊自定義地圖解析文件流報錯問題解決

效果圖: 1、首先通過后臺接口獲取到SVG圖片的文件流,postman能夠正確解析出文件流,前端調用api時需要設置返回的響應格式為image/svg+xml格式,否則解析失敗 拿到文件流后是這樣的 <?xml version="1.0" encoding="utf-8"?> <!-- Generator: …

【深度學習】P1 深度學習基礎框架 - 張量 Tensor

深度學習基礎框架 張量 Tensor 張量數據操作導入創建張量獲取張量信息改變張量張量運算 張量與內存 張量 Pytorch 是一個深度學習框架&#xff0c;用于開發和訓練神經網絡模型。 而其核心數據結構&#xff0c;則是張量 Tensor&#xff0c;類似于 Numpy 數組&#xff0c;但是可…

AI制作的《大多數普通女孩的一生》——公開教程和工作流

內容來源&#xff1a;JiamigouCn ?這周由AI制作的《大多數普通女孩的一生》&#xff0c;在抖音爆火&#xff0c;獲得新華網轉發。到目前為止&#xff0c;全網還沒有公開教程和工作流&#xff0c;需要花費800-2000購買。 本著AI社區共享原則&#xff0c;我委托公眾號“楚思智能…

小學生古詩文大會復賽在線模擬新增刷題版和闖關版,幫助孩子沖刺

小學生古詩文大會明天就要開始了&#xff0c;剛剛古詩文大會主辦方也正式發布了通知&#xff0c;總體安排、操作指引和我之前發布的一樣&#xff1a;2023年11月25日小學生古詩文大會復選&#xff08;復賽&#xff09;答題操作手冊 為了幫助參加復選&#xff08;復賽&#xff09…

NFC技術簡介

NFC簡介 NFC(近場通信&#xff0c;Near Field Communication&#xff09;是一種短距高頻的無線電技術&#xff0c;由非接觸式射頻識別(RFID)演變而來。 NFC工作頻率為13.56Hz&#xff0c;通常只有在距離不超過4厘米時才能啟動連接&#xff0c;其傳輸速度有106 Kbit/秒、212 Kb…