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

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

相关文章
|
25天前
|
人工智能 编解码 算法
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
本文介绍了通义灵码2.0 AI程序员在嵌入式开发中的实战应用。通过安装VS Code插件并登录阿里云账号,用户可切换至DeepSeek V3模型,利用其强大的代码生成能力。实战案例中,AI程序员根据自然语言描述快速生成了C语言的base64编解码算法,包括源代码、头文件、测试代码和CMake编译脚本。即使在编译错误和需求迭代的情况下,AI程序员也能迅速分析问题并修复代码,最终成功实现功能。作者认为,通义灵码2.0显著提升了开发效率,打破了编程语言限制,是AI编程从辅助工具向工程级协同开发转变的重要标志,值得开发者广泛使用。
7944 68
DeepSeek加持的通义灵码2.0 AI程序员实战案例:助力嵌入式开发中的算法生成革新
|
1月前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
182 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
3天前
|
机器学习/深度学习 数据采集 算法
短视频到底如何推荐的?深度剖析视频算法推送原理详细且专业的解读-优雅草卓伊凡-【01】短视频算法推荐之数据收集
短视频到底如何推荐的?深度剖析视频算法推送原理详细且专业的解读-优雅草卓伊凡-【01】短视频算法推荐之数据收集
40 12
短视频到底如何推荐的?深度剖析视频算法推送原理详细且专业的解读-优雅草卓伊凡-【01】短视频算法推荐之数据收集
|
22天前
|
前端开发 JavaScript 开发工具
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
113 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
26天前
|
JavaScript 编译器 开发工具
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
64 2
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
1月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
183 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
2月前
|
API 开发工具 Android开发
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
84 23
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
|
21天前
|
运维 NoSQL 算法
【📕分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理
本文深入探讨了基于Redis实现分布式锁时遇到的细节问题及解决方案。首先,针对锁续期问题,提出了通过独立服务、获取锁进程自己续期和异步线程三种方式,并详细介绍了如何利用Lua脚本和守护线程实现自动续期。接着,解决了锁阻塞问题,引入了带超时时间的`tryLock`机制,确保在高并发场景下不会无限等待锁。最后,作为知识扩展,讲解了RedLock算法原理及其在实际业务中的局限性。文章强调,在并发量不高的场景中手写分布式锁可行,但推荐使用更成熟的Redisson框架来实现分布式锁,以保证系统的稳定性和可靠性。
40 0
【📕分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理
|
20天前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
|
2月前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
428 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现

热门文章

最新文章