5.2 芯片SDK开发:算法工程原理及创建|学习笔记

简介: 快速学习5.2 芯片SDK开发:算法工程原理及创建

开发者学堂课程【平头哥剑池 CDK 功能及开发实战5.2 芯片SDK开发:算法工程原理及创建】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/61/detail/1131


5.2 芯片SDK开发:算法工程原理及创建

 

上节课讲解如何在 cdk 当中创建初始的 sdk 工程,本节课讲解算法工程原理及创建方法。

image.png

首先算法工程是将运行在 flash 区间的镜像烧写到 flash 空间当中。算法工程的工作原理涉及到 cdk 的硬件调试概念,首先需要将 cdk 硬件通路进行简单的说明,在硬件调试中,我们将 cdk 开发环境生成的镜像文件通过 ck-link 的调试下载到程序的 RAM 区间当中。如果说镜像需要烧写到 flash 区间,那么在这种情况下,需要算法文件去辅助调试器将下载到 flash 区间的镜像写到 flash 区间当中,那么整个的通路就变为如图所示:

image.png

Flash 算法的目的就是将镜像的程序最终会烧写到 flash 区间当中,如果说需要有 flash 区间的一个下载, flash 算法在其中起到的作用即开发环境会将算法文件下载到镶入式设备当中的 ram 或 sram 区间中。该过程并没有涉及到 flash 的下载,所以其不需要任何操作。换言之通过下载 ram 的手段将算法下载到 ram 当中,然后开发环境再将镜像的二进制放到算法文件中,通过调试手段控制算法逻辑将需要双写的数据由 flash 算法加载到 flash 区间当中。以上是 flash 算法的基本原理,由此可知 flash 算法的组成是整个 flash 烧写的核心。

image.png

如图所示,在 cdk 中 flash 工程算法的组成有四个部分。第一 flash 的设备描述,描述芯片中 flash 的基本参数,其名称以及其是否可直接读取,其中最重要的是 flash 区间当中的 Exercise 和 flash的空间。第二数据监控 buffer ,这部分内容作用于与 pc 端的双写镜像的数据和算法之间进行相互的数据 buffer 。第三是 flash 数据接口调用控制,这部分用来意念调试器控制的逻辑,能够将数据 buffer 当中的数据正真的烧写到 flash 当中。最后是 flash 接口的实现,flash 接口是做算法二次开发中最主要的一个工作,它的接口需要完成以下这些接口内容:

flashInit 与 flashunInit 是整个 flash 初始化的工作,init 是flash 烧写最开始需要执行的业务逻辑, uninit 是整个 flash 操作结束需要操作的业务逻辑。 flashprogram 是整个 flash 区间烧写的接口,需要烧写的内容是通过 flashprogram 接口完成烧写到 flash 区间中去。 flashread 是用来读取 flash 当中数据的接口, flasherase 是用来做 sector 片擦的接口,chiperase 用来整片擦除接口而 checksum 用来烧写过程加速 verify 的接口。

以上就是整个 flash 的基本工作原理以及它的一些主要组成。下面讲解如何在 cdk 中创建 flash 的工程。

image.png

打开 cdk 以后,创建 workspace ,点击 new sce project ,需要选择 flash 选项,然后选择对应芯片的cpu型号,以 fed 为例,在 ram 区间去填写芯片中的 ram 地址,分为 flash 工程,始终逆行在 tan 端的ram 的空间中,将工程名称填写,点击确定。完成 flash 工程的创建。

本节课就介绍结束,下节课将详细演示如何把创建的工程进行二次的开发,保证能在芯片端能够正常的使用。

相关文章
机器学习/深度学习 算法 自动驾驶
125 0
|
24天前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
113 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
2月前
|
机器学习/深度学习 算法 文件存储
神经架构搜索NAS详解:三种核心算法原理与Python实战代码
神经架构搜索(NAS)正被广泛应用于大模型及语言/视觉模型设计,如LangVision-LoRA-NAS、Jet-Nemotron等。本文回顾NAS核心技术,解析其自动化设计原理,探讨强化学习、进化算法与梯度方法的应用与差异,揭示NAS在大模型时代的潜力与挑战。
291 6
神经架构搜索NAS详解:三种核心算法原理与Python实战代码
|
2月前
|
传感器 算法 定位技术
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
|
2月前
|
算法
离散粒子群算法(DPSO)的原理与MATLAB实现
离散粒子群算法(DPSO)的原理与MATLAB实现
89 0
|
3月前
|
机器学习/深度学习 人工智能 编解码
AI视觉新突破:多角度理解3D世界的算法原理全解析
多视角条件扩散算法通过多张图片输入生成高质量3D模型,克服了单图建模背面细节缺失的问题。该技术模拟人类多角度观察方式,结合跨视图注意力机制与一致性损失优化,大幅提升几何精度与纹理保真度,成为AI 3D生成的重要突破。
186 0
|
3月前
|
算法 区块链 数据安全/隐私保护
加密算法:深度解析Ed25519原理
在 Solana 开发过程中,我一直对 Ed25519 加密算法 如何生成公钥、签名以及验证签名的机制感到困惑。为了弄清这一点,我查阅了大量相关资料,终于对其流程有了更清晰的理解。在此记录实现过程,方便日后查阅。
175 0
|
4月前
|
消息中间件 存储 缓存
zk基础—1.一致性原理和算法
本文详细介绍了分布式系统的特点、理论及一致性算法。首先分析了分布式系统的五大特点:分布性、对等性、并发性、缺乏全局时钟和故障随时发生。接着探讨了分布式系统理论,包括CAP理论(一致性、可用性、分区容错性)和BASE理论(基本可用、软状态、最终一致性)。文中还深入讲解了两阶段提交(2PC)与三阶段提交(3PC)协议,以及Paxos算法的推导过程和核心思想,强调了其在ZooKeeper中的应用。最后简述了ZAB算法,指出其通过改编的两阶段提交协议确保节点间数据一致性,并在Leader故障时快速恢复服务。这些内容为理解分布式系统的设计与实现提供了全面的基础。
|
4月前
|
存储 算法 安全
Java中的对称加密算法的原理与实现
本文详细解析了Java中三种常用对称加密算法(AES、DES、3DES)的实现原理及应用。对称加密使用相同密钥进行加解密,适合数据安全传输与存储。AES作为现代标准,支持128/192/256位密钥,安全性高;DES采用56位密钥,现已不够安全;3DES通过三重加密增强安全性,但性能较低。文章提供了各算法的具体Java代码示例,便于快速上手实现加密解密操作,帮助用户根据需求选择合适的加密方案保护数据安全。
344 58

热门文章

最新文章