1. 程式人生 > 其它 >嵌入式新聞早班車-第15期

嵌入式新聞早班車-第15期

【5分鐘閱讀】



【Cadence推出機器學習晶片設計技術Cerebrus】

Cadence推出的基於機器學習的Cerebrus智慧晶片設計技術,直接整合到Cadence晶片設計工具鏈中,大大優化PPA(晶片設計三要素,Performance(效能)、Power(功耗)、Area(尺寸))。

Cerebrus白皮書介紹這個工具幫助一位工程師在 10 天內實現 3.5 GHz 移動 CPU,同時節省洩漏功率、總功率並提高電晶體密度。與幾個月內使用近十幾名工程師的預測時間線相比,Cerebrus 改進了最佳手調設計,提高了 420 MHz 的頻率,節省了 26 mW 的洩漏功率和 62 mW 的總功率。


URL:
https://www.cadence.com/en_US/home/company/newsroom/press-releases/pr/2021/cadence-extends-digital-design-leadership-with-revolutionary-ml-.html





【超高速晶片設計公司ADSANTEC】


有興趣可以逛逛這個公司的官網,很開眼,都是幾十GHz的模擬和數字IC產品。
搜了下芯片價格,比如這個資料訊號分發器ASNT5121E-KMC,售價1000美元。


URL:https://www.adsantec.com/




【RISC-V安全調研】

一篇比較系統的文件《A Survey on RISC-V Security: Hardware and Architecture》:


URL:
https://arxiv.org/pdf/2107.04175.pdf





【華邦OctalNAND Flash與新思科技DesignWare AMBA IP完美契合,提供完整的高容量 NAND 快閃記憶體解決方案】


作為全球首款8 I/O串列式NAND Flash,與NOR Flash解決方案相同,但更具成本優勢。

大多數高容量嵌入式應用中,一般都會將大量系統程式碼對映到 DRAM 中執行,而OctalNAND Flash的讀取傳輸速率可達每秒240MB,並且具備連續讀取的能力,能夠大幅度節省傳輸時間。雖然NAND Flash無法避免記憶體壞塊的出現,但華邦的OctalNAND Flash具備壞塊置換功能,可以將壞塊對映並做好塊替換,從而使主晶片機能夠保持資料傳輸的連續性,並簡化高速程式碼對映的流程,無需主晶片進行跳過壞塊的處理方式。


URL:
https://www.winbond.com/hq/about-winbond/news-and-events/news/winbond-octalnand-flash-with-synopsys-designware-amba-ip-delivers-highdensity-nand-flash-memory-solution.html?__locale=zh




【ST推出業界首款200mm碳化矽SiC產品】

SiC碳化矽是一種複合半導體材料,在關鍵、高增長的移動電子和工業應用等方面比矽具有更好的效能和效率。

普及視訊:
https://v.qq.com/x/page/t3259diwgfp.html

URL:https://newsroom.st.com/media-center/press-item.html/t4380.html?ecmp=tt22394_gl_social_jul2021l




【Embedded Wizard新做的汽車診斷工具介面案例展示】


這介面效果整的跟網頁差不多。

URL:https://www.embedded-wizard.de/cases/snap-on




【30個基於STM32H7的最新版TouchGFX Demo案例】

感謝壇友jnny_cn為我們V7板子提供的30個案例。

30個案例介面效果:
30個例子:


URL:http://www.armbbs.cn/forum.php?mod=viewthread&tid=108039




【花了半天時間,找到CMSIS 5.8.0軟體包裡面RTX5 底層彙編檔案的處理欠妥的地方,ARM這等大廠也有這種騷操作】

這個問題會導致M7F晶片直接硬體異常,為了解決這個問題,倒騰了一下午,一開始研究的方向跑偏了,耽誤了不少時間。

當前的RTX5支援MDK,GCC和IAR,所以也專門配套的三種Port檔案,我們這裡主要說MDK AC6和AC5。

1、先說MDK AC5
這裡要說的是MDK AC5的移植檔案,當前提供的移植檔案irq_armv7m.s(之前是irq_cm4f.s)開頭如下:
                IF       :LNOT::DEF:RTX_STACK_CHECK
RTX_STACK_CHECK EQU      0
                ENDIF

                IF       ({FPU}="FPv4-SP")
FPU_USED        EQU      1
                ELSE
FPU_USED        EQU      0
                ENDIF
這句IF ({FPU}="FPv4-SP")非常欠考慮,這個是M4核心單精度使用的,如果在MDK下使用M7核心晶片STM32H7,並且使用了浮點,這就完全不能用了。

M7單精度要使用FPv5-SP,雙精度要使用FPv5-D16。最終修改決定使用 IF {FPU} != "SoftVFP" 判斷是否使用軟體浮點更簡單,遮蔽了使用者需要切來切去的問題。

修改後程式碼如下:
                IF       :LNOT::DEF:RTX_STACK_CHECK
RTX_STACK_CHECK EQU      0
                ENDIF

              IF {FPU} != "SoftVFP"
FPU_USED        EQU      1
                ELSE
FPU_USED        EQU      0
                ENDIF

2、再說MDK AC6
MDK AC5的問題解決了,我使用MDK RTE建立了一個AC6的工程,我一看更驚呆了,直接用的GCC的Port檔案。
  .syntax  unified

        #include "rtx_def.h"

        #if (defined(__ARM_FP) && (__ARM_FP > 0))
        .equ     FPU_USED, 1
        #else
        .equ     FPU_USED, 0
        #endif

        .equ     I_T_RUN_OFS, 20        // osRtxInfo.thread.run offset
        .equ     TCB_SP_OFS,  56        // TCB.SP offset
        .equ     TCB_SF_OFS,  34        // TCB.stack_frame offset

        .equ     FPCCR,     0xE000EF34  // FPCCR Address

        .equ     osRtxErrorStackOverflow, 1 // Stack overflow
當然,編譯是沒問題的,注意選擇這個選項:

這次新版升級的使用者體驗略差,究其根本原因是沒有考慮M7核心的單精度浮點和雙精度浮點使用RTX5的情況。

URL:http://www.armbbs.cn/forum.php?mod=viewthread&tid=108052 微信公眾號:armfly_com 安富萊論壇:www.armbbs.cn 安富萊淘寶:https://armfly.taobao.com