国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

電子發燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示
電子發燒友網>電子資料下載>單片機>為什么單片機的程序不怎么使用malloc而在PC上卻經常使用

為什么單片機的程序不怎么使用malloc而在PC上卻經常使用

2019-08-14 | pdf | 0.18 MB | 次下載 | 1積分

資料介紹

  從單片機上知道,在上電的那一刻,MCU的程序指針會被初始化為上電復位時的地址,從那個地址處讀取將要執行的指令,由此程序在 MCU上開始執行(當然在調用程序的 main之前,還有一系列其他的初始化要做,如堆棧的初始化,不過這些我們很少會去修改)。PC在上電時,和MCU差不多,不過讀取的是BIOS,有它完成了很多初始化操作,最后,調用系統的初始化函數,將控制權交給了操作系統,于是我們看到了Windows,Linux系統啟動了。

  如果將操作系統看作是在處理器上跑的一個很大的裸機程序(就是直接在硬件上跑的程序,因為操作系統就是直接跑在CPU上的,這樣看待是可以的,不過這個裸機程序功能很多很強大),那么操作系統的啟動很像MCU程序的啟動。前者有一個很大的初始化程序完成很復雜的初始化,后者有一段不長的匯編代碼完成一些簡單的初始化。這一點看,它們在流程上是很相似的。

  如果是系統上的程序啟動呢?它們是由系統來決定的。Linux上在shell下輸入。/p后,首先檢查是否是一個內建的shell命令;如果不是,則shell假設它是一個可執行文件(Linux上一般是elf格式),然后調用一些相關的函數,將在硬盤上的p文件的內容拷貝到內存 (DDR RAM)中,并建立一個它的運行環境(當然這里邊還有內存映射、虛擬內存、連接與加載等一些其它東西),準備執行。

  由以上可知,單片機上的程序和平時在系統上運行的程序,在啟動時差異是很大的(如果將程序調用main以前的動作,都抽象為初始化的話,程序的啟動可以簡化為:建立運行環境+調用main函數,這樣程序的執行差異是不大的)。因為單片機上跑的程序(裸機程序)是和操作系統一樣跑在硬件上的,它們屬于一個層次的。過去之所以沒有區分出單片機上的程序和PC機上的程序的一些差異,就是沒有弄明白這一點。由此,以前的一些疑惑也就解開了。為什么在單片機上的程序不怎么使用malloc,而PC上經常使用?因為單片機上沒有已經寫好的內存管理算法的代碼,而在PC上操作系統里運行的程序,libc已經把這些都做了,只需要調用就可以了。如果在單片機上想用動態內存,也可以,但是這些代碼要自己去實現,并定義一個相應的malloc,有時候一些公司會給提供一些庫函數可能會實現malloc,但是因為單片機上RAM內存十分有限,如果不知道它的運行方式,估計會很危險。同樣,因為在PC的系統上運行的程序與裸機程序不同,裸機程序不會有動態鏈接,有的只是靜態鏈接。

單片機 cpu Linux BIOS malloc
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  16次下載  |  10 積分
  3. 2反激式開關電源設計解析
  4. 0.89 MB   |  2次下載  |  5 積分
  5. 3簡易光伏控制器原理圖資料
  6. 0.07 MB   |  1次下載  |  5 積分
  7. 4TPS23755數據手冊
  8. 0.07 MB   |  次下載  |  免費
  9. 536伏,10兆赫茲低噪聲雙運算放大器COS5532 技術手冊
  10. 0.41 MB   |  次下載  |  免費
  11. 6LM5176 55V 寬輸入電壓同步4開關降壓/升壓控制器技術手冊
  12. 2.40 MB   |  次下載  |  免費
  13. 7MCU模塊原理圖資料
  14. 0.37 MB   |  次下載  |  1 積分
  15. 8LoRa1121 FCC&CE認證 多頻段LoRa無線通訊模塊規格書
  16. 997.05 KB  |  次下載  |  免費

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  16次下載  |  10 積分
  3. 2冷柜-電氣控制系統講解
  4. 13.68 MB  |  7次下載  |  10 積分
  5. 3SDFM 激光測距模塊模組手冊
  6. 0.54 MB   |  7次下載  |  免費
  7. 4直流電路的組成和基本定律
  8. 1.67 MB   |  4次下載  |  免費
  9. 5SW6238V ACCC 三 PD 四口多協議移動電源 SOC規格書
  10. 0.59 MB   |  4次下載  |  1 積分
  11. 6安川A1000變頻器中文版說明書
  12. 20.16 MB  |  3次下載  |  3 積分
  13. 7IP6742_datasheet_100V8A 同步 BUCK 控制器
  14. 2.16 MB  |  3次下載  |  免費
  15. 8PAW3395DM-T6QU:光學游戲導航芯片手冊
  16. 1.26 MB   |  2次下載  |  10 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233094次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73829次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分