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 工程的创建。

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

相关文章
|
8天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
37 3
|
26天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
43 1
|
1月前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
47 3
|
4月前
|
算法 NoSQL 中间件
go语言后端开发学习(六) ——基于雪花算法生成用户ID
本文介绍了分布式ID生成中的Snowflake(雪花)算法。为解决用户ID安全性与唯一性问题,Snowflake算法生成的ID具备全局唯一性、递增性、高可用性和高性能性等特点。64位ID由符号位(固定为0)、41位时间戳、10位标识位(含数据中心与机器ID)及12位序列号组成。面对ID重复风险,可通过预分配、动态或统一分配标识位解决。Go语言实现示例展示了如何使用第三方包`sonyflake`生成ID,确保不同节点产生的ID始终唯一。
128 0
go语言后端开发学习(六) ——基于雪花算法生成用户ID
|
4月前
|
数据采集 前端开发 算法
基于朴素贝叶斯算法的新闻类型预测,django框架开发,前端bootstrap,有爬虫有数据库
本文介绍了一个基于Django框架和朴素贝叶斯算法开发的新闻类型预测系统,该系统具备用户登录注册、后台管理、数据展示、新闻分类分布分析、新闻数量排名和新闻标题预测等功能,旨在提高新闻处理效率和个性化推荐服务。
|
6月前
|
机器学习/深度学习 算法 BI
机器学习笔记(一) 感知机算法 之 原理篇
机器学习笔记(一) 感知机算法 之 原理篇
|
6月前
|
算法 Java API
记录我第一次在Android开发图像处理算法的经历
记录我第一次在Android开发图像处理算法的经历
44 1
|
7月前
|
算法 C++
c++算法学习笔记 (21) STL
c++算法学习笔记 (21) STL
|
7月前
|
算法 C++
c++算法学习笔记 (20) 哈希表
c++算法学习笔记 (20) 哈希表
|
7月前
|
算法 C++
c++算法学习笔记 (19) 堆
c++算法学习笔记 (19) 堆

热门文章

最新文章