- 博客(9)
- 收藏
- 关注
原创 什么是linux驱动?
拿Linux举例,linux既可以跑在pc上,也可以跑在arm开发板上,跑在开发板上,那么驱动就要适配开发板,不同的硬件架构都可以跑linux,linux源码也是一样的,唯一不一样的是对应的驱动程序;1、字符设备驱动(例如开发板的led、蜂鸣器等GPIO的控制占大部分)2、块设备驱动(和存储设备相关的都是块设备,比如tf卡、emmc等)理解掌握字符设备驱动概念最重要,工作中遇到的大部分都是字符设备;2、应用程序需要调用linux OS的库函数来实现。1、应用程序的执行是依赖于操作系统的。
2023-09-12 20:04:32 142
原创 Python及深度学习环境相关
Python 包管理器的名称,它用于在 Python 环境中安装、升级、卸载、列出python包(pip install ***、pip list ***),创建和管理虚拟环境(pip结合venv或virtualenv创建管理虚拟环境)。所以pip主要是用于管理包,而conda主要是用于管理虚拟环境;:一个用于科学计算的包管理器和环境管理器,可以在不同平台安装和管理多个版本的python和其他语言的软件包;都是用于包管理和依赖项管理的工具,是两种不同的包管理工具,都可以来安装、更新、卸载python包。
2023-09-11 23:25:42 129
原创 内核模块编译方法_向内核增加新功能
会将make menuconfig里面所有选择成<M>的那些项对应的功能源码编译成对应的内核模块文件,生成的同名.ko文件与新功能源码在同一个目录下面)(执行此命令之前要确保uImage文件已经生成)把新功能源码放在内核源码目录里面,然后在相应目录下改kconfig、makefile,然后make menuconfig里面把新功能那一项选为*,则新功能源码与其它源码会一起编译到uImage,uImage跑到板子上看是否打印;make modules会在新功能源码的同级目录下生成相应的同名.ko文件。
2023-09-08 22:52:56 117 1
原创 带宽、主频相关概念
CPU主频越高,CPU的运算速度就越快,CPU主频可以通过外频和倍频两个因素来调节,外频指CPU与外部设备(如内存、芯片等)通信的时钟频率,倍频是指CPU内部的频率合成器将外频放大的倍数;外频可以通过倍频来调节CPU的主频,例如,一个外频为100MHz,倍频为40的CPU,它的主频就是100MHz ×40 = 4GHz。例如,硬盘和显卡都有自己的主频,它们与CPU和内存之间的通信是通过芯片组 (或者称为南北桥)来实现的,芯片组就相当于一个转换器,它可以在不同的时钟域之间进行数据转换和缓冲。
2023-09-06 22:21:50 810 1
原创 内存相关知识(随笔)
这些设备的处理器通常集成了少量的内部RAM,用于存储程序和数据,以简化系统设计和控制成本。DDR是DIMM 184-Pin的,DDR2是DIMM 240-Pin的,DDR3是DIMM 240-Pin的,DDR4是DIMM 288-Pin的。RISC-V和ARM都属于RISC类型的ISA,即精简指令集,主要特点是使用少量的简单指令来完成复杂的功能,从而提高处理器的性能和效率。DDR的频率是133MHz,DDR2的频率是266MHz,DDR3的频率是533MHz,DDR4的频率是1066MHz。
2023-09-06 19:45:59 188 1
原创 系统移植笔记
根文件系统:linux启动后加载的第一个真实文件系统(其实也是一个文件系统,但是类似于家里的孩子老大,虽然是个孩子但作为老大也得让着弟弟妹妹),但是作为linux加载的第一个文件系统,有一点特殊要求,也就是文件系统里得有写一些相应的文件:/bin、/dev、/etc、/lib、/mnt、/opt、/usr等(目录里存储的具体内容可百度);在OS中只需要知道文件路径)、网络协议(内核源码实现了TCP/UDP等协议的源码)、设备管理、内存管理(裸板操作物理地址、内核操作虚拟地址)(linux内核就2-3M);
2023-09-05 23:16:08 70 1
原创 驱动和固件的区别?
驱动是告诉os硬件的存在以及调用硬件的入口在哪里。1,嵌入式很多系统很低级,有些甚至不超过百行代码,在操作系统归类中,有些都不认为它是操作系统。ps:电脑可以认为是一个高级系统和多个低级系统携手操作硬件的机器。固件就是刷机用的bin文件,驱动就是沟通内核和硬件寄存器的部分代码模块。最平常的就是把android和ios都叫做固件(刷固件,升级固件)。2,嵌入式系统安装后基本不会再进行软件层面的修改,是稳固的。)的发展是模块化的过程。的安装叫做刷固件,把pc和pc以上的硬件叫安装系统。例子:我们想打印一张图。
2023-09-05 15:09:23 1241 1
原创 嵌入式AI部署常用硬件平台
由于嵌入式平台资源有限,特别是没有 GPU 的嵌入式硬件无法使用常规的前向推理框架, 国内外也有一些针对嵌入式平台的神经网络前向推理框架,常见的有:TensorFlow Lite, Tengine,NCNN 等。部署模型时采用的是瑞芯微公司自研的神经网络推理框架,嵌入式平台的 NPU 支持大部分的卷积神经网络中常用到的算子,如卷积 算子、全连接算子、池化算子、激活算子等,便于模型的移植,可以支持大部分模型的部署 推理。同时芯片上还集成了独立的 NPU,具备高性能、低功耗等优势,适合 AI 应用的开发部署。
2023-08-31 17:57:10 1784
原创 模型加速工具TensorRT
TensorRT 主要从两个方面来提升模型的运行速度:① TensorRT 支持 INT8 和 FP16 的数据格式进行计算,降低 了卷积神经网络模型参数的精度,从而缩短模型的推理时间,达到加速的目的。其次, TensorRT 针对 GPU 设备的特性,对网络模型进行重构,把一些网络层例如卷积层、 偏置层和 BN 层等进行合并后再计算,减少了 API 接口调用次数,达到加速的目的。
2023-08-31 14:43:45 102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人