- 博客(17)
- 收藏
- 关注
原创 嵌入式C语言学习(三)GCC编译器
1、什么是编译器?编译器是一种计算机程序,它的主要功能是将用一种编程语言(如C、C++、Java、Python等)编写的源代码转换成目标机器的机器语言(也称为机器码或二进制代码),这样计算机就可以直接执行这些代码了。高级语言(程序员容易编辑的)--->低级语言(机器运行的)2、编译器的分类按照所处理的语言类型来分,编译器可以分为C++编译器、Java编译器等;按照所处理的目标平台来分,编译器可以分为x86编译器、ARM编译器等;
2024-10-24 14:14:12
1515
原创 嵌入式1_ARM学习(六)——Makefile
对于程序编译,无论是 C还是C++首先要把源文件编译成中间代码文件,在 Windows 下也就是 .obj 文件,UNIX 下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的 Object File 合成执行文件,这个动作叫作链接(link)。编译时,编译器需要的是语法的正确,函数与变量的声明的正确。
2024-10-24 10:49:48
986
原创 海思Hi35XX系列(四)VI视频输入
视频输入(VI)模块实现的功能:通过MIPI Rx(含MIPI接口、LVDS接口和HISPI接 口),SLVS-EC,BT.1120,BT.656,BT.601,DC 等接口接收视频数据。VI将接收到的 数据存入到指定的内存区域,VI(Video Input)内嵌ISP图像处理单元,可以对接收到的原始视频图像数据进行处理,实现视频数据的采集。VI 分成两个物理子模块:捕获子模块VICAP和处理子模块VIPROC组成。
2024-08-02 17:08:33
2699
原创 海思35XX系列(三)sensor(传感器)
一、图像传感器发展历史刚开始接触这个概念的时候感觉比较模糊,简单记录一下吧是一种可以感知外部环境并将感知到的信息转化为可用的电信号或其他形式的工具。传感器广泛应用于电子设备、工业自动化、汽车、医疗器械等领域,用于测量、监测和控制各种物理量和环境参数。作为摄像头模组最重要的一部分,sensor在摄像头模组及相关行业,提到“Sensor”这个词,一般代指。目前,除了一些特殊领域,CMOS图像传感器占据绝大部分市场。一、图像传感器发展历史1887年,德国物理学家海因里希·赫兹在实验中意外发现。
2024-08-02 11:10:18
1738
原创 海思Hi35XX系列(二)海思处理架构流程
(1)视频的本质是多帧图片,图片的本质是RGB或rawRGB数据,要占用一段连续内存(2)视频的裁剪、缩放、修正处理等各种操作,本质上就是对内存中的数据进行运算(3)视频缓存池(VB, video buffer)就是一段很大,又被合理划分和管理的内存,用来做视频数据的暂存和运算场地(4)公共视频缓存池的公共2字,可以理解为全局变量,也就是各个模块都能访问的一段内存(5)看似视频缓存块在各个模块之间流转,实际上并没有内存复制,而是指针在传递。
2024-08-01 16:17:14
2140
原创 海思Hi35XX系列(一)环境搭建与挂载
小白一个,新的开发板刚到手有点懵,之前没弄过没有经验,简单记录一下吧一般买开发板都会给带一个已经配置好的虚拟机文件,直接使用就可以。
2024-08-01 15:48:48
1218
原创 嵌入式1-ARM学习(五)—ARM的汇编指令
汇编指令汇编指令指令与伪指令•(汇编)指令是CPU机器指令的助记符,经过编译后会得到一串10组成的机器码,可以由CPU读取执行。•(汇编)伪指令本质上不是指令(只是和指令一起写在代码中),它是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令最终不会生成机器码。
2024-07-02 15:06:36
1204
原创 嵌入式1-ARM学习(四)—ARM的编程模式
例如,一个字节可以存储8个二进制位的数据,一个半字可以存储16个二进制位的数据,而一个字可以存储32个二进制位的数据。CPSR中各个bit位表明了CPU的某些状态信息,这些信息非常重要,和后面学到的汇编指令息息相关(譬如BLE指令中的E就和CPSR中的Z标志位有关)):每种异常模式(如中断模式、中止模式等)都有一个对应的SPSR寄存器,用于保存在进入异常处理程序之前的CPSR的值。在异常处理完成后,处理器会根据异常发生时保存的上下文信息,恢复原来的状态,包括恢复程序计数器、寄存器和标志位等。
2024-07-02 10:02:27
1026
原创 嵌入式1-ARM学习(三)
在计算机系统中,CPU是执行计算和控制指令的核心部件,而内存则用于存储程序和数据。CPU需要频繁地访问内存来读取指令和数据,但是内存的访问速度相对较慢,无法满足CPU高速运算的需求。为了提高CPU的运行效率,引入了寄存器。寄存器是软件能够控制硬件的关键。寄存器主要用于存储临时数据、指令操作、地址计算、数据传输和控制信号存储等功能,它在计算机的指令执行和数据处理过程中起到了至关重要的作用。(可参考C语言中的位操作)
2024-06-28 14:00:55
1159
原创 嵌入式1-ARM学习(二)
随着数字技术的发展和应用,电子器件的发展趋势是从模拟器件转向数字器件。传统的模拟器件主要通过调整电流或电压来实现信号的处理和传输,而数字器件则使用离散的数值来表示和处理信号。数字器件具有更高的精度、稳定性和可编程性,能够提供更复杂的信号处理和控制功能,并且可以与计算机系统进行相互连接和通信。
2024-06-28 10:39:14
853
原创 嵌入式1-ARM学习(一)
ARM(Arm Holdings):ARM是一家英国的半导体设计公司,专注于低功耗的ARM架构处理器设计。ARM提供的处理器核心设计包括Cortex-A系列(高性能应用处理器)、Cortex-R系列(实时处理器)和Cortex-M系列(微控制器)。SoC(片上系统)是一种集成度很高的芯片,它将多个功能模块集成在一个芯片上,包括CPU、内存控制器、图形处理器、电源管理、存储器接口等。ARM的命名规则是根据处理器架构、SoC版本和具体芯片型号进行组合命名的,以准确标识处理器的基本架构和特定的产品。
2024-06-25 17:19:09
1098
原创 嵌入式C语言学习(二)
int a[4];数组中元素类型 数组名[数组元素个数];注:数组中的所有元素必须是同一种数据类型,不可能在一个数组中存储两种数据类型的数。指针既然是一种变量,那么肯定也可以定义,也可以初始化第一种:先定义再赋值int *p;// 定义指针变量pp = &a;// 给p赋值第二种:定义的同时初始化// 效果等同于上面的两句int *p;第一种:首先看到p,这个是变量名;其次,p前面有个*,说明这个变量p是一个指针变量;
2024-06-18 15:38:16
861
原创 嵌入式C语言学习(一)
总之,C语言源文件包含了程序的代码和逻辑,头文件用于共享代码和定义声明,关键字是具有特殊含义的保留字,注释用于解释代码,符号表示特定含义,变量用于存储数据,函数是独立的代码块用于完成特定任务。在C语言中,为了定义变量、表达语句功能和对一些文件进行预处理,还必须用到一些具有特殊意义的字符,这就是关键字,我们用户自己定义的变量函数名等要注意不可以与关键字同名。:符号是C语言中用于表示特定含义的字符,如运算符(+、-、*、/等)、分隔符(逗号、分号等)、括号(圆括号、花括号等)等。
2024-06-11 14:52:07
1240
原创 python基础学习(一)
五大组成部分:运算器、控制器、存储器、输入设备、输出设备1、运算器:按照程序中的指令,对数据进行加工处理。2、控制器:根据程序需求,指挥计算机的各个部件协调工作。通常将运算器和控制器集成在==中央处理器(CPU)==中。3、存储器:保存各类程序的数据信息。内存RAM -- 容量小,速度快,临时存储数据,如:4GB、8GB、16GB、32GB 硬盘HDD(SSD) -- 容量大,速度慢,永久存储数据,如:256GB、512GB、1TB4、输入设备:外界向计算机传送信息的装置。
2024-05-06 17:22:24
701
1
原创 嵌入式学习(一)
需要做一个嵌入式移植,纯纯小白,黑不了一点,求大佬指点嵌入式开发中,将模型文件最终转化为wk文件,通常涉及一系列的步骤梳理。以下是一个详细的流程,以海思Hi3559系列芯片平台为例:一、准备阶段环境搭建安装虚拟机安装必要的软件开发工具包(SDK),如海思提供的HiSVP SDK,它包含了模型转换所需的工具和库。确保开发环境满足要求,如操作系统版本、内存大小等。获取模型文件自己训练的模型,也可以是预先训练好的模型,如Caffe模型()等。
2024-04-30 17:42:32
830
1
原创 ARM-Cortex学习(一)
ARM(全称 Advanced RISC Machines)既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM处理器(Advanced RISC Machines)是英国Acorn(ARM公司最初是其一个部门,后独立成为一个公司)有限公司设计的低功耗成本的第一款RISC微处理器。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。
2024-04-28 16:06:56
1369
原创 RuntimeError: no valid convolution algorithms available in CuDNN
UNet是一种用于图像分割任务的卷积神经网络架构,它具有多层的编码器-解码器结构和跳跃连接,以捕捉不同尺度的特征信息。3. 使用显存更大的GPU: 如果你的深度学习任务需要处理大量的数据和计算,那么考虑使用显存更大的GPU,例如 NVIDIA Tesla V100 或者 AMD Radeon VII。例如,使用低精度浮点数进行计算,或者将模型和数据存储在CPU和GPU之间进行交换,以减少GPU的负担。此外,UNet在训练和推理过程中可能会生成大量的中间特征图,这也会占用更多的内存空间。
2023-09-11 21:47:00
2220
Xshell5 终端软件下载安装
2024-08-01
嵌入式海思开发,使用的是海思Hi35xx系列芯片包括开发板侨联挂载等
2024-07-18
嵌入式海思芯片MPP开发参照手册4.0
2024-07-18
人工智能机器学习面试题
2024-07-18
海思 nnie 编译 报错
2024-10-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅