日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 嵌入式微處理器
[導讀]ST公司的產(chǎn)品雖然本身就很豐富, 但是最有人氣, 對市場影響力最大的當然是Cortex-M系列. 從幾K Flash的Cortex-M0系列到高性能的Cortex-M7系列, 還穿插著無線系列,低功耗系列, 外掛SPI Flash作為Code空間的跨界系列, 幾乎都是相應市場上的佼佼者。


原文作者:21ic論壇(bbs.21ic.com,網(wǎng)友: zhanzr21







ST公司的產(chǎn)品雖然本身就很豐富, 但是最有人氣, 對市場影響力最大的當然是Cortex-M系列. 從幾K Flash的Cortex-M0系列到高性能的Cortex-M7系列, 還穿插著無線系列,低功耗系列, 外掛SPI Flash作為Code空間的跨界系列, 幾乎都是相應市場上的佼佼者。


作為藍蝴蝶粉的一員, 我也總結過STM32脫穎而出的原因:

1. 以市場中心的產(chǎn)品迭代速度, 敏銳地抓住了Cortex-M內核替代8位,16位內核的機會。

2. 產(chǎn)品多樣性, 各種應用場景幾乎都有針對性的產(chǎn)品。

3. 開發(fā)生態(tài)建立, 包括軟件庫的匠心制作, 開發(fā)平臺的革命性創(chuàng)新(CubeMX這個工具節(jié)省了我大量開發(fā)時間)。


這中間第三點最重要, 算是競爭力壁壘, 應該是能占據(jù)市場第一的最主要的因素。


當然STM32MP1推出之前, ST公司在MPU市場是缺位的. 之前最高性能的H7系列可以跑到400多MHz, 可以外掛SPI Flash。但是不能運行復雜操作系統(tǒng), 天花板由Cortex-M內核本身的定位決定, 依然不能算是MPU。所以MP1系列的推出, 填補了這一缺憾。因為ST公司在STM32產(chǎn)品上積攢的開發(fā)生態(tài)經(jīng)驗和優(yōu)勢, 使得程序員們對MP1抱有更高的期望。要知道嵌入式芯片從來不是以絕對的硬件參數(shù)論英雄的。我們見過很多硬件參數(shù)非常優(yōu)秀的芯片, 在市場上表現(xiàn)一般。原因無非就是開發(fā)難度大, 公開資料不全, 配套的工具不友好等等。所以我稱STM32MP1為強化的STM32,就是希望ST公司在填補自己產(chǎn)品版圖的同時, 同時提高整個嵌入式開發(fā)群體的開發(fā)技能與效率,共同合作創(chuàng)造更有意義的產(chǎn)品。










板子




還是按照俗套先來看看板子

(點擊圖片可放大查看)

這個系列板子有兩個版本: STM32MP157A-DK1和STM32MP157C-DK2, 本文主角是前者. 兩者差別:

1. DK1與DK2的主控芯片不同。STM32MP157AAC和STM32MP157CAC,前者定位比后者低一點:

1.1 ?157A/157C的Cortex-A7最高頻率為650MHz。

1.2??157A缺少157C擁有的: AES/DES/RSA硬件加密單元, SecureBoot功能.

2. DK2配有觸摸屏幕, DK1沒有。
3. DK2的板子上焊接有WiFi/Bluetooth模塊, DK1這里是空的。

除此之外兩個板子基本是一樣的, 板子的布局也是相同的。如果有焊接高手可以換兩個板子的主控芯片也是可行的。所以兩者的Demo程序絕大多數(shù)也是可以共用的。




芯片




這個芯片的資源比較豐富, 定位是工控/高端消費類應用。這里作者也不照抄數(shù)據(jù)手冊了,感興趣的可以去下載看看,它的主要內核是雙Cortex-A7+Cortex-M4,還有Neon, FPU, GPU等等。MP1主要是使用Cortex-A7, Cortex-M4可以算是一個從MCU,因為芯片本身是沒有Flash的, 需要Cortex-A7把可執(zhí)行代碼載入到Cortex-M4可以訪問的RAM空間。板子上的NV空間是TF卡, 內存主空間是512Mbyte的DDR. 考慮到使用這個芯片的同學有一大部分是從STM32的以前的用戶, 簡要介紹些內核.目前的ARM內核主要有三個系列Cortex-A, Cortex-R, Cortex-M。


Cortex-M系列

大家都很熟了, 特點是只能支持Thumb/Thumb2指令集, 沒有MMU. 主要面向中低端應用, 比如疫情期間的體溫槍就有很大一部分是STM32的方案. 這當中又有Cortex-M0/M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M35等內核, 面向不同復雜度的應用。


Cortex-R系列

是面向實時應用的內核. 比如車載ECU, 電梯控制器, 高精度電機控制等等. 目前沒有看到ST公司的這個系列的產(chǎn)品. 支持ARM指令和Thumb/Thumb2指令.可以看作ARM7的升級產(chǎn)品。


Cortex-A系列

就是面向復雜應用的內核. 通俗點講就是跑Linux/Android的內核. 大家熟知的高通/海思芯片都是這個系列的內核. 這個板子的Cortex-A7是其中比較低功耗的內核. 但不是最低的, 還有Cortex-A5是最低端的A系列內核. 注意, Cortex-A7是ARM v5架構, 而且Cortex-A7是Cortex-A9之后推出的內核. 跟Cortex-M0是Cortex-M3之后推出的類似. 當然這些細節(jié)并不重要.


系統(tǒng)方面, Cortex-A系列的芯片當然可以跑任何主流系統(tǒng), 或者根本不跑系統(tǒng). 但是這種芯片主要跑Linux/Android. 考慮到具體的運行頻率和定位的應用場景, Linux應該是大多數(shù)的選擇. 本文也是假定大家用它來跑Linux.


開發(fā)STM32MP1這個開發(fā)板分幾個層次, 難度逐次增加, 但是并不是一定要開發(fā)到最底層才算”最硬核”. 實際上很多工業(yè)中的產(chǎn)品都是二次開發(fā)甚至N次開發(fā)的成果. 最關鍵還是設計與代碼的質量, 以及產(chǎn)品所創(chuàng)造的價值.


就本開發(fā)板而言, 開發(fā)者可以:


1.? ?? ?在提供好的Linux鏡像上做開發(fā), 把這個開發(fā)板子當做一個Mini工控電腦.
2.? ?? ?利用OpenSTLinux提供的SDK, 開發(fā)自己的應用程序.
3.? ?? ?利用開源的OpenSTLinux源代碼, 定制自己的內核和鏡像.
4.? ?? ?不要Linux,從Baremetal出發(fā), 移植/運行其他OS,或者干脆不用OS.


如果是要涉及到上述第二層之后的開發(fā), 最好準備一臺Linux開發(fā)機器, 最好是跑Ubuntu 18.04的本地Linux機器. Windows上跑虛擬機+鏡像也是比較方便的組合.Windows10的WSL2也可以.




啟動/登陸板子上Linux




板子拿到手之后會有配套的已經(jīng)制作好的啟動TF卡,插入. 并且把板子背面的啟動選項開關配置成(1,1).

配制成第一種(0,0)時是強制DFU,?是用來燒寫板上存儲器用的,?本文暫不展開,?但是必須要提出的是STLink Utility不能用于這個目的.?要使用STM32CubeProgrammer.配置好從SD卡啟動后,插上電源即可啟動.?板子上的幾個接口如下:

1.電源接口, Type C供電,?任何Type CSource都可以供電.?注意本板子不支持向外供電.?作者使用的是Think PadType C電源,?華為/小米的Type C電源應該都可以.?或者插在電腦也可以.

2.千兆網(wǎng)口,?建議插在自己家中的路由器上.?因為DK1沒有無線網(wǎng)絡連接,?所以這個是唯一的網(wǎng)絡接口.

3.TF卡槽, DK1/DK2板子上沒有NandFlash/NorFlash/eMMC,這是唯一的NV存儲.?如果要用其他卡做起動盤,?建議最少16G.

4.帶麥的音頻接口.?基本上任何耳機都可以.

5.STLink V2-1接口.?除了STLink?還有一個虛擬串口.

6.HDMI接口,?基本上任何帶HDMI的顯示器都可以.?出廠自帶Linux鏡像有GUI界面.

7.USB接口,?這個口是板子的USB Device,?可用作DFU.

8.USB Host接口,?可以接4USB Device.?作者試驗過鍵盤,鼠標.?包括無線的鍵鼠都能用.


登入板上的Linux,?從操作的角度三種途徑:

1. STLink的虛擬串口,?如果要在uboot那里停下來做操作這也是唯一的選項了.

2.?把鍵盤/鼠標/顯示器都接上,?直接使用OpenSTLinuxXterm.

3. ssh登陸.




Play With Linux




這一章節(jié)我們先利用已有的Linux鏡像上玩玩,?做幾個實驗.

1.?播放網(wǎng)絡音頻

保證你的開發(fā)板可以訪問要播放的網(wǎng)絡資源.?可以先ping一下子.

如果ping不通,?先把網(wǎng)絡問題解決.

利用已有的工具mpg123來播放

音頻是板子自帶的輸出口,?可以插上耳機或者音箱欣賞.?如果想調整音量.用這個命令: alsamixer

用方向鍵調整音量.

如果想把音頻下載到本地后面再聽:




獲取最新2019-nCoV數(shù)據(jù)




20192020初疫情牽動著萬千人的心,?即使目前國內的情況基本好轉,?但是全球的情況依然令人揪心.?這里通過板子獲取全球最新的確診/疑似/死亡數(shù)據(jù).?如果再花點時間,?增加圖形界面,?配上LCD或者大屏幕,?可以做成一個展示板子.?這里只獲取到數(shù)據(jù),?獲取之后的數(shù)據(jù)的GUI部分有興趣的可以動手做一做,?或者以后有時間再來發(fā)貼.

首先要找一個數(shù)據(jù)源,?這里使用美國約翰霍普金斯大學的一個數(shù)據(jù)源,?使用curl可以拉取所有數(shù)據(jù):

輸入上述命令后, console會打印最新的數(shù)據(jù).?全球所有地區(qū)基本上都覆蓋了.?但是這數(shù)據(jù)比較多,?需要做一點處理.?比如僅僅打印目前中國境內的各地區(qū)確診數(shù)據(jù):

將上述腳本存為源代碼,再運行:

完成這個實驗包含兩部分:

1.從網(wǎng)絡獲取數(shù)據(jù),?如果用C/C++,可以使用curlAPI.?如果是python,?標準庫有內建的urllib等庫;

2.結果的解析,?如果使用C/C++有很多開源的json庫可用.?如果是python則標準庫有內建的json支持.

如果涉及到圖形化展示數(shù)據(jù),?則還有Qt, GTK,?或者tkinter.




GPIO控制




這個實驗使用系統(tǒng)內置的GPIO控制程序來做流水燈實驗.?控制板子上的LD5, LD6, LD7這幾個LED.?其中LD5, LD6是低邏輯點亮, LD7是高邏輯點亮.LD8Linux本身已經(jīng)使用了,?用戶程序不能控制.

Ctrl+Z或者Ctrl+C都可以退出.




寫一個HelloWorld/C++




因為板子跑的是Linux,?工具鏈可以使用開發(fā)機本身的包管理工具來安裝.?如果要使用板上特有的庫,?還需要配置OpenSTLinuxSDKBSP.?這里我們只是打印Hello World.?使用標準的開發(fā)工具鏈即可.

在開發(fā)機上安裝g++工具鏈:

隨便在電腦上找一個原來寫的C++測試代碼:

編譯連接:

如果沒有帶參數(shù)的話, build的輸出為a.out

把這個a.out通過網(wǎng)絡或者拷貝弄到開發(fā)板上的文件系統(tǒng)中,?添加可執(zhí)行屬性即可運行:



參考




請復制粘貼網(wǎng)址到外部瀏覽器進行瀏覽:


STM32 MPU Wiki:?

https://wiki.st.com/stm32mpu/wiki/Main_Page


STM32 MP1 Product Page:

https://www.st.com/en/microcontrollers-microprocessors/stm32mp157.html#


STM32 MP1 DK1 Page:

https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/stm32mp157a-dk1.html


END

來源:21ic論壇,bbs.21ic.com

版權歸原作者所有,如有侵權,請聯(lián)系刪除。

推薦閱讀

飛機上一般是什么操作系統(tǒng)?

高速CAN、容錯CAN、LIN總線有什么區(qū)別?

大佬終于把鴻蒙OS講明白了,收藏了!

免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關注更多精彩內容

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉