《痞子衡嵌入式半月刊》 第 92 期

痞子衡嵌入式半月刊: 第 92 期

这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。

本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。

上期回顾《痞子衡嵌入式半月刊: 第 91 期》

唠两句

历史上的今天:1986年2月20日,被命名为“蜜蜂六号”的我国第一艘热飞艇在北京试飞成功,填补了我国飞行器在这一项目的空白。

本期共收录 1 条资讯、5 个项目,希望对你有帮助!

资讯类

1、瑞萨电子宣布收购PCB设计软件Altium

日本瑞萨电子近日宣布,将以59亿美元现金收购电子设计公司 Altium,致力于为客户提供数字设备设计。Altium 成立于1985年,是全球第一家PCB设计工具供货商。

瑞萨电子一直与 Altium 合作,Altium 的 PCB 设计软件添加了世界上第一个用于设计和实现电子硬件的数字平台 Altium 365,在整个 PCB 设计过程中实现了无缝协作。2023 年 6 月,瑞萨电子宣布在 Altium 365 云平台上实现了所有 PCB 设计的标准化开发,将其所有产品的 ECAD 库发布到 Altium Public Vault。借助 Altium365 上的制造商零件搜索等功能,客户可以直接从 Altium 库中选择瑞萨电子零件,以加快上市速度。

项目类

1、probe-rs - 嵌入式调试和目标交互的工具包

probe-rs 是一个嵌入式调试和目标交互的工具包,它使用户可以对微控制器进行编程和调试。

probe-rs 用于实现来自不同制造商和不同芯片架构的硬件调试器的协议。它的目标是提供一个工具集来与各种嵌入式MCU和调试探针进行交互。类似的项目如 OpenOCD、PyOCD、Segger Toolset、ST Tooling等也存在。它们都实现了GDB协议和它们自己的协议,以使GDB能够与调试探针通信。probe-rs 项目去掉了GDB层,并提供了一个到调试探针的直接接口,从而使其他软件能够使用其调试功能。

2、uthash - 一个为C语言提供哈希表的库

uthash 是为 C 语言提供哈希表功能的库。由于标准 C 语言中没有类似字典的数据结构,该库提供了哈希表常见的查询、插入、删除、排序等函数。uthash 使用方法非常简单,仅需引入一个头文件即可。

#include "uthash.h"

struct my_struct {
    int id;            /* we'll use this field as the key */
    char name[10];
    UT_hash_handle hh; /* makes this structure hashable */
};

struct my_struct *users = NULL;

void add_user(struct my_struct *s) {
    HASH_ADD_INT( users, id, s );
}

3、chibicc - 一个实现了大多数C11特性的小型C编译器

chibicc 是一个实现了大多数 C11 特性的小型 C 编译器。尽管它可能仍然像其他小型编译器一样被归为“玩具编译器”类别,但 chibicc 可以编译几个真实的程序,包括 Git、SQLite、libpng 和 chibicc 本身,而无需对编译的程序进行修改。这些程序生成的可执行文件通过相应的测试套件。因此,chibicc 实际上支持各种各样的 C11 特性,并且能够正确编译数十万行真实的C代码。

这个项目的每次提交都与作者编写的书里章节有关。为此,不仅项目的最终状态,而且每次提交都是仔细编写的,并考虑到可读性。读者能够通过阅读这个项目的一个或几个提交来了解如何实现C语言特性。例如,这就是while、[]、?:和线程局部变量的实现方式。

4、TinySSH - 一个极简的SSH服务器实现

tinysshd 是一个简约的 SSH 服务器,它只实现了SSHv2功能的一个子集。它支持安全加密(最低128位安全性,防止缓存定时攻击),不实现旧的加密(如RSA, DSA, HMAC-MD5, HMAC-SHA1, 3DES, RC4,…),不实现不安全的特性(如密码或基于主机的身份验证),也没有SSH1协议、压缩、端口转发、代理转发、X11转发等功能,未使用动态内存分配(没有分配失败等)。

5、Quadsort - 一种比快速排序快且稳定的归并排序算法

Quadsort 是一种比快速排序快,稳定的归并排序算法。项目包含原理讲解、C 语言实现、性能对比和排序过程。

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页知乎主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

  • 26
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据引用\[1\]和引用\[2\]的内容,我们可以了解到i.MXRT系列MCU通常搭配串行NOR Flash来工作。对于连接在FlexSPI外设上的串行NOR Flash,需要进行冗余程序设计。冗余程序设计需要在Flash中烧写三个启动头:qspiflash_config、image_vector_table和boot_data。这三个启动头的固定偏移位置分别是0x0、0x1000和0x1020。其中,qspiflash_config头根据连接的Flash而异。引用\[3\]中提到了在恩智浦官方MIMXRT1060-EVK开发板上实测冗余程序设计的功能。该开发板上连接了两片Flash,其中一片是8MB QuadSPI Flash,另一片是64MB HyperFlash。通过这个例子可以了解如何正确地放置两份镜像进入Flash,并且了解在什么情况下会导致image 0启动失败从而启动image 1。 至于"NOR flash的浦洛镜像"这个问题,根据提供的引用内容中并没有提到浦洛镜像的相关信息,所以无法给出具体的回答。 #### 引用[.reference_title] - *1* *3* [痞子嵌入式:揭秘i.MXRT1060,1010上串行NOR Flash冗余程序启动设计](https://blog.csdn.net/Henjay724/article/details/122905033)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [痞子嵌入式:把玩i.MXRT1062 TencentOS Tiny EVB_AIoT开发板(2) - 在Flash调试及离线启动...](https://blog.csdn.net/Henjay724/article/details/122164264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

痞子衡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值