基于海思soc的智能产品开发(芯片sdk和linux开发关系)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        随着国产化芯片的推进,在soc领域,越来越多的项目使用国产soc芯片。这些soc芯片,通常来说运行的os不是linux,就是android。如果是android,自不必多少,一般厂家都有对应的demo board,开发商改动的不多。但是对于linux来说,我们每一个开发者需要了解下,厂家给的sdk和linux开发本身是什么关系?

1、soc烧录方式

        不同的soc厂家,提供的烧录方式是不一样的。通常,都会提供一个pc上位机,这个时候可以借助这个上位机和板子进行通信。通信的方式可以是串口、usb otg、网络。如果不提供上位机,很多soc还支持tf卡启动,这种情况下,其实就无所谓上位机了。只需要把uboot、kernel、rootsfs通过tf读卡器烧录到特定的扇区,或者文件系统就好了。

2、部分驱动厂家不提供源代码

        很多驱动,厂家是不提供源代码的,但是提供ko文件或者fw bin文件。这些驱动包括不限于isp驱动、视频编码、视频解码、音频编码、音频解码、gpu驱动、npu驱动等等。也就是说,如果我们想用这些驱动,只能通过api进行调用访问,但是想魔改代码是不行的。

3、硬件加速部分一定要使用厂家的sdk

        很多功能,虽然纯软件也可以实现,但是在处理速度上面和硬件比起来还是差的比较远。以视频编码为例,我们用ffmpeg虽然也可以mp4、avi去编码,但是能不能做到实时处理,就要打一个问号了?这种情况下,一般处理的方式,是既保留ffmpeg的框架,还需要硬件加速的api,实现两者之间的融合,共同去满足客户的需求。

4、选择合适的soc芯片

        芯片的性能越高,价格也会越高。而且,高性能的芯片,对于采购、原理图绘制、layout、工艺生产,都会增加不小的负担。所以,本着能省则省的原则,我们应该尽量使用低成本、高性价比的芯片,满足功能就好。换句话说,就是杀鸡不用牛刀。能用低速用低速,用内置ddr就内置ddr,能用flash就用flash,诸如此类。

5、linux开发是基础

        只要跑的os是linux,就离不开linux编程基础。这里的基础包括很多的内容,比如说软件的配置、编译、调试。等系统运行起来之后,还有多线程、多进程、数据库、网络通信、配置文件、web访问、界面绘制等等,这些和具体的芯片没有关系。只要soc使用的是linux,就离不开这些内容。

        除此之外,设备部分也是大同小异。处理camera,就要用到/dev/video0和v4l2;处理音频,就要用到alsa api;其他gpio、uart、485、iic、spi、can、panel设备的访问也差不多。这些低速设备的接口、api都是差不多的。我们学会了一种soc,其他的soc也会触类旁通,都会学会的。

        对于linux生态的软件也是一样,除了软件版本的差异之外,理论上只要能在linux编译起来,就可以让所有的linux开源软件为自己所用。

6、多多使用厂家sdk里面的上位机

        除了烧录上位机,有的soc厂家还会提供其他的上位机,比如图像的标定、camera的实时显示、产品性能的分析、npu model的翻译等等,这些工具大家都要灵活掌握。有些工具是通用的,有些工具则是厂家自己单独开发的,没有统一的标准。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/982328.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

各种DCC软件使用Datasmith导入UE教程

3Dmax: 先安装插件 https://www.unrealengine.com/zh-CN/datasmith/plugins 左上角导出即可 虚幻中勾选3个插件,重启引擎 左上角选择文件导入即可 Blender导入Datasmith进UE 需要两个插件, 文章最下方链接进去下载安装即可 一样的,直接导出,然后UE导入即可 C4D 直接保存成…

VMware Fusion虚拟机Mac版安装Ubuntu系统

介绍 Ubuntu操作系统是一个基于Linux内核的桌面和服务器操作系统。它由Canonical公司开发和维护,是最受欢迎的Linux操作系统之一。Ubuntu操作系统以简洁、直观和易用为设计原则,提供了友好的图形界面,支持多种语言和自定义设置,用…

发行思考:全球热销榜的频繁变动

几点杂感: 1、单机游戏销量与在线人数的衰退是剧烈的,有明显的周期性,而在线游戏则稳定很多。 如去年的某明星游戏,最高200多万在线,如今在线人数是48名,3万多。 而近期热门的是MH,在线人数8…

AI赋能科研绘图与数据可视化高级应用

在科研成果竞争日益激烈的当下,「一图胜千言」已成为高水平SCI期刊的硬性门槛——数据显示很多情况的拒稿与图表质量直接相关。科研人员普遍面临的工具效率低、设计规范缺失、多维数据呈现难等痛点,因此科研绘图已成为成果撰写中的至关重要的一个环节&am…

thingsboard edge 在windows 环境下的配置

按照官方文档:Installing ThingsBoard Edge on Windows | ThingsBoard Edge,配置好java环境和PostgreSQL。 下载对应的windows 环境下的tb-edge安装包。下载附件 接下来操作具体如下 步骤1,需要先在thingsboard 服务上开启edge 权限 步骤2…

最硬核DNS详解

1、是什么 DNS(域名系统)是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS协议基于UDP协议,使用端口号53。 2、域名服务器类型 域名服务器在DNS体系中扮演着不…

CentOS 7 安装Nginx-1.26.3

无论安装啥工具、首先认准了就是官网。Nginx Nginx官网下载安装包 Windows下载: http://nginx.org/download/nginx-1.26.3.zipLinxu下载 wget http://nginx.org/download/nginx-1.26.3.tar.gzLinux安装Nginx-1.26.3 安装之前先安装Nginx依赖包、自行选择 yum -y i…

基于国产芯片的AI引擎技术,打造更安全的算力生态 | 京东零售技术实践

近年来,随着国产AI芯片的日益崛起,基于国产AI芯片的模型适配、性能优化以及应用落地是国产AI应用的一道重要关卡。如何在复杂的京东零售业务场景下更好地使用国产AI芯片,并保障算力安全,是目前亟需解决的问题。对此,京…

osg官方例子

osg3.6.5官方例子 osganimate osganimationeasemotion osganimationmakepath osganimationmorph

分享react后台管理系统常见的组件/知识点

前言 虽然各个前端框架的常用组件库已经非常完善,但做具体业务时,一般情况下,我们无法直接套用组件,需要自己进行撰写对应业务逻辑。 这篇文章总结做react表单列表常见的组件/知识点。 注意:本篇仅提供相关功能的核心…

自动驾驶---不依赖地图的大模型轨迹预测

1 前言 早期传统自动驾驶方案通常依赖高精地图(HD Map)提供道路结构、车道线、交通规则等信息,可参考博客《自动驾驶---方案从有图迈进无图》,本质上还是存在问题: 数据依赖性高:地图构建成本昂贵&#xf…

如何在您的 QQ机器人 中集成 码本 AI 模型!

如何在您的QQ机器人中集成 码本 AI 模型! 开源技术栏 通过使用此工具,您可以轻松地将 码本 API 服务 集成到您的 QQ 机器人 中,实现快速部署和运行。 这个工具专为简化复杂流程设计,即便是初学者也能轻松上手,让您的…

Java与数据库

目录 一.本文焦点: 二.数据库常用数据类型 三.对数据库操作 四.对数据库中的表操作 五.条件表达 六. 表查询操作进阶 1.多表连接查询 1)交叉连接查询 2)内连接(取两表交集) 3)外连接 4&#xff09…

基于ANTLR4的大数据SQL编辑器解析引擎实践|得物技术

一、背景 随着得物离线业务的快速增长,为了脱离全托管服务的一些限制和享受技术发展带来的成本优化,公司提出了大数据Galaxy开源演进项目,将离线业务从全托管且封闭的环境迁移到一个开源且自主可控的生态系统中,而离线开发治理套…

HTML第四节

一.复合选择器 1.后代选择器 注:1.后代选择器会选中后代所有的要选择的标签 2.儿子选择器 3.并集选择器 注:1.注意换行,同时选中多种标签 4.交集选择器 注:1.标签选择器放在最前面,例如放在类选择器的前面 2.两个选择…

数字后端培训实战项目六大典型后端实现案例

Q1:请教一个问题,cts.sdc和func.sdc在innovus用如何切换?在flow哪一步切换输入cts.sdc?哪一步切换到func.sdc,具体如何操作? 这个学员其实就是在问使用分段长clock tree时具体的flow流程是怎么样的?针对时…

linux 使用阿里云盘 阿里网盘

可参考&#xff1a;https://blog.csdn.net/qq_41174671/article/details/127310715 一、对文件<100M的可以使用如下方法&#xff1a; 1.临时使用阿里网盘 wget https://github.com/tickstep/aliyunpan/releases/download/v0.2.7/aliyunpan-v0.2.7-linux-amd64.zip unzip …

性能测试--大厂面试问题解析

性能测试作为软件开发中的关键环节&#xff0c;确保系统在高负载下仍能高效运行。面试中&#xff0c;相关问题常被问及&#xff0c;包括定义、类型、工具选择、规划与执行方法、常见瓶颈、敏捷环境下的处理、监控作用、虚拟用户数量确定、功能测试的区别、JMeter工作原理、HTTP…

hom_mat2d_to_affine_par 的c#实现

hom_mat2d_to_affine_par 的c#实现 背景&#xff1a;为课室贡献一个通用函数&#xff0c;实现halcon算子的同等效果&#xff0c;查询csdn未果&#xff0c;deepseek二哥与chtgpt大哥给不了最终程序&#xff0c;在大哥与二哥帮助下&#xff0c;最终实现同等效果。 踩坑&#xf…

前端跨域设置 withCredentials: true

在做登录认证的时候&#xff0c;会出现请求未登录的情况&#xff0c;查看请求头的时候发现并没有把登录时的cookie设置到第二次的请求头里面。查看资料才知道跨域请求要想带上cookie&#xff0c;必须要在ajax请求里加上 withCredentials: true 再次访问发现请求头可以携带cook…