基于MBD的嵌入式系统实现基于STM32CubeMX和HAL的嵌入式系统编程通过图形化配置和自动生成初始化C代码的方式,大大降低了嵌入式系统应用程序开发的工作量。 偶尔看见刘杰老师的基于模型的设计和嵌入式系统实现,被只需要搭建模型就可以生成可以下载到嵌入式系统运行的代码的描述强烈吸引,几经波折,在几天的折腾后实现,终于实现了。避免忘记,避免重复踩坑,写本文档以记录之。 一、整体思路 先利用STM3
# PyTorch在嵌入式部署中的应用
随着人工智能技术的不断发展,深度学习框架PyTorch在各个领域得到了广泛的应用。在嵌入式系统中,如何将PyTorch模型高效地部署到设备上成为了一个热门话题。本文将介绍PyTorch在嵌入式部署中的应用及相关技术。
## PyTorch简介
PyTorch是一个基于Python的科学计算库,它提供了强大的GPU加速的张量计算和深度学习工具。PyTor
今天大嘴主要介绍一下这些年来本人在做图像算法的嵌入式移植时常采用的优化方法,由于篇幅和时间有限,这里主要列出一个大框,具体的如果大家有兴趣可以慢慢与大嘴交流。 一. 前序 1. 图像算法在嵌入式移植时(主要针对DSP芯片)优化的原则和步骤? 原则:算法效果达到预期之前最好不要做过多的优化 步骤:windows下的算法级优化—>C语言的优化—>DSP下的C编译器优化(如软件流水等)
先不说嵌入式客户端程序开发,先看发展最好的客户端程序开发领域:PC端(Win、IOS)、浏览器、移动端(Android、IOS)。这些客户端开发程序员人数众多、生产力极高的工具、良好的生态环境。客户端程序有人称为native开发,这是从互联网开发角度看。 程序设计=数据结构+算法+编程语言。虽然编程语言属于编译器和计算机底层逻辑的顶层表达,虽都脱胎于图灵机原理、汇编语言,
CPU中央处理单元包含基本的运算单元AUL,存储单元cache等基本资源,实现硬件设备的基本控制功能。中央处理器作为一个普世概念,实际根据具体数据处理功能方向不同,细分位DSP、MCU和MP。其中DSP主要是做数据处理,MCU做无系统的简单控制功能,MP做上系统的微处理器。其中DSP主要做音视频数字信号
想要在嵌入式设备中运行qt程序(其他的程序一样),要在嵌入式设备中将程序运行所依赖的库部署。网上部署方式千万种,例如直接将库编译之后写入镜像,然后用这个镜像来安装树莓派的系统;也有在嵌入式设备中直接安装qt。本文介绍最普遍的部署方式,就是在pc端的ubuntu中交叉编译库源码,然后上传编译好的库到树莓派,最后配置qt creator交叉编译的kit来实现在pc端编译自码程序,上传到树莓派运行。&n
实施步骤1.熟悉硬件开发板先大概了解开发板提供的外接接口 ,然后了解开发板具体的硬件细节特性 CPU 内存 闪存 外设接口 通信接口 参考开发板的原理图和芯片手册 2.明确:涉及的软件资源一般都是由芯片厂家提供 3.先获取交叉编译器 注意:编译器的版本一般要和软件的版本要配套, 比如arm-linux-gcc-2.95.3就不能编译uboot-1.3.4和linux-2.6.35.7,前者编译器
本文目的:在Linux上可以运行docker,顺带说说一些Linux系统的常识(例如systemctl怎么配置,或者软连接啥意思),就是没怎么玩过Linux的人可能有用,玩过Linux的可以忽略此文,自行安装本系列目的:从入门到实践,最后会完成一个可投入生产的一个实践,刚刚开始比较基础,后面慢慢的深入环境:centos71、下载docker下载地址:https://download.docker.
转载
2023-10-23 13:18:30
122阅读
一、七层协议 – OSI参考模型 下面详细来说一下这几个层的作用。一、假设有A、B两台主机想要进行通信,那应该怎么做呢。 1、通过不同的介质将A主机和B主机连接在一起,比如双绞线、蓝牙等。 2、不同的的连接介质,对应的接口是不同的,比如双绞线的接口是 RJ-45。 3、计算机中只能处理二进制,属于数字信号,而双绞线中的信号则是模拟信号,这就涉及到了如何将模拟信号转换为数字信号的问题(比如RS232
这篇文章主要对嵌入式系统,单片机这块谈一下嵌入式系统的架构。因网上的资料较少,本人在学习的过程中,收集到的一些资料和见解,现记录下来。该篇着重于列出同类的区别,对嵌入式硬件的一个选型。1. 嵌入式的主控MCU选型微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机。就是我们常说的主控芯片。1.1 操作
一、AMBA概述今天要介绍的三种嵌入式总线技术:APB、AHB、AXI,它们都属于ARMA片上总线协议。所以,在介绍这几种总线技术之前,有必要先了解一下ARMA片上总线协议是什么。AMBA (Advanced Microcontroller Bus Architecture),全称叫作高级微控制器总线架构,它是由ARM公司研发推出的高性能片上总线协议。它定义了高性能嵌入式微控制器的通信标准,可以将
转载
2023-07-19 16:14:31
663阅读
本周学习概要:
本周我们学习了有名管道和消息队列的传输和接收,并且在课上和课下实验楼中进行了程序的验证和操作。
管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
套接字( socket ) : 套解口也
1.什么是嵌入式? 嵌入式系统指的是以应用为中心和以计算机技术为基础的,并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标严格要求的专用计算机系统。 以应用为中心的专用计算机系统。2.通用计算机与专用计算机 通用:输入输出、CPU、内存、硬盘3.嵌入式起始于单片机4.嵌入式使用 物联网:物物相连,人机协同工作 特斯拉:新能源汽车代表,典型的嵌入式技术运用 5G–物物相连的未
嵌入式嵌入式的标签多为:低配,偏硬件,底层,资源紧张,代码多以C语言,汇编为主,代码应用逻辑简单。但随着AIOT时代的到来,局面组件改变。芯片的性能资源逐渐提升,业务逻辑也逐渐变得复杂,相对于代码的效率而言,代码的复用可移植性要求越来越高,以获得更短的项目周期 和更高的可维护性。下面是AIOT时代嵌入式设备的常见的软件框架。设计模式设计模式的标签:高级语言 ,高端,架构等。在AIOT时代,设计模式
1. 嵌入式系统软件开发平台 嵌入式系统的软件开发方法采用的不是通用的开发方法,而是交叉式开发方法。本小节主要介绍嵌入式系统软件开发的交叉编译环境的基本概念和特点,以及软件调试常用的几种方法。 1.交叉平台开发环境 嵌入式系统的软件开发采用交叉平台开发方法(Cross Platform Develop
SoC嵌入式软件架构设计之二:没有MMU的CPU实现虚拟内存管理的设计方法。这里要阐述Bank设计的一些原则。 Bank设计是为了实现不同一时候刻执行的Bank(代码块)执行在同一块内存上,所以在执行之前操作系统须要将已存在内存的代码/数据进行缓存处理,并载入将要执行的Bank到该内存上。为了实现这个目的,须要明白下面要点: 1.为了
很多人都讲嵌入式开发很难,能不能就你学习和工作经验与大家分享下嵌入式开发如何开始和深入?作为嵌入式研发工程师,你认为其应具备哪些知识结构和实战能力?做嵌入式开发必须具备良好的C语言功底,汇编虽然不是必须,但懂点更好。其次可以到网上找一个比较流行的MCU开发板,比如STM32做为学习开发板,参照示例代码,自己动手编译烧录跑程序,比如跑马灯的程序,深刻了解整个开发过程。接下来可以学习小型的实时操作系统
我是专科,读的是嵌入式技术,是的没错,计算机领域里最大的坑。 当初专业的时候,师兄就提醒过,千万不要碰单片机,那样的话会进一条很奇怪的路子。 我还是碰了,至今已经写了两年的C代码。坑越掉越大。 适逢毕业季,我的不少师兄都出来闯荡了,很多师兄开始说自己学校里学的远远不够。 虽然说是广东最好的大专,但始终是个专,在专里头开这样一个专业,两年半的时
一个嵌入式应用软件都会在某些时候访问最底层的固件和进行一些硬件控制。驱动的设计和实施是确保一个系统能够满足其实时性要求的关键。以下5个窍门是每一个开发者在设计驱动程序时应该考虑的,下面就随我们一起来了解一下相关内容吧。 1.使用设计模式设计模式是一个用来处理那些在软件中会重复出现的问题的解决方案。开发人员可以选择浪费宝贵的时间和预算从无到有地重新发明一个解决方案,也可以从他的解决方案工具
转载
2023-07-13 21:51:34
0阅读
点赞
OpenGL ES(OpenGL for Embedded Systems) 是一种免费的跨平台3D图形 API接口,其适用于低功耗设备,可用于嵌入式设备和移动设备(包括手机、车载大屏 和嵌入式电器终端设备)上渲染高效的 2D 、 3D 图形。
其由OpenGL(Open Graphics Library)针对嵌入式设备裁剪而来,去除了OpenGL中许多不是必须冗余特性,比如:GL_QUADS(四