在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

STM32MP157A-DK1開發板評測

STM32單片機 ? 來源:STM32單片機 ? 2020-04-28 10:51 ? 次閱讀

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

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

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

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

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

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

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

板子

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

(點擊圖片可放大查看)

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

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

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

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

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

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

芯片

這個芯片的資源比較豐富, 定位是工控/高端消費類應用。這里作者也不照抄數據手冊了,感興趣的可以去下載看看,它的主要內核是雙Cortex-A7+Cortex-M4,還有Neon, FPU, GPU等等。MP1主要是使用Cortex-A7, Cortex-M4可以算是一個從MCU,因為芯片本身是沒有Flash的, 需要Cortex-A7把可執行代碼載入到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公司的這個系列的產品. 支持ARM指令和Thumb/Thumb2指令.可以看作ARM7的升級產品。

Cortex-A系列

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

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

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

就本開發板而言, 開發者可以:

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

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

啟動/登陸板子上Linux

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

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

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

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

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接口, 可以接4個USB Device. 作者試驗過鍵盤,鼠標. 包括無線的鍵鼠都能用.

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

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

2.把鍵盤/鼠標/顯示器都接上, 直接使用OpenSTLinux的Xterm.

3. ssh登陸.

Play With Linux

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

1.播放網絡音頻

保證你的開發板可以訪問要播放的網絡資源. 可以先ping一下子.

如果ping不通, 先把網絡問題解決.

利用已有的工具mpg123來播放

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

用方向鍵調整音量.

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

獲取最新2019-nCoV數據

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

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

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

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

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

1.從網絡獲取數據, 如果用C/C++,可以使用curl的API. 如果是python, 標準庫有內建的urllib等庫;

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

如果涉及到圖形化展示數據, 則還有Qt, GTK, 或者tkinter.

GPIO控制

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

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

寫一個HelloWorld/C++

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

在開發機上安裝g++工具鏈:

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

編譯連接:

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

把這個a.out通過網絡或者拷貝弄到開發板上的文件系統中, 添加可執行屬性即可運行:

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

    關注

    2270

    文章

    10903

    瀏覽量

    356273
  • 嵌入式開發
    +關注

    關注

    18

    文章

    1030

    瀏覽量

    47594
  • 開發板
    +關注

    關注

    25

    文章

    5062

    瀏覽量

    97582

原文標題:分享 | STM32MP157A-DK1開發板評測

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ST×米爾STM32MP25x線下培訓會

    STM32MP257D是ST推出的搭載了雙核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微處理器。米爾電子基于STM32MP257D推出了MYD-LD25X開發板
    的頭像 發表于 12-06 01:00 ?245次閱讀
    ST×米爾<b class='flag-5'>STM32MP</b>25x線下培訓會

    【北京迅為】《stm32mp157開發板嵌入式linux開發指南》第五章 Ubuntu使用apt-get下載

    【北京迅為】《stm32mp157開發板嵌入式linux開發指南》第五章 Ubuntu使用apt-get下載
    的頭像 發表于 09-03 16:26 ?803次閱讀
    【北京迅為】《<b class='flag-5'>stm32mp157</b><b class='flag-5'>開發板</b>嵌入式linux<b class='flag-5'>開發</b>指南》第五章 Ubuntu使用apt-get下載

    迅為iTOP-STM32MP157開發板Linux開發學習一兩用

    JTAG 接口: 1 個 CAMERA 接口: 1 個 CAN 接口: 1 路 CAN User Key: 5 個功能按鍵北京迅為電子有限公司 iTOP-STM32MP157
    發表于 08-08 14:06

    STM32mp157AAC3 1GB DDR編譯運行報錯的原因?

    開發板:野火電子STM32MP157 MPU:STM32MP157AAC3 DDR:1GB DDR3L SDK
    發表于 07-23 06:17

    stm32mp157編譯燒錄運行到uboot串口無輸出怎么解決?

    /create_sdcard_from_flashlayout.sh ./flashlayout_st-image-weston/optee/FlashLayout_sdcard_stm32mp157a-dk1
    發表于 07-05 08:11

    請問STM32MP157如何測試千兆網的帶寬?

    手上有一臺 STM32MP157C DK2 的板子,上面已經運行了OpenSTLinux ,因為它是STM32 系列里唯一達到千兆位網速的(這是選用STM32MP1的一個重要原因),想
    發表于 04-12 06:16

    如何在STM32MP157C DK2上實現管腳輸出PTP的PPS信號?

    的步驟如何? 例如設置一個STM32MP157C 為master,另一個STM32MP157C 為slave , 進行網絡時鐘同步。 可以安裝運行PTP4L這樣的程序嗎? 另外如何在 STM32MP157C
    發表于 04-11 07:18

    怎樣使用STM32MP157A-DK1探索的m4和SAI協議做音頻開發,比如錄音?

    怎樣使用STM32MP157A-DK1探索的m4和SAI協議做音頻開發,比如錄音? M4的開發包沒有audio codec的接口可以使用,如何初始化codec,音量控制? 新人小白求
    發表于 04-11 06:53

    stm32mp157分區燒寫不進去的原因?

    fsbl1-boot Binary none 0x0 arm-trusted-firmware/tf-a-stm32mp157c-ya157c-512d-v2-serialboot.stm32 - 0x03
    發表于 04-08 06:17

    STM32MP157F-DK2 tsv下載錯誤的原因?

    SD卡時下載錯誤 操作過程 設置開發板啟動模式 重啟開發板 連接CubeProg 選擇.tsv文件 FlashLayout_sdcard_stm32mp157f-dk2-trusted.tsv 選擇
    發表于 03-29 08:11

    STM32MP157A-DK1老是提示電源有問題怎么解決?

    : STMicroelectronics STM32MP157A-DK1 Discovery Board NOTICE:Board: MB1272 Var1.0 Rev.C-01 INFO: Reset
    發表于 03-27 08:07

    stm32mp175f-dk2開發板在USB燒寫失敗的很頻繁是為什么?

    我買了官方的開發評估套件,stm32mp157f-dk2,使用的官方送的16GB的SD卡,買來到現在燒寫都一直出錯。使用了5V30A的可調電源供電。使用官方送的那個粗的兩頭TYPEC的線,燒寫,一下
    發表于 03-22 06:00

    STM32MP135F-DK燒錄fip-stm32mp135f-dk-optee.bin后一直Reconnecting the device連不上設備的原因?

    STM32MP135F-DK開發板燒錄燒錄進行到fip-stm32mp135f-dk-optee.bin后一直 Reconnecting the device連不上設備,可能是什么原因?
    發表于 03-11 07:05

    請問STM32MP135C-DK開發套件是和STM32MP135F-DK開發板是一個東西嗎?

    請問STM32MP135C-DK開發套件是和STM32MP135F-DK開發板是一個東西?我沒找到有STM32MP135C-DK
    發表于 03-07 07:41

    盤點那些硬件+項目學習套件:STM32MP157 Linux開發板及入門常見問題解答

    來盤點一下,比較受歡迎幾款“硬件+項目”學習套件,以及一些初學者比較關注的問題。 盤點一:STM32MP157 Linux開發板開發板標識圖 ▋開發板簡介
    發表于 02-01 14:25
    主站蜘蛛池模板: 啪啪免费网| 天天干天天做天天操| 亚洲四虎在线| 男女交性视频免费视频| 午夜视频在线网站| bt天堂在线观看| 午夜色a大片在线观看免费| 思思99re66在线精品免费观看| 国内外精品免费视频| 日韩怡红院| 亚洲 自拍 欧美 综合| 黄网站色视频大全免费观看| 综合网伊人| 天堂网在线资源www种子| 精品国产麻豆免费人成网站| 美女和帅哥在床上玩的不可描述 | 黄网站在线播放| 欧美亚洲三级| 婷婷激情四月| 欧美性色黄| 丁香六月婷婷精品免费观看| 久久夜色精品国产噜噜小说| 国产成人91青青草原精品| 国产网站在线播放| 香蕉操| 欧美操操操操| 美女天天干| 免费网站黄色| 丁香五月欧美成人| 丁香在线| 一个色中文字幕| 五月婷婷六月爱| 免费的国语一级淫片| 成人免费观看一区二区| 色天天综合色天天碰| 人人玩人人添天天爽| 天天天色综合| 天天操夜夜操狠狠操| 日韩亚洲欧洲在线rrrr片 | 日本在线一本| 黑人干亚洲|