91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

HAL庫和標準庫的區(qū)別 HAL庫與CMSIS的關(guān)系

科技綠洲 ? 來源:網(wǎng)絡整理 ? 作者:網(wǎng)絡整理 ? 2024-12-02 14:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式系統(tǒng)開發(fā)中,HAL(硬件抽象層)庫和標準庫是兩種常用的軟件庫,它們在功能和使用場景上有所不同。

1. 標準庫

標準庫,通常指的是C語言標準庫,也稱為libc,是一組預定義的函數(shù),提供了基本的輸入輸出、數(shù)學運算、字符串處理等功能。這些函數(shù)是獨立于硬件平臺的,可以在不同的操作系統(tǒng)和硬件平臺上運行。標準庫的主要目的是提供一組通用的、可移植的函數(shù),使得開發(fā)者可以專注于業(yè)務邏輯的實現(xiàn),而不需要關(guān)心底層硬件的具體細節(jié)。

2. HAL庫

HAL庫,即硬件抽象層庫,是一種專為嵌入式系統(tǒng)設計的軟件庫。它的主要目的是為不同的硬件平臺提供統(tǒng)一的接口,使得開發(fā)者可以在不同的硬件上使用相同的代碼。HAL庫通常包含了一系列針對特定硬件平臺的驅(qū)動程序,如GPIO、ADC、UART等,這些驅(qū)動程序封裝了硬件的具體實現(xiàn)細節(jié),為上層應用提供了簡單的調(diào)用接口。

HAL庫與CMSIS的關(guān)系

CMSIS(Cortex Microcontroller Software Interface Standard)是ARM公司推出的一套針對Cortex-M系列微控制器的軟件接口標準。它包括了一套核心的軟件庫和硬件抽象層(HAL),旨在簡化Cortex-M微控制器的軟件開發(fā)。

1. CMSIS核心

CMSIS核心是一套針對Cortex-M系列微控制器的軟件庫,它包括了一套核心的函數(shù)和數(shù)據(jù)結(jié)構(gòu),用于訪問Cortex-M微控制器的特定功能,如NVIC、SysTick等。CMSIS核心的主要目的是提供一套標準化的接口,使得開發(fā)者可以在不同的Cortex-M微控制器上使用相同的代碼。

2. CMSIS-HAL

CMSIS-HAL是CMSIS的一部分,它提供了一套硬件抽象層接口,用于訪問Cortex-M微控制器的硬件資源,如GPIO、ADC、UART等。CMSIS-HAL的主要目的是為不同的硬件平臺提供統(tǒng)一的接口,使得開發(fā)者可以在不同的硬件上使用相同的代碼。

HAL庫和CMSIS-HAL的區(qū)別

雖然HAL庫和CMSIS-HAL都是硬件抽象層,但它們在設計和使用上有所不同。

  1. 設計目的 :HAL庫是為嵌入式系統(tǒng)設計的,旨在為不同的硬件平臺提供統(tǒng)一的接口;而CMSIS-HAL是CMSIS的一部分,專為Cortex-M系列微控制器設計,提供了一套標準化的硬件訪問接口。
  2. 適用范圍 :HAL庫可以用于任何嵌入式系統(tǒng),不僅限于Cortex-M系列微控制器;而CMSIS-HAL僅限于Cortex-M系列微控制器。
  3. 接口標準化 :CMSIS-HAL提供了一套標準化的接口,使得開發(fā)者可以在不同的Cortex-M微控制器上使用相同的代碼;而HAL庫的接口可能因不同的硬件平臺而異。
  4. 集成度 :CMSIS-HAL是CMSIS的一部分,與CMSIS核心緊密集成,提供了一套完整的軟件解決方案;而HAL庫可能需要與其它軟件庫一起使用,以提供完整的功能。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3747

    瀏覽量

    133639
  • CMSIS
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    12852
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67517
  • HAL庫
    +關(guān)注

    關(guān)注

    1

    文章

    121

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    機智云Gokit3開發(fā)篇 — 搭建Gokit3工程(HAL版)

    微控制器,支持多種開發(fā)環(huán)境,使學習與開發(fā)變得更加便捷。本文將帶您從零基礎開始,逐步搭建Gokit3的HAL工程,并通過簡單的點燈實驗,讓您感受開發(fā)的樂趣。在這個過
    的頭像 發(fā)表于 01-08 19:14 ?458次閱讀
    機智云Gokit3開發(fā)篇 — 搭建Gokit3工程(<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>版)

    標準C區(qū)別

    因為針對Arm的嵌入式系統(tǒng),通常存儲(代碼)資源相對較小,為了使其能用上標準函數(shù),工程師就針對Arm嵌入式系統(tǒng),對標準C進行了優(yōu)化,以減小代碼量。 優(yōu)化標準
    發(fā)表于 12-09 07:49

    STM32已經(jīng)用標準寫好的代碼,怎么導入RT THREAD?

    之前已經(jīng)在裸機上實現(xiàn)了SAE J1939協(xié)議,因為要添加IOT 功能,現(xiàn)在想添加RT THREAD.因為之前寫裸機程序的時候用的是標準。而RT THREAD STUDIO自動生成的是HAL
    發(fā)表于 09-19 06:16

    請問hal的硬件spi,怎么修改spi時鐘的占空比?

    請問hal的硬件spi,該怎么修改spi時鐘的占空比呀?
    發(fā)表于 07-28 07:50

    AD封裝安裝教程

    電子發(fā)燒友網(wǎng)站提供《AD封裝安裝教程.pdf》資料免費下載
    發(fā)表于 06-19 15:35 ?3次下載

    基于STM32 HAL標準的esp8266接入機智云方案(二)

    在《基于STM32HAL標準的esp8266接入機智云方案(一)》中,我們詳細介紹了硬件連接和機智云客戶端的創(chuàng)建。本篇將重點講解如何下載代碼、分析下載的代碼,并直接使用這些代碼連
    的頭像 發(fā)表于 05-28 18:02 ?1406次閱讀
    基于STM32 <b class='flag-5'>HAL</b><b class='flag-5'>庫</b>與<b class='flag-5'>標準</b><b class='flag-5'>庫</b>的esp8266接入機智云方案(二)

    STM32已經(jīng)用標準寫好的代碼,怎么導入RT THREAD?

    之前已經(jīng)在裸機上實現(xiàn)了SAE J1939協(xié)議,因為要添加IOT 功能,現(xiàn)在想添加RT THREAD.因為之前寫裸機程序的時候用的是標準。而RT THREAD STUDIO自動生成的是HAL
    發(fā)表于 05-27 06:01

    PCB標準封裝文件

    PCB標準封裝文件
    發(fā)表于 05-22 17:43 ?10次下載

    為什么無法使用HAL配置I2S?

    無法使用 HAL 配置 I2S
    發(fā)表于 04-21 07:18

    STM32開發(fā)入門進階必備!《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和HAL》新書發(fā)布!

    近日,由華清遠見教育科技集團精心編撰的教育部高等學校電子信息類專業(yè)教學指導委員會規(guī)劃教材、普通高等教育電子信息類專業(yè)系列教材——《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和HAL》重磅
    的頭像 發(fā)表于 04-03 14:54 ?1933次閱讀
    STM32開發(fā)入門進階必備!《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>》新書發(fā)布!

    手冊描述LPUart1可以工作在APB clock domain,請問用HAL如何設置?

    你好,看到手冊描述LPUart1可以工作在APB clock domain,請問用HAL如何設置,謝謝! 下面代碼應該為independent clock設置,對吧? void
    發(fā)表于 03-11 06:12

    求助,求STM32C011J4x STM32C011J6x的標準

    一直用的標準,發(fā)現(xiàn)C0沒有標準,都是HAL的,真的用不習慣、
    發(fā)表于 03-10 08:20

    Stm32f103 hal如果設置多個外部中斷,只要用螺絲刀碰觸其中一個中斷線,所有的中斷函數(shù)都有可能進入,亂跳,為什么?

    Stm32f103 hal如果設置多個外部中斷,只要用螺絲刀碰觸其中一個中斷線,所有的中斷函數(shù)都有可能進入,亂跳。同一個線路板用標準就沒問題。正點原子的開發(fā)版及
    發(fā)表于 03-10 08:07

    HAL標準你會選擇哪種?

    HAL標準你會選擇哪種
    發(fā)表于 03-10 06:25

    如何將HAL轉(zhuǎn)為LL?

    怎么將HAL轉(zhuǎn)為LL
    發(fā)表于 03-10 06:08