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

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

相关文章
|
3月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
178 1
|
3月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
62 0
|
4月前
|
NoSQL 开发工具 数据库
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
|
6月前
|
开发工具 CDN 容器
基于Html+腾讯云播SDK开发的m3u8播放器
周末业余时间在家无事,学习了一下腾讯的云播放sdk,并制作了一个小demo(m3u8播放器),该在线工具是基于腾讯的云播sdk开发的,云播sdk非常牛,可以支持多种播放格式。
234 1
|
5月前
|
API 开发工具
抖音sdk,抖音开发api接口
抖音sdk,抖音开发api接口
|
6月前
|
Java 开发工具 Maven
Android SDK开发的那些事(1),已整理成文档
Android SDK开发的那些事(1),已整理成文档
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP 2023】面向Stable Diffusion的自动Prompt工程算法BeautifulPrompt
近日,阿里云人工智能平台PAI与华南理工大学朱金辉教授团队合作在自然语言处理顶级会议EMNLP2023上发表了BeautifulPrompt的深度生成模型,可以从简单的图片描述中生成高质量的提示词,从而使文生图模型能够生成更美观的图像。BeautifulPrompt通过对低质量和高质量的提示进行微调,并进一步提出了一种基于强化学习和视觉信号反馈的技术,以最大化生成提示的奖励值
|
6月前
|
API 开发工具 C#
[相机开发] VC++联合相机SDK开发
[相机开发] VC++联合相机SDK开发
74 0
|
6月前
|
人工智能 缓存 前端开发
下一代 AI 开发工具Vercel AI SDK 快速入门
下一代 AI 开发工具Vercel AI SDK 快速入门
338 0
|
6月前
|
JSON JavaScript 前端开发
全面的.NET微信网页开发之JS-SDK使用步骤、配置信息和接口请求签名生成详解
全面的.NET微信网页开发之JS-SDK使用步骤、配置信息和接口请求签名生成详解
下一篇
无影云桌面