嵌入式新闻早班车-第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
 

 

posted @ 2021-07-29 14:40  硬汉嵌入式  阅读(82)  评论(0编辑  收藏  举报