一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

OTFDEC硬件模塊基于STM32H735G-DK板的驗(yàn)證研發(fā)

STM32單片機(jī) ? 來(lái)源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2021-07-05 14:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

STM32H73x系列開(kāi)始,我們引入了一個(gè)新外設(shè)模塊,OTFDEC。它的全名叫做on the fly decryption。它的引入,可以幫助大家解決代碼保護(hù)的痛點(diǎn)。

OTFDEC簡(jiǎn)介

大家都知道,代碼存儲(chǔ)在片內(nèi)Flash,只要做好了JTAG調(diào)試端口的保護(hù)和片上關(guān)鍵代碼的隔離,在防止邏輯攻擊和直接探測(cè)層面,還是相當(dāng)安全的。但是片上Flash畢竟容量有限,在一些應(yīng)用中我們需要把代碼放到片外Flash存儲(chǔ)甚至直接從片外Flash執(zhí)行。片外Flash相比片內(nèi)Flash,在抗攻擊方面就脆弱得多。片外Flash一般沒(méi)有什么硬件層面的保護(hù),只要知道了它的料號(hào),它的讀寫(xiě)時(shí)序都是可以查到的,那么讀出來(lái)里面的內(nèi)容就不是什么難事。

所以大家一個(gè)自然的想法就是把代碼加密后再放到片外Flash上,這樣即使別人讀出里面的密文代碼,只要沒(méi)有密鑰,也無(wú)法獲知代碼的有效信息。

4630e482-dc58-11eb-9e57-12bb97331649.jpg

就比如膠片中這樣的典型拓?fù)浣Y(jié)構(gòu):加密代碼放在外部的Octo-SPI Flash中。

對(duì)這種自然的做法,以往的MCU在執(zhí)行片外加密代碼時(shí),需要先調(diào)用OSPI驅(qū)動(dòng),把密文代碼讀進(jìn)來(lái),比如放到SRAM中。然后使用MCU的軟件或者硬件解密,把代碼明文恢復(fù)到SRAM的另一個(gè)區(qū)域。最后MCU再?gòu)倪@塊SRAM執(zhí)行明文代碼。

現(xiàn)在我們引入了OTFDEC這個(gè)硬件模塊,它位于總線矩陣和Octo-SPI接口之間。把它配置好之后,內(nèi)核執(zhí)行片外Flash上的密文代碼(在這里Octo-SPI Flash的映射地址是0x9000 0000開(kāi)始),無(wú)需中間再用SRAM倒一次手,而是在OTFDEC的作用下,直接把解密后的代碼送到總線矩陣上供內(nèi)核執(zhí)行了。也就是說(shuō),有了OTFDEC的配合,對(duì)于CPU來(lái)說(shuō),執(zhí)行外部Flash上的加密代碼,就和執(zhí)行片上Flash的明文代碼是一樣的。

466e6df2-dc58-11eb-9e57-12bb97331649.jpg

為了盡量減少OTFDEC解密造成的延遲,OTFDEC被設(shè)計(jì)工作在AES-128-CTR模式下。不使用AES的鏈表模式,就是為了盡量縮短對(duì)目標(biāo)地址上密文解密的時(shí)間。因此存儲(chǔ)在外部Octo-SPI Flash上的加密代碼也需要使用同樣的AES-128-CTR運(yùn)算得到。

有一點(diǎn)需要注意的是:為了達(dá)到這樣的使用效果,Octo-SPI需要配置到memory map模式。

目前,STM32系列家族中,集成了這個(gè)OTFDEC模塊的有STM32H73x系列,STM32L56x系列,和STM32U585系列。

467efdde-dc58-11eb-9e57-12bb97331649.jpg

今天我們不是介紹OTFDEC怎么使用,而是回答前段時(shí)間在給客戶介紹OTFDEC的時(shí)候,大家一個(gè)比較共同的問(wèn)題:相對(duì)于直接執(zhí)行外部Flash上的明文代碼,執(zhí)行外部Flash的加密代碼,OTFDEC解密操作引入的延遲有多少?

實(shí)驗(yàn)設(shè)計(jì)

468aadbe-dc58-11eb-9e57-12bb97331649.jpg

我們接下來(lái)設(shè)計(jì)一個(gè)實(shí)驗(yàn),驗(yàn)證在OTFDEC參與下,內(nèi)核執(zhí)行外部Flash上的密文代碼效率到底如何,用數(shù)據(jù)說(shuō)話。

我找了mbedTLS中一個(gè)自測(cè)程序Crypto_SelfTest,驗(yàn)證一下把它加密后放在外部Flash,內(nèi)核執(zhí)行完整套自測(cè)程序需要的時(shí)間花銷,和執(zhí)行外部明文代碼的差異。為了進(jìn)一步說(shuō)明問(wèn)題,還加了一個(gè)場(chǎng)景,就是這個(gè)自測(cè)程序明文放在片內(nèi)Flash,內(nèi)核執(zhí)行它的花銷會(huì)快多少。

這個(gè)Crypto自測(cè)程序經(jīng)過(guò)最高優(yōu)化等級(jí)編譯后,大小差不多在63K作用的樣子。

469e92f2-dc58-11eb-9e57-12bb97331649.jpg

第一個(gè)場(chǎng)景就是最普通的,直接把測(cè)試程序灌到片上Flash運(yùn)行。

我們先來(lái)看一下這個(gè)自測(cè)程序,主要就是執(zhí)行selftests這個(gè)函數(shù)數(shù)組里的自測(cè)程序。用戶可以在mebdtls_conf.h頭文件中去選擇哪些自測(cè)子項(xiàng)被包含進(jìn)去?,F(xiàn)在我選擇了6個(gè)自測(cè)子項(xiàng)。

然后在自測(cè)程序開(kāi)始運(yùn)行之前,通過(guò)檢測(cè)是否有用戶按鍵按下,來(lái)決定是否開(kāi)啟Cache。STM32H735集成ARM Cortex-M7內(nèi)核,自帶32K指令Cache和32K數(shù)據(jù)Cache。

46aff402-dc58-11eb-9e57-12bb97331649.jpg

因?yàn)橐獪y(cè)量運(yùn)行這給自測(cè)程序的時(shí)間花銷,因此我們使能一個(gè)內(nèi)核計(jì)數(shù)器,然后在每個(gè)測(cè)試子項(xiàng)的開(kāi)始復(fù)位該計(jì)數(shù)器,在測(cè)試子項(xiàng)結(jié)束后把當(dāng)前計(jì)數(shù)器的值,記錄到全局變量的時(shí)間戳數(shù)組中。最后在6個(gè)測(cè)試子項(xiàng)都完成后,根據(jù)時(shí)間戳數(shù)組里記錄的值,和當(dāng)前內(nèi)核運(yùn)行頻率,轉(zhuǎn)換成時(shí)間花銷。

由于場(chǎng)景1,是最普通的用法,即程序運(yùn)行在片上Flash,因此它的鏈接文件就是STM32Cube包中的缺省配置。我這里以IAR為例,展示了這個(gè)測(cè)試場(chǎng)景下,code的存放地址,包括復(fù)位和中斷向量表的存放地址。

46be78ba-dc58-11eb-9e57-12bb97331649.jpg

第二個(gè)場(chǎng)景,自測(cè)程序運(yùn)行在外部Flash。而STM32是不能從外部Flash啟動(dòng)的,我們按照常規(guī)的做法,從片上Flash首地址啟動(dòng),因此在片上Flash我們放一個(gè)Bootloader。它的功能很簡(jiǎn)單,就是初始化OSPI接口,并把它配置到memory-map模式。然后調(diào)整堆棧指針SP,以及PC指針,跳到0x9000 0000開(kāi)始的OSPI外部Flash首地址運(yùn)行。而那里,則是我的Crypto自測(cè)程序。

在場(chǎng)景2的自測(cè)程序工程Crypto_Selftest_ext_plain中,和之前的工程相比,只需要稍微做兩處修改。鏈接文件,把復(fù)位和中斷向量表放到0x9000 0000的地方,并且調(diào)整內(nèi)核寄存器的VTOR值。這樣子,一旦有任何中斷或者異常,都是去位于0x9000 0000處的向量表取執(zhí)行地址。

46c7eb84-dc58-11eb-9e57-12bb97331649.jpg

第三個(gè)測(cè)試場(chǎng)景,boot loader工程相比第二個(gè)測(cè)試場(chǎng)景中,需要增加對(duì)OTFDEC的配置。而燒錄在0x9000 0000的內(nèi)容,應(yīng)該是從場(chǎng)景2下第二個(gè)工程生成的project.bin,加密后的密文。這里,左邊的Bootloader里是OTFDEC在解密,右邊是通過(guò)PC端工具預(yù)先把代碼做加密。

由于是AES是對(duì)稱加解密算法,因此OTFDEC的加密參數(shù)配置,要和PC端加密工具的參數(shù)一致。

46d5cc0e-dc58-11eb-9e57-12bb97331649.jpg

我們先來(lái)設(shè)置OTFDEC的解密參數(shù),密鑰key和初始向量IV。

密鑰由用戶自己指定,在代碼里我們?cè)O(shè)置在Key數(shù)組中。按照數(shù)組的寫(xiě)法,考慮到ARM Cortex-M內(nèi)核是小段對(duì)齊,因此這16字節(jié)的密鑰,在memory中的存儲(chǔ)順序,應(yīng)該如左下圖所示。注意,我這里刻意讓16字節(jié)的密鑰中,每個(gè)字節(jié)的內(nèi)容都不一樣。為什么?我們接下來(lái)看。

OTFDEC的IV,HAL驅(qū)動(dòng)封裝了一個(gè)結(jié)構(gòu)體給用戶來(lái)填寫(xiě)。由Nounce,OTFDEC將要作用的外部Flash地址范圍,以及將要存放在外部Flash那個(gè)地址范圍里代碼的版本號(hào)。Nounce,也是由用戶自己設(shè)定,我這里仍然刻意讓8個(gè)字節(jié)的內(nèi)容都不相同。

46e34cb2-dc58-11eb-9e57-12bb97331649.jpg

接下來(lái)我們要配置PC端加密工具的參數(shù)了。這里我們使用openssl。

在OTFDEC的解密密鑰設(shè)置好了之后,我們?cè)趏penssl中使用的密鑰要以字節(jié)為單位,在16個(gè)字節(jié)的范圍內(nèi),頭尾交換一下。但是注意,字節(jié)里面的bit順序不變,也就是每個(gè)字節(jié)的值不變,只是換了新的位置。這就是為什么我前面故意把OTFDEC的密鑰中,16個(gè)字節(jié)的內(nèi)容每個(gè)字節(jié)值都不一樣,就是為了方便比對(duì)每個(gè)字節(jié)的移動(dòng)位置。

為什么要這樣調(diào)換,這是因?yàn)镺TFDEC電路設(shè)計(jì)造成的,我們沒(méi)有必要去追究原因,知道在這樣的設(shè)計(jì)下,我們?cè)撛趺醋鼍涂梢粤恕?/p>

大家注意膠片里貼出來(lái)的openssl的命令,-K字符后跟著就是密鑰,這是以字節(jié)為單位的字節(jié)串。也就是說(shuō)第一個(gè)字節(jié)是0x9A,接著的字節(jié)分別是0xBC, 0xDE,和膠片中下面的表格中字節(jié)順序排列一樣的。

4711371c-dc58-11eb-9e57-12bb97331649.jpg

然后來(lái)看IV。

OTFDEC的IV,我們?cè)诖a中,給HAL驅(qū)動(dòng)封裝出來(lái)的OTFDEC_RegionConfig結(jié)構(gòu)體每個(gè)成員賦值好了之后。這個(gè)IV在使用openssl的時(shí)候,又需要做怎樣的調(diào)序呢?如圖所示:第一個(gè)32位的字,來(lái)自Nounce[1]。這個(gè)4字節(jié)組成的32位字里面,字節(jié)順序也是依次頭尾交換了一下。第二個(gè)32位字,來(lái)自Nounce[0],字節(jié)調(diào)位順序也是一樣。第三個(gè)字的高2位字節(jié)來(lái)自Version,字節(jié)調(diào)位順序和前面一樣。第四個(gè)32位字來(lái)自起始地址的移位和regionID的拼接。

大家注意膠片里貼出來(lái)的openssl的命令,-iv字符后跟著就是初始向量,這也是以字節(jié)為單位的字節(jié)串。也就是說(shuō)第一個(gè)字節(jié)是0x13,接著的字節(jié)分別是0x57, 0x9B,和膠片中下面的表格中字節(jié)順序排列一樣的。

471f243a-dc58-11eb-9e57-12bb97331649.jpg

openssl命令的密鑰和IV輸入的內(nèi)容確定了,還有一件很重要的需要調(diào)整的事情:OTFDEC將要解密的對(duì)象。

它并不是直接的把明文代碼Project.bin,使用openssl按照前面的參數(shù)加密就好了。仍然是由于不同AES運(yùn)算工具對(duì)字節(jié)排序的不同,需要做手動(dòng)調(diào)整。這里我們使用PC端的腳本工具,srec_cat先做輸入字節(jié)流的填充,然后使用xxd工具,對(duì)字節(jié)順序做調(diào)整。調(diào)整的規(guī)則和前面的密鑰是一樣的,即,對(duì)每16字節(jié)的內(nèi)容:在16個(gè)字節(jié)的范圍內(nèi),頭尾交換一下,字節(jié)里面的bit順序不變,也就是每個(gè)字節(jié)的值不變,只是換了新的位置。經(jīng)過(guò)調(diào)序后的字節(jié)流再送到openssl做加密,密文同樣還要經(jīng)過(guò)一次相同規(guī)則的字節(jié)調(diào)序,才得到最終可以燒寫(xiě)到片外Flash(0x9000 0000),由OTFDEC做實(shí)時(shí)解密的加密代碼。

472bfc3c-dc58-11eb-9e57-12bb97331649.jpg

打開(kāi)cmd命令窗口,切換到在這個(gè)文檔配套的參考例程包里的Utilities/ExtTools目錄下,依次輸入前一頁(yè)膠片里的命令,得到預(yù)處理階段的最后輸出,即Project_pad_pre_enc_post.bin。

4738a284-dc58-11eb-9e57-12bb97331649.jpg

479bdf52-dc58-11eb-9e57-12bb97331649.jpg

我們可以使用STM32CubeProgramer來(lái)驗(yàn)證OTDEC配置好了之后,從0x9000 0000的地方看到的就是明文代碼的樣子。

驗(yàn)證步驟請(qǐng)參照膠片中的指示。

47a8210e-dc58-11eb-9e57-12bb97331649.jpg

接下來(lái)我們讓板子脫機(jī)運(yùn)行,把場(chǎng)景3運(yùn)行起來(lái)。從板載的LCD屏幕可以看到自測(cè)程序完成后,打印出來(lái)的時(shí)間花銷。

根據(jù)我復(fù)位的時(shí)候是否按下用戶按鍵,可以展現(xiàn)使能Cache和不使能Cache的效果。

從total time cost這一行可以看出,不是能Cache,執(zhí)行時(shí)間要8秒;而使能了Cache,執(zhí)行時(shí)間只要0.2秒。

47b65ed6-dc58-11eb-9e57-12bb97331649.jpg

我們?cè)侔褕?chǎng)景1和場(chǎng)景2下,啟動(dòng)工程和自測(cè)工程下載到板子上分別運(yùn)行,再記錄各自的時(shí)間花銷。

圖中紅色數(shù)字是未開(kāi)Cache的情況,綠色數(shù)字是開(kāi)啟Cache的情況。

結(jié)論

可以得出結(jié)論:代碼運(yùn)行在外部Flash的時(shí)候,運(yùn)行明文和使用OTFDEC運(yùn)行密文,效率相差無(wú)幾;要提高代碼運(yùn)行在外部Flash的效率,主要加速措施是使能內(nèi)核自動(dòng)的Cache。

文章出處:【微信公眾號(hào):STM32單片機(jī)

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367211
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1679

    瀏覽量

    151881
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70779

原文標(biāo)題:信息安全主題 | OTFDEC efficiency 基于 STM32H735G-DK 板的驗(yàn)證

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    STM32H750B-DK 板載STLINK 燒錄自己程序?qū)е聼o(wú)法使用了,怎么解決?

    STM32H750B-DK 板載STLINK 燒錄自己程序?qū)е聼o(wú)法使用了,說(shuō)有此開(kāi)發(fā)的板子STLINK 程序,謝謝! 補(bǔ)充:STM32H750B-DK 自帶的STLK 無(wú)法上電了,原因是我用CN5 的SWD 燒錄了程序,目前通
    發(fā)表于 06-20 06:15

    STM32N6570-DK 的STLINK口不能識(shí)別出STLINK,為什么?

    使用數(shù)據(jù)線連接STM32N6570-DK的CN6口和電腦,存在不能識(shí)別出STLINK的情況。這個(gè)板子集成的STLINK是連上數(shù)據(jù)線就能識(shí)別出STLINK,還是配置硬件才能識(shí)別出來(lái)?我電腦的stlink驅(qū)動(dòng)和數(shù)據(jù)線應(yīng)該都沒(méi)有問(wèn)題。因?yàn)橛袝r(shí)候能夠識(shí)別出STLINK。
    發(fā)表于 06-16 07:14

    DK036G東科AC-DC 氮化鎵電源管理芯片

    產(chǎn)品概述:DK036G 是一款高度集成了 650V/400mΩ GaN HEMT 的準(zhǔn)諧振反激控制 AC-DC 功率開(kāi)關(guān)芯片。DK036G 檢測(cè)功率管漏極和源極之間的電壓(V DS ),當(dāng) V DS
    發(fā)表于 06-09 09:33 ?0次下載

    STM32WBA65I-DK1 Discovery kit 開(kāi)發(fā)平臺(tái)介紹

    STM32WBA65I-DK1探索套件采用STM32WBA65RI微控制器作為完整的演示和開(kāi)發(fā)平臺(tái)。該套件包括Arm^^^ ^Cortex^?^ -M33芯體(帶ARM TrustZone ?和主線
    的頭像 發(fā)表于 05-15 15:30 ?944次閱讀
    <b class='flag-5'>STM32WBA65I-DK</b>1  Discovery kit 開(kāi)發(fā)平臺(tái)介紹

    硬件輔助驗(yàn)證(HAV) 對(duì)軟件驗(yàn)證的價(jià)值

    硬件輔助驗(yàn)證 (HAV) 有著悠久的歷史,如今作為軟件驅(qū)動(dòng)驗(yàn)證的必備技術(shù),再度受到關(guān)注。 RISC-V 可能是說(shuō)明這一點(diǎn)的最好例子。HAV 能夠執(zhí)行多個(gè)周期的軟件驅(qū)動(dòng)驗(yàn)證,是加速 RI
    的頭像 發(fā)表于 05-13 18:21 ?958次閱讀

    STM32N6570-DK:邊緣人工智能開(kāi)發(fā)的全能探索

    STM32N6570-DKDiscovery套件是一款專為邊緣人工智能開(kāi)發(fā)設(shè)計(jì)的完整演示和開(kāi)發(fā)平臺(tái),基于ArmCortex-M55內(nèi)核的STM32N657X0H3Q微控制器。該套件集成了豐富的硬件
    的頭像 發(fā)表于 05-06 16:00 ?718次閱讀
    <b class='flag-5'>STM32N6570-DK</b>:邊緣人工智能開(kāi)發(fā)的全能探索<b class='flag-5'>板</b>

    STM32G431移植FreeModbus

    STM32G431移植FreeModbus 的代碼已通過(guò)驗(yàn)證,在WeActStudio的STM32G431CoreBoard上進(jìn)行多次測(cè)試,均可正常讀取寄存器數(shù)值。STM32G431C
    發(fā)表于 04-19 16:50 ?1次下載

    使用STM32MP135x-DK進(jìn)行l(wèi)vgl9.1,編譯時(shí)出現(xiàn)報(bào)錯(cuò)怎么解決?

    使用STM32MP135x-DK進(jìn)行l(wèi)vgl9.1,顯示屏設(shè)備節(jié)點(diǎn)使用的/dev/dri/card0 LV_USE_LINUX_FBDEV0 LV_USE_LINUX_DRM1 但是在編譯時(shí)出現(xiàn)
    發(fā)表于 03-13 06:02

    請(qǐng)問(wèn)STM32G473是否支持硬件AES?

    STM32G473參考手冊(cè)及數(shù)據(jù)手冊(cè)中含有硬件AES相關(guān)內(nèi)容及寄存器相關(guān)描述。但STM32G473xx.h中并無(wú)AES相關(guān)寄存器,pack版本已更新為最新。以地址方式直接賦值,Keil debug過(guò)程中查看AES外設(shè)賦值失敗。
    發(fā)表于 03-12 06:38

    請(qǐng)問(wèn)STM32N6的OTP位HSLV_VDDIOx如何配置?

    由于沒(méi)有申請(qǐng)到stm32N657x0-DK開(kāi)發(fā),國(guó)內(nèi)也沒(méi)有找到任何渠道可以購(gòu)買DK或者nucleo的開(kāi)發(fā),近日我本人自制了一塊板子,用于驗(yàn)證
    發(fā)表于 03-07 07:02

    【正點(diǎn)原子STM32H7R3開(kāi)發(fā)套件試用體驗(yàn)】4G聯(lián)網(wǎng)工業(yè)設(shè)備控制網(wǎng)關(guān)

    這次有幸參加 正點(diǎn)原子STM32H7R3開(kāi)發(fā)套件 的評(píng)測(cè),計(jì)劃使用 正點(diǎn)原子STM32H7R3開(kāi)發(fā)套件,來(lái)完成一個(gè) 4G聯(lián)網(wǎng)工業(yè)設(shè)備控制網(wǎng)關(guān)。 評(píng)測(cè)計(jì)劃: 1. 通過(guò)正點(diǎn)原子開(kāi)發(fā)資料
    發(fā)表于 12-18 14:14

    STM32H503開(kāi)發(fā)(1)----開(kāi)發(fā)測(cè)試

    STM32H503 & SENSOR是一款基于STM32H5系列微控制器的評(píng)估套件。該微控制器采用了40nm工藝制造,具有更快的FLASH訪問(wèn),更高的性能以及更低的功耗。此外,該套件具有豐富
    的頭像 發(fā)表于 11-28 09:23 ?1633次閱讀
    <b class='flag-5'>STM32H</b>503開(kāi)發(fā)(1)----開(kāi)發(fā)<b class='flag-5'>板</b>測(cè)試

    ?Banana Pi BPi-M4 Zero 開(kāi)源硬件開(kāi)發(fā)評(píng)測(cè)試: 全志科技H618 方案設(shè)計(jì) ,板載4G 內(nèi)存,32G eMMC

    ?Banana Pi BPi-M4 Zero 開(kāi)源硬件開(kāi)發(fā)評(píng)測(cè)試: 全志科技H618 方案設(shè)計(jì) ,板載4G 內(nèi)存,32G eMMC
    的頭像 發(fā)表于 10-15 12:04 ?1870次閱讀

    stm32gstm32h的區(qū)別

    STM32GSTM32H是STMicroelectronics(意法半導(dǎo)體)推出的兩個(gè)不同的微控制器系列,它們都屬于STM32的廣泛產(chǎn)品線。STM32系列微控制器以其高性能、低功耗和
    的頭像 發(fā)表于 09-04 09:15 ?1744次閱讀

    請(qǐng)問(wèn)STM32MP135F-DK如何移植ubuntu?

    STM32MP135F-DK如何移植ubuntu?
    發(fā)表于 07-23 07:10