《安富莱嵌入式周报》第342期:开源BLE和2.4G无线黑客工具,蓝牙BLE6.0规范发布,是德科技将推出1GHz带宽14bit分辨率示波器,开源的复古手表设计


更新了两期视频教程:

1、RTX5源码全家桶集成emWin6.40,  Modbus主从,含FreeRTOS版, 探讨一种移植第3方组件通用方法以及使用注意事项2024-08-30
https://www.armbbs.cn/forum.php?mod=viewthread&tid=125509

2、手把手AppWizard轻松制作一个emWin滑动主界面控制框架,任意跳转控制(2024-09-06)
【视频教程】手把手AppWizard轻松制作一个emWin滑动主界面控制框架,任意跳转控制(2024-09-06) - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz!
 


视频版:

《安富莱嵌入式周报》第342期:开源BLE和2.4G无线黑客工具,蓝牙BLE6.0规范发布,是德科技将推出1GHz带宽14bit分辨率示波器,开源的复古手表设计


目录:

1、开源BLE和2.4G无线黑客工具
2、持续关注Hackaday举办的Tiny小游戏开发设计比赛,当前作品已经提交了72个
3、开源的复古手表设计展示
4、ARM架构应用程序接口文档汇总贴
5、蓝牙技术联盟发布低功耗蓝牙入门手册升级至V1.2,同时发布蓝牙BLE6.0规范
6、12bit分辨率示波器还没有完全普及,是德科技将推出1GHz带宽的14bit分辨率示波器
7、太方便了,VS Code也可以识别并使用MDK的配置向导方式来设置程序了
8、记录个STM32H7在DTCM空间调用汇编指令STRBT造成异常问题原因探究
9、IAR9.60.2发布
10、VxWorks风河助力Zephyr更上一层楼
11、H7-TOOL本周进展
(1)新增多款脱机烧录芯片支持
(2)H7-TOOL自制Flash读写保护算法系列,为STM32U5全系列芯片制作读写使能和解除算法,支持在线烧录和脱机烧录使用
(3)H7-TOOL脱机烧录的UID加密操作方法,支持一键生成目标板C代码,方便大家轻松操作,已经发布
(4)H7-TOOL的CAN助手标签增加自定义命名


1、开源BLE和2.4G无线黑客工具

nRFBOX开源项目旨在提供一套全面的工具来探索 2.4GHz 频谱,包括蓝牙和其他无线协议

GitHub - cifertech/nRFBox: All-in-One Gadget for Dominating BLE and 2.4GHz Networks


 



软硬件特性:

 



核心功能:
 


2、持续关注Hackaday举办的Tiny小游戏开发设计比赛,当前作品已经提交了72个

上次周报给大家分享的时候提交了39个,当前已经增加至72个。

又增加了不少有意思的设计

Tiny Games Challenge | Hackaday.io


3、开源的复古手表设计展示

GitHub - trueDKstudent/HDSP_watch: This repository shows design process for wrist watch on HDSP indicators

使用老式 LED 指示灯设计的手表,效果还不错


4、ARM架构应用程序接口文档汇总贴

GitHub - ARM-software/abi-aa: Application Binary Interface for the Arm® Architecture

这些文档对于了解编译细节非常重要,特别是Procedure Call Standard for the Arm Architecture(AAPCS), 能让大家更好的了解编译细节
 


5、蓝牙技术联盟发布低功耗蓝牙入门手册升级至V1.2,同时发布蓝牙BLE6.0规范

1、入门手册

https://www.bluetooth.com/wp-con ... e-primer-v1.2.0.pdf

低功耗蓝牙入门手册解释了蓝牙协议栈的每一层,从底部的物理层开始,到顶部的通用访问配置文件结束。还涵盖了与协议栈分层体系结构相关的主题,例如安全性。

如果不熟悉低功耗蓝牙并希望从技术角度了解该技术,本手册为此而生:
 


目录:

 


2、蓝牙规范V6.0发布

https://www.bluetooth.com/core-specification-6-feature-overview/

内容比较多,熟悉蓝牙的可以看看
 


6、12bit分辨率示波器还没有完全普及,是德科技将推出1GHz带宽的14bit分辨率示波器

在各家都在如火如荼的推出12bit分辨率示波器之际,是德科技推出14bit分辨率示波器。

https://www.keysight.com/us/en/a ... l-applications.html

这个主要是想给大家分享下当前示波器更新趋势

视频效果:


7、太方便了,VS Code也可以识别并使用MDK的配置向导方式来设置程序了

GitHub - ARM-software/MDK-Middleware: MDK-Middleware (file system, network and USB components) source code for Arm Cortex-M using CMSIS-Drivers and CMSIS-RTOS2 APIs.

刷RTX5中间件更新记录,看到他们正式为中间件的配置提供了VSCode配置向导支持,这种配置向导使用非常方便。
大大简化了大家的程序配置:


 

对应的VS Code支持


8、记录个STM32H7在DTCM空间调用汇编指令STRBT造成异常问题原因探究

这是和一位网友探讨交流的问题,初步做的分析。

【问题由来】

程序在MDK AC6的O0优化等级下运行是正常的,而在O2优化下,运行就不正常了,锁定到是下面这个代码造成。

注:O0和O2调用的汇编指令不同。

__asm("ldr r5,=0x20010402");
__asm("ldr r7,=0x55f4");
__asm("strbt r7,[r5,#6]");

硬件异常错误类型:

 

【原因分析】

问题分析采用了优先各种情况测试,然后缩写范围的方式。

问题起初的检查方向差点搞错,起初我并不认为是MPU的配置问题,因为操作出问题的这个空间是DTCM,这个空间和CPU的主频一样,基本不需要配置MPU的,实际应用中,也从来没有配置过,但问题恰恰就出在这里了。

1、测试H7芯片所有4GB空间开启MPU可以正常运行了。

2、进一步缩小范围,测试DTCM的0x2000 0000地址开始128KB空间配置MPU S,B,C各种设置也没有触发这个问题了。

3、再进一步测试发现,只要关闭DTCM的MPU配置,就会触发硬件异常:

MPU_InitStruct.Enable           = MPU_REGION_DISABLE;
MPU_InitStruct.BaseAddress      = 0x20000000;
MPU_InitStruct.Size             = MPU_REGION_SIZE_128KB;        // MPU_REGION_SIZE_512MB;
MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
MPU_InitStruct.IsBufferable     = MPU_ACCESS_NOT_BUFFERABLE;
MPU_InitStruct.IsCacheable      = MPU_ACCESS_NOT_CACHEABLE;
MPU_InitStruct.IsShareable      = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.Number           = MPU_REGION_NUMBER5;
MPU_InitStruct.TypeExtField     = MPU_TEX_LEVEL0;
MPU_InitStruct.SubRegionDisable = 0x00;
MPU_InitStruct.DisableExec      = MPU_INSTRUCTION_ACCESS_DISABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);

这个测试,想起来早期一个帖子:

非特权级模式下,并且开启了MPU了,只有MPU使能的区域才可以访问
https://www.armbbs.cn/forum.php?mod=viewthread&tid=112372
 


【问题解决】
这个发现太重要了,然后进一步搜索指令STRBT的介绍,初步认为是这个问题造成的。
Documentation – Arm Developer

再进一步查找指令介绍,使用这个指令在特权模式下,这个指令只有非特权权限,按照这个要求的话,配置了MPU即可解决。
 


9、IAR9.60.2发布

https://www.armbbs.cn/forum.php?mod=viewthread&tid=125579

新版本依然要使用公司邮箱才可以申请下,已经不再支持个人邮箱申请。

 

详细更新记录如下:


10、VxWorks风河助力Zephyr更上一层楼

刷VxWorks的博文,看到这么一条消息,给大家的分享下

Wind River是 Zephyr 项目的创始成员之一

Making Zephyr Projects a Breeze - How Wind River Empowers Embedded Developers | Wind River
 


11、H7-TOOL本周进展

H7-TOOL详细介绍:https://www.armbbs.cn/forum.php?mod=viewthread&tid=89934

1、新增多款脱机烧录芯片支持
(1)ST的STM32U0系列
(2)TI的MSPM0C系列
(3)芯海的 CS32L015系列
(4)北京中电华大电子的CIU32L0系列。
(5)新唐M031系列、NDA102系列

其中TI的MSPM0C与之前添加的MSPM0L和MSPM0G系列不同,这个系列直接添加到TOOL上后,无法直接使用。脱机下载老是卡死在擦除操作上。

把之前添加脱机烧录芯片遇到的问题轮番测试了一遍,仍旧没有解决。就在要放弃的时候,发现了擦写实现的一些问题,成功解决。

太不容易了,每次添加这种不顺利的芯片都是一顿折腾。

脱机下载和在线下载均正常:

硬件接线,使用的TI官方板子:

(6)增加两款国产汽车级芯片兆易创新GD32A503和雅特力AT32A403A支持

兆易创新GD32A503在线烧录,脱机烧录和读写保护均支持,1拖4,1拖16也正常
 

雅特力AT32A403A在线烧录,脱机烧录和读写保护均支持,1拖4,1拖16也正常

(7)SPI Flash脱机烧录方面,增加支持 GD55B02G (256MB)大容量SPI Flash

2、H7-TOOL自制Flash读写保护算法系列,为STM32U5全系列芯片制作读写使能和解除算法,支持在线烧录和脱机烧录使用

很多IC厂家仅发布了内部Flash算法文件,并没有提供读写保护算法文件,也就是选项字节算法文件,需要我们制作。

实际上当前已经发布的TOOL版本,已经自制很多了。但是依然有些厂家还没自制,所以陆续开始为这些厂家提供读写保护支持。

近期已经自制了STM32H7全系列,N32G003,N32G031,  这次将STM32U5全系列做支持。

3、H7-TOOL脱机烧录的UID加密操作方法,支持一键生成目标板C代码,方便大家轻松操作,已经发布

详细地址:https://www.armbbs.cn/forum.php?mod=viewthread&tid=125161

4、H7-TOOL的CAN助手标签增加自定义命名

2.27版固件正式增加

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值