首页 > 编程语言 >《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳

时间:2022-10-13 13:02:17浏览次数:85  
标签:树莓 code buffer data uint8 安富 https byte 超频

 

视频版:

​https://www.bilibili.com/video/BV1DV4y1u7Em​

 


1、CMSIS-DSP软件包升级至V1.12,添加更多f64双精度API,并首次引入计算图

​https://github.com/ARM-software/CMSIS-DSP​

​ARM.CMSIS-DSP.1.12.0.pack​​ (7.22MB)

本次更新最明显的就是增加了这个文件夹:

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_github

MDK安装后,增加了这么个选项:

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_#include_02

具体玩法还没有研究,从计算图效果来看,确实方便了执行流程的理解和调试参数的调整测试。

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_github_03

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_04

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_github_05

2、纯手工为PS1打造一个全新的亚克力外壳,效果很拉风

作者:BitHead1000

原视频:​​https://www.youtube.com/watch?v=RgoWwO8Ul8M​

原始的PS1效果:

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_github_06

重新打造的PS1外壳,每个角落都全部重新设计。

大家有兴趣可以看下原视频,很帅

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_07

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_github_08

动图:

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_09

3、树莓派单片机RP2040超频到1GHz

​https://github.com/davidb990/rp2040_xoc​

作者提供了测试代码,测试条件是将内核电压从1.1V提升到3.0V,通过制冷使工作温度为-40°

作者测试了几次跑分Demo,可以正常运行,但是运行一段时间容易损坏芯片。

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_github_10

4、史上最全面的RISC-V相关资源搜集整理贴

​https://github.com/mikeroyal/RISC-V-Guide​

几乎已经涵盖了市面上各种软件资源和硬件资源搜集,包含最近各家发布的硬件板子

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_11

5、瑞萨基于RISC-V内核推出一款低成本电机单片机R9A02G020

​https://www2.renesas.cn/cn/zh/about/press-room/renesas-extends-leading-risc-v-embedded-processing-portfolio-new-motor-control-assp-solution​

RISC-V内核来自Andes。

R9A02G020框图如下:

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_github_12

套件:

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_13

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_#include_14

6、高效可靠的数据字节编码算法COBS,可用于串口通信

​https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing​

以modbus rtu通信为例,一般是3.5字符作为帧间隔区分,而使用COBS就不需要这样了,他是将范围 [0,255] 内的任意字节字符串转换为 [1,255] 范围内的字节。从数据中消除所有0,现在可以使用0来明确标记转换后数据的结束

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_15

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_16

代码如下:

#include <stddef.h>
#include <stdint.h>
#include <assert.h>

/** COBS encode data to buffer
@param data Pointer to input data to encode
@param length Number of bytes to encode
@param buffer Pointer to encoded output buffer
@return Encoded buffer length in bytes
@note Does not output delimiter byte
*/
size_t cobsEncode(const void *data, size_t length, uint8_t *buffer)
{
assert(data && buffer);

uint8_t *encode = buffer; // Encoded byte pointer
uint8_t *codep = encode++; // Output code pointer
uint8_t code = 1; // Code value

for (const uint8_t *byte = (const uint8_t *)data; length--; ++byte)
{
if (*byte) // Byte not zero, write it
*encode++ = *byte, ++code;

if (!*byte || code == 0xff) // Input is zero or block completed, restart
{
*codep = code, code = 1, codep = encode;
if (!*byte || length)
++encode;
}
}
*codep = code; // Write final code value

return (size_t)(encode - buffer);
}

/** COBS decode data from buffer
@param buffer Pointer to encoded input bytes
@param length Number of bytes to decode
@param data Pointer to decoded output data
@return Number of bytes successfully decoded
@note Stops decoding if delimiter byte is found
*/
size_t cobsDecode(const uint8_t *buffer, size_t length, void *data)
{
assert(buffer && data);

const uint8_t *byte = buffer; // Encoded input byte pointer
uint8_t *decode = (uint8_t *)data; // Decoded output byte pointer

for (uint8_t code = 0xff, block = 0; byte < buffer + length; --block)
{
if (block) // Decode block byte
*decode++ = *byte++;
else
{
if (code != 0xff) // Encoded zero, write it
*decode++ = 0;
block = code = *byte++; // Next block length
if (!code) // Delimiter code found
break;
}
}

return (size_t)(decode - (uint8_t *)data);
}

7、Embedded Wizard发布9期视频教程

大家有兴趣可以看下

​https://www.embedded-wizard.de/master-class-mondays​

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_#include_17

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_github_18

同时还为一家声学分析仪提供了界面设计,大家可以看看界面素材是否有值得参考的

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_19

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_20

8、深圳捷扬微电子发布中国首款通过FiRa联盟认证的UWB芯片

​https://www.giantsemi.com/newsinfo/661036.html​

GT1000已经于2022年5月开始量产,将于2022年9月开始批量出货,规格介绍如下:

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_数据_21

9、英特尔的13代CPU有望达6GHz主频,超频后达8GHz

​https://www.windowscentral.com/hardware/computers-desktops/intel-raptor-lake-details-teased-including-6ghz-stock-clock-speeds-for-13th-gen-cpus​

13代U还没有正式公布,根据外媒的消息,13代U至少有一款可达6GHz,超频后达8GHz。

如果这样的话,将超过AMD 5.7GHz的Ryzen 9 7950X。

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_github_22

10、H7-TOOL本周进展

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

(1)增加新的脱机烧录芯片中,其中新添加的NXP芯片MKE16Z64与其它MKE不同。

(2)H7-TOOL同步开发的还要一个重要功能,支持各种GUI的截图功能,无需再使用麻烦的SD卡/U盘截图方案 。

即使到今天,我们很多时候做产品效果展示,需要截屏时,依然采用的古老的SD卡/U盘这种的古老方案,不仅麻烦,而且繁琐。

emWin早期的时候有推出过emSPY截图功能,需要用户移植RTT或者网络协议栈,后续新版本更新,经常出现花屏,几乎没法使用。所以我们的新功能为此而生。

用户仅需接上SWD接口即可,无需用户嵌入代码到目标,填入显存地址即可,可以直接截图ThreadX GUIX,emWin,TouchGFX等各种UI的显示效果,包括大家自己做的裸屏UI也是可以截图出来的。

通过这个功能,会大大方便大家产品效果展示。

(3)初步把H7-TOOL的RTOS Trace工作流程整顺溜了,剩下可以专心添加各种OS和组态界面设计了。

uCOS-III的关键信息检索,基本都已经完成,不需要目标板额外做任何代码,实时检测RTOS任务执行情况。

下一步开始ThreadX的Trace功能支持,添加完毕几款RTOS的Trace后,再重新设计控件布局效果展示。

《安富莱嵌入式周报》第282期:CMSIS-DSP手册引入计算图,树莓派单片机RP2040超频到1GHz,COBS字节编码算法,纯手工为PS1打造全新亚克力外壳_#include_23

 

微信公众号:armfly_com



标签:树莓,code,buffer,data,uint8,安富,https,byte,超频
From: https://blog.51cto.com/u_15785540/5753238

相关文章