首页 > 编程语言 >TheAlgorithms/C - 各种基础算法、数据结构的 C 语言实现+armink/SFUD - 一款基于 JEDEC SFDP 标准的串行 (SPI) Flash 通用驱动库

TheAlgorithms/C - 各种基础算法、数据结构的 C 语言实现+armink/SFUD - 一款基于 JEDEC SFDP 标准的串行 (SPI) Flash 通用驱动库

时间:2024-05-11 15:55:26浏览次数:18  
标签:Secure SPI armink Flash JEDEC 模块 SFUD 数据结构

1、OpenMV-RT - 基于恩智浦 i.MXRT 系列的开源机器视觉 AI 模块

OpenMV-RT 是一款基于恩智浦最近主打的 i.MXRT 超高性能系列 MCU 的视觉模块,模块设计者是恩智浦大牛工程师宋岩(对,就是 ARM Cortex-M3 权威指南中文版作者)。

模块源代码: https://github.com/RockySong/micropython-rocky/tree/omv_initial_integrate

这款模块设计得非常简洁,除了 MCU 最小系统之外,仅包含四大部件:640x480 数字摄像头传感器、九轴姿态传感器、串行 SPI Flash (存放代码)、SD 卡槽(文件系统)。模块还提供了标准 OpenMV 接口,可在 OpenMV 项目生态里任意扩展其他功能模块。

大牛宋岩为这个模块编写了很多 AI 方面的应用实例,如人脸识别、物体识别、性别识别等,这些实例还在持续增长中,所以这可不是一个简单的硬件模块,而是你入门 AI 的极佳机会。

更多 OpenMV-RT 的特点,可参看作者写的文章 《基于i.MX RT1060的可编程视觉模块》 和我写的上手实践 《OpenMV-RT模块初体验》

2、TheAlgorithms/C - 各种基础算法、数据结构的 C 语言实现

知名开源组织 TheAlgorithms 维护的 C 语言实现的各种基础算法、数据结构示例。所有算法列表详见 DIRECTORY.md

项目地址: https://github.com/TheAlgorithms/C

有人说,程序其实就是数据结构和算法的集合。只要一个人精通数据结构和算法,那这个人必然也是编程大牛。

这个项目基本涵盖了常见数据结构和算法,而且代码非常简洁,一点都不晦涩,全部理解并手敲一遍,必然让你编程技巧更上一层楼。

3、armink/SFUD - 一款基于 JEDEC SFDP 标准的串行 (SPI) Flash 通用驱动库

SFUD 是一款开源的串行 SPI Flash 通用驱动库,作者是上海睿赛德(RT-Thread)公司技术总监朱天龙大神。

项目地址: https://github.com/armink/SFUD

由于现有市面的串行 Flash 种类居多,各个 Flash 的规格及命令存在差异, SFUD 就是为了解决这些 Flash 的差异现状而设计,让我们的产品能够支持不同品牌及规格的 Flash,提高了涉及到 Flash 功能的软件的可重用性及可扩展性,同时也可以规避 Flash 缺货或停产给产品所带来的风险。

SFUD 主要特点是支持 SPI/QSPI 接口、面向对象(同时支持多个 Flash 对象)、可灵活裁剪、扩展性强、支持 4 字节地址。标准资源占用:RAM:0.2KB ROM:5.5KB,最小资源占用:RAM:0.1KB ROM:3.6KB。

SFUD 目前主要提供的 Demo 平台是STM32,但良好的代码结构也很方便移植到其他MCU,下表为所有已在 Demo 平台上进行过真机测试过的 Flash。

工具类

1、MCUXpresso Secure Provisioning Tool v1.0 - 恩智浦官方 MCU 一站式安全启动/下载工具

恩智浦半导体自 2017 年开始推出 i.MXRT 系列 MCU 以来,让广大嵌入式从业者既爱又恨,爱的是这颗 MCU 的超高性能,恨的是入门较难,配套启动下载工具使用太复杂。如今,千呼万唤的官方一站式启动工具 MCUXpresso Secure Provisioning Tool 终于推出了。

工具主页: https://nxp.com/mcuxpresso/secure

使用过 i.MXRT 芯片的朋友应该都知道痞子衡也设计过一个一站式安全启动工具 NXP-MCUBootUtility,代码开源在github上,有近 100 star了,这个工具 2018 年底发布的 v1.0,承担了部分 i.MXRT 客户支持工作。

如今终于等来了官方正式版 MCUXpresso Secure Provisioning Tool,从设计原理上来说,MCUXpresso Secure Provisioning Tool 跟 NXP-MCUBootUtility 其实是类似的,不过 MCUXpresso Secure Provisioning Tool 计划支持所有系统(Windows/Linux/macOS),并且还提供命令行接口,方便自动化测试和批量生产。

MCUXpresso Secure Provisioning Tool v1.0 界面设计得非常清爽,目前仅支持 i.MXRT1050 和 i.MXRT1060,操作上也是足够简单。还不快赶紧下载试用?

2、H7-TOOL - 安富莱电子专为单片机工程师设计的一款开源多功能开发调试工具

H7-TOOL是一个专为单片机工程师设计的实用的多功能开发调试工具,工具作者是安富莱电子大牛硬汉哥,而且原理图和所有代码全部开源。

资源汇总贴: http://www.armbbs.cn/forum.php?mod=viewthread&tid=89934

相信很多人有带板子回家调试、或带板子出差调试的情况。因为产品问题是无法预知的,多半情况不可能带齐全套测试工具的。经常遇到手边缺万用表、缺示波器、缺串口线、缺逻辑分析仪而导致工作很难继续。

这时候你就需要一个 H7-TOOL,有了H7-TOOL就等于随时携带了一个小型实验室,各种常用仪器全都齐活了。

来看看 H7-TOOL 这个“小型实验室”里都有哪些仪器吧,是不是叹为观止?

1、脱机烧录器
2、双通道虚拟示波器(支持以太网和USB两种方式)
3、8 通道逻辑分析仪
4、USB-RS485 转换器
5、USB-RS232 转换器
6、USB-TTL 串口转换器
7、USB-CAN 转换器 (未完成)
8、DAP-Link 仿真器 / 下载器 (未完成)
9、I2C 控制器 (未完成)
10、SPI 控制器 (未完成)
11、GPIO 输入输出控制器
12、信号发生器 & 0-20mA电流输出
13、PWM 发生器 (未完成)
14、脉冲计数器
15、频率计
16、负载电流电压示波器
17、高侧电流表 & 电池放电容量测量
18、双通道电压表
19、电阻测量 通断蜂鸣
20、温度测量
21、二极管测量
22、微型数控电源

而且 H7-TOOL 配套上位机工具也非常漂亮易用哦。

标签:Secure,SPI,armink,Flash,JEDEC,模块,SFUD,数据结构
From: https://www.cnblogs.com/lineAI2022/p/18186615

相关文章

  • EasyFlash - 一款轻巧的嵌入式 Flash 存储器库
    1、BabyOS-一套管理功能模块和外设驱动的MCU项目开发框架BabyOS是由网友notrynohigh开发维护的适用于MCU项目的一套管理功能模块和外设驱动的框架。项目主页: https://github.com/notrynohigh/BabyOS对项目而言,使用BabyOS能缩短开发周期。项目开发时选择适用的功......
  • Keil 和Eclipse 软件编译环境下bin和ram以及flash大小及关系
    一.keil软件编译环境ProgramSize:Code=65228 RO-data=5302 RW-data=48 ZI-data=1681keil软件编译后会出现上面的提示,其意义如下:Code:指程序中代码的字节数RO-data:指程序中定义的常量字节数RW-data:程序中已初始化的变量字节数ZI-Data:程序中未初始化的变量字节数......
  • stm32 将外部 Flash挂载在 SPI 出现数据传输时好时不好的排查过程
    现象:将外部Flash挂载在SPI,在hardware_init()->read_jedec_id()里的result=spi->wr(spi,cmd_data,sizeof(cmd_data),recv_data,sizeof(recv_data))中,recv_data的值经常不一致,result的值偶尔为SFUD_SUCCESS,大部分会Error。备注:正常情况下,recv_data的值为......
  • CuOI R1 - Flashing Thread
    题目背景你的视线逐渐模糊,你看见她的身躯不断幻化,剥离出条条丝线,散落到那洁白天地之下的深渊中。题目描述深渊中是一个$n\timesn$的矩阵,矩阵格子边长为$1$。Cuset幻化成的丝线飘到矩阵上时会增加矩阵的「闪烁度」。最终矩阵增加的「闪烁度」为每个格子增加的「闪烁度......
  • Linux内核源码-存储驱动之 QSPI Flash
    传输方式DIO/QIO/DOUT/QPIQPI模式(QuadPeripheralInterface),所有阶段都通过4线传输。与之相对的是SPI。SPI模式:纯种SPI(MISO/MOSI两个数据线)DOUT全称DualI/O,命令字和地址字均为单线,仅在数据阶段为双线。QOUT全称QuadI/O,命令字和地址字均为单线,仅在数据阶段为双线......
  • 使用FAL操作STM32F103VET6单片机的片内flash和外部norflash(SFUD驱动)
    1.新建一个命名为fal的工程,控制台串口我使用了uart5,对应管脚PC12和PD2工程新建好以后,编译,报错双击改报错信息,跳转到下图这个位置 把RT_WEAK改为rt_weak,后重新编译,下载到单片机中重新正常运行2.双击CubeMXSettings,选择正确的单片机型号,配置norflash使用的SPI......
  • stm32f103使用RT-Thread组件fal读写内部flash
    本次使用RT-Threadstudio编写,使用为5.02完整版,目的是将内部flash进行分区,可以直接在内部flash存储数据。一、功能配置首先是打开设置里的FAL组件,因为我这里不需要外部内存,SFUD驱动就没打开:然后是配置两个参数,一个在board.h里,定义BSP_USING_ON_CHIP_FLASH,一个是在stm32xxxx_hal_......
  • 使用 flash_download_tool 下载 Vscode PlatformIO 开发 ESP32 的 bin 文件
    一言蔽之:先使用PlatformIO的命令找到PlatformIO是怎么烧录的,然后照葫芦画瓢即可。前提,VScode已经能够烧录固件了,使用PlatformIO打开所需的项目。打开VScode终端执行:piorun-v-tupload执行了之后,PlatformIO就开始编译固件并上传了,找到关键性的东西<lambda>(["up......
  • TQZC706开发板教程:使用Vivado和Vitis烧写flash
    本文所使用的文件链接:https://pan.baidu.com/s/1ZqjfJMZasteJDfZ9qcKAFQ提取码:peqa无论采用何种方式烧写Flash,都务必准备好相应的烧写文件。我在上面的链接中已提供了测试文件供您参考。烧写Flash时通常需要两个文件:BOOT.bin和zynq_fsbl.elf,请确保您已备齐这两个文件,以便......
  • J-Flash实现烧录spi flash
    1.背景SEGGER公司的jlink工具配合J-Flash软件可以实现对MCU内部flash的固件烧录回读,我司产品设计中MCU通常需要外挂一块spiflash用以存储IC的固件程序,考虑到生产烧录的便捷性以及后续开发测试的高效性,现需要支持通过J-Flash工具烧录MCU外挂的SPIflash。2.实现方案2.1.硬件结......