|
微信平台已经同步发布。
平台号:armfly_com

1、ARM推出新IP核,Cortex-A78,Cortex-X1,Mali-G78和Ethos-N78
与Cortex-A77相比,Cortex-A78性能提升20%,功耗降低50%
https://community.arm.com/develo ... /arm-cortex-a78-cpu

Cortex-X1属于客制化内核,为客户提供的更大的灵活性和可扩展性,最高性能相比A77提升30%,属于当前ARM系最高性能内核。
https://community.arm.com/develo ... ex-x-custom-program




Arm推出了Ethos-N78神经处理单元NPU

新的图形处理器G78相比G77的性能提升25%



2、ThreadX全家桶全部移植成功
疯狂输出的一周终于结束了,截止上周日晚上11点50,才完成ThreadX所有组件的移植工作。
面对高达3000+源码文件,MDK,IAR和Embedded Studio全部崩盘,卡的卡,死机的死机,无法调试的无法调试,搞的我怀疑人生。
源码文件一多,各种平时没见过的神奇问题就都弹出来了。
下面是文件系统的移植:

GUI的移植:

网络协议栈的移植:

USB协议栈的移植:

原本是打算周末为大家分享下内核和文件系统的移植Demo,但是没有控制住,一直整到上周最后10分钟才完成。
考虑本周一开启写个ThreadX全家桶的移植专题教程,让大家走上ThreadX的康庄大道。

3、ThreadX GUI可以在VS2019上刷起来了
设计器下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=97925
大家仅需安装ThreadX的GUI设计器即可,然后看安装目录里面的examples文件夹里面
然后使用VS2019直接代开就可以编译运行:




4、Ozone升级至3.20,更新了大量内容
镜像下载:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=97090
更新记录如下:

SEGGER本次的更新略仓促,厂家和对应型号不匹配,不过不影响使用,用户可以直接检索对应的型号使用即可。


5、JLINK相关更新到V6.80说明
镜像下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=97090
(1)本次更新记录:

(2)JLINK外网远程调试升级,支持局域网调试,并且增加多个服务器地址
新增的地址:
jlink-europe.segger.com
jlink-america.segger.com
jlink-asia.segger.com
局域网:

之前做的外网测试:

(3)新版驱动里面的RTT修正了M7上使用TCM做主RAM的使用问题

(4)SEGGER帮MDK解决Event Recorder做printf的卡顿问题
MDK自带的Event Recorder使用printf功能,经常会出现卡顿的问题,一直是MDK的通道。
SEGGER近期发文帮忙解决了这个痛点,使用SEGGER的RTT功能即可;


6、漂亮的灯布效果
地址:https://mcuoneclipse.com/2020/05/24/60-billion-lights-2400-rgb-leds-and-120-stepper-motors-hiding-behind-canvas-art/
视频:https://v.qq.com/x/page/v0974u1zwcv.html
截图效果:

7、H7-TOOL最新进展
1拖4已经正式开源发布:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=96432
(1)新唐ARM脱机烧录进展
当前已经对MM32,STM32,STM8进行了支持,继续拓展,开始对新唐全系列ARM核进行支持。
新唐的片子读ID不能像ST那样,直接读内存即可。需要一系列操作才能读取。已用lua脚本实现:
function MCU_Init(void)
--SYS_UnlockReg()
local i
for i = 1,1000,1 do
if (pg_read32(0x50000100) == 1) then
break
end
pg_write32(0x50000100, 0x59)
pg_write32(0x50000100, 0x16)
pg_write32(0x50000100, 0x88)
end
--FMC_Open()
pg_write32(0x5000C000, pg_read32(0x5000C000) | 1)
end
function MCU_ReadUID(void)
local id = {}
local i
local s = ""
local str
for i = 1, 3, 1 do
print(i)
pg_write32(0x5000C00C, 0x04)
pg_write32(0x5000C004, (i - 1) * 4)
pg_write32(0x5000C010, 0x01)
while((pg_read32(0x5000C010) & 0x01) == 0x01) do end
id = pg_read32(0x5000C008)
s = s..string.char(id)
s = s..string.char(id >> 8)
s = s..string.char(id >> 16)
s = s..string.char(id >> 24)
end
str = "uid = "..bin2hex(s) print(str)
return s
end
(2)编译器优化级别对脱机编程速度的影响
KEIL MDK编译器优化级别0, 烧写1MB文件,STM32L476RGT6
单路 16.82 16.56 16.56s
多路 18.79 18.52 18.52s
KEIL MDK编译器优化级别3, 烧写1MB文件,STM32L476RGT6
单路 16.77 16.51 16.51s
多路 17.89 17.62 17.62s
对于多路模式,开启优化速度提升比较明显。
(3)实测脱机烧录器,实测线束能到80CM长度(并非所有MCU)
脱机烧录软件缺省设置的SWCLK时钟速度为:写入时是16.7MHz,读出时是10MHz左右。
2020-05-25实测
1、烧写STM32H750(H7-TOOL)、STM32F103ZE(V4开发板),最高SWD速度(不加延迟),可以弄到80CM线长稳定烧录。再长就没测试了。
2、烧写低功耗STM32L476VG,20cm最高速度正常。40cm不正常,加少许延迟可通过。60CM线加延迟都不能通过。
3、烧写低功耗STM32L151, 20cm线按最大速度会失败,加很小的延迟就可以了。
4、烧写灵动MM32、STM32非低功耗系类,均可以稳定跑到最高时钟速度。
原因分析:
1、不同的CPU的GPIO输入阻抗相差很大。线缆阻抗不匹配会导致信号线上振铃现象严重,容易导致时序错乱。
2、H7-TOOL内部SWDIO和SWCLK两个引脚已串联33欧姆电阻,在线缆过长时,该电阻偏小。
改善办法:
1、尽量控制线缆的长度在20CM以内,并选择线芯粗的优质杜邦线。
2、如果要加长接线,可以在线上串联电阻(51-200欧)限制信号上升速率,同时软件降低SWD时钟速度。
3、使用一拖四的转接板,该转接板已串联33欧电阻(加上主机内部的33欧,大概66欧总电阻),并且加了上拉电阻2K欧。可以改善阻抗不匹配的问题。
4、参考:J-Link,V7 V8 V9不同版本有用100欧串联电阻,也有用200欧串联电阻。
目前最新的固件增加了SWD时钟延迟参数来适应不同的情况
SWD_CLOCK_DELAY = 1 --SWD时钟延迟,0不延迟,值越大速度越慢

|
评分
-
查看全部评分
|