- 博客(121)
- 资源 (21)
- 收藏
- 关注
原创 文件系统的选择
一些常用的嵌入式文件系统包括FAT32、ext4、JFFS2、UBIFS、squashfs等,在接下来的内容中我们会介绍这些文件系统的区别以及如何选择。在选择嵌入式文件系统时,需要考虑以下几个因素:1.存储介质:选择文件系统时需要考虑使用的存储介质,例如闪存、SD卡、硬盘等。不同存储介质对文件系统的要求会有所不同。2. 功能需求:根据应用的功能需求选择适合的文件系统。例如,如果需要实现实时数据存储,可以选择支持日志记录的文件系统。3. 系统资源:内存和处理器的资源限制会影响文件系统的选择。
2023-11-16 16:45:52
1078
原创 大规模机器学习(十)
参考视频: 19 - 1 - Summary and Thank You (5 min).mkv欢迎来到《机器学习》课的最后一段视频。我们已经一起学习很长一段时间了。在最后这段视频中,我想快速地回顾一下这门课的主要内容,然后简单说几句想说的话。作为这门课的结束时间,那么我们学到了些什么呢?在这门课中,我们花了大量的时间介绍了诸如线性回归、逻辑回归、神经网络、支持向量机等等一些监督学习算法,这类算法具有带标签的数据和样本,比如xixiyiyi。然后我们也花了很多时间介绍无监督学习。例如。
2023-08-03 19:40:52
1051
原创 异常检测和推荐系统(九)
b站学习链接:传送门 学习视频第15 16章学习目录索引:吴恩达2014课程简介知识补充独立假设独立假设是概率论和统计学中的一个重要概念,用于描述两个或多个随机事件或随机变量之间是否相互独立。在概率论中,两个事件A和B被称为相互独立,如果事件A的发生与否不受事件B的发生与否的影响,反之亦然。换句话说,事件A和事件B的发生是完全独立的,它们之间没有任何关联或依赖关系。对于两个随机变量X和Y,它们被称为相互独立,如果它们的联合概率分布等于它们各自概率分布的乘积。数学上表示为:P(X,Y)=P(
2023-08-01 23:34:44
419
原创 聚类和降维(八)
参考视频: 13 - 1 - Unsupervised Learning_ Introduction (3 min).mkv在这个视频中,我将开始介绍聚类算法。这将是一个激动人心的时刻,因为这是我们学习的第一个非监督学习算法。我们将要让计算机学习无标签数据,而不是此前的标签数据。那么,什么是非监督学习呢?在课程的一开始,我曾简单的介绍过非监督学习,然而,我们还是有必要将其与监督学习做一下比较。
2023-08-01 23:29:42
2706
1
原创 支持向量机(七)
b站学习链接:传送门学习视频第12章学习目录索引:吴恩达2014课程简介知识补充支持向量机支持向量机(Support Vector Machine,SVM)是一种常用的监督学习算法,用于进行分类和回归分析。它的目标是找到一个最优的超平面(或者称为决策边界),以在不同类别的数据之间实现最大的间隔。SVM的基本原理如下:线性可分情况:对于线性可分的数据,SVM寻找一个超平面,将不同类别的样本完全分开。这个超平面具有最大的间隔,即离每个类别样本最近的距离最大化。支持向量:支持向量是离超平
2023-08-01 23:23:43
1329
原创 应用机器学习的建议(六)
在模型选择那里讲到我们用训练集计算了特征参数,然后把特征参数放进损失函数,在测试集中寻找损失函数的最优值,有一个和上述箭头一样的疑问:为什么不在训练集中寻找模型呢?:::info通常情况下,超参数的选择是在交叉验证集上进行的,而不是在训练集上进行。超参数是在机器学习算法中设置的参数,而不是由模型自动学习得到的。它们决定了模型的结构和学习过程,例如学习率、正则化参数、网络层数等。选择合适的超参数对于模型的性能和泛化能力至关重要。在训练集上选择超参数容易导致过拟合。
2023-08-01 23:16:32
1235
原创 神经网络学习(五)
注意向量化的使用,这将使求和问题变得简单可以将反向传播看成是⼀种系统性地应⽤多元微积分中的链式法则来计算代价函数梯度的方法为了计算这些值,首先引入一个中间量δjlδjl,称其为在第lll层第 j个神经元上的误差(error)。这里有一种启发式的认识,∂C∂Zjl∂Zjl∂C**就是对神经元误差的度量(对误差的影响). **按照上述启发,定义第lll层的第j个神经元上的误差δjlδjlδjl≡∂C∂Zjlδj。
2023-08-01 23:08:24
374
原创 逻辑回归和正则化(三)
b站学习链接:传送门学习前视频第6 7章学习目录索引:吴恩达2014课程简介知识补充为什么逻辑回归的输出值在0和1之间?逻辑回归的输出值范围是介于0和1之间。在逻辑回归中,通过将线性回归的输出值通过一个称为逻辑函数(或称为sigmoid函数)的非线性转换,将其映射到一个概率值。g(z)=11+e−zg\left( z \right)=\frac{1}{1+{{e}^{-z}}}g(z)=1+e−z1。其中,h(x) 是逻辑回归的输出,z 是线性回归模型的预测结果。当 z 的值趋近于正无穷大
2023-08-01 22:55:51
1804
原创 机器学习概述(一)
知识补充传统的机器学习如何对一个函数求偏导.py和.ipynb的区别环境安装安装包下载开始安装在开始菜单中查看 Anaconda查看信息课堂笔记引言(Introduction)欢迎机器学习是什么?监督学习无监督学习单变量线性回归(Linear Regression with One Variable)模型表示代价函数代价函数的直观理解I代价函数的直观理解II梯度下降梯度下降的直观理解梯度下降的线性回归接下来的内容线性代数回顾(Linear Algebra Review)矩阵和向量加法和标量乘法矩阵向量乘法。
2023-08-01 14:25:18
1963
原创 repo介绍(二)
参考repo组成,修改.repo/manifest.xml,这里我的修改如下。本文章仅供学习交流用禁止用作商业用途,文中内容来。初始化repo,repo init -u。这个时候会在当前目录生成如下文件。同时在生成了相关代码。
2022-12-16 20:11:47
378
原创 repo介绍(一)
通过上面我们发现repo只是一个封装了git命令的工具,用来管理好多仓库的一个顶级目录。先下载repo引导器修改引导器的repo网址下载repo工具创建存放default.xml的git仓库repo init初始化repo拉取代码本文章仅供学习交流用禁止用作商业用途,文中内容来水枂微信公众号:zhjj0729。
2022-12-16 19:58:28
4230
原创 基于matlab的步进电机仿真(一)
环境准备MatLab2021b基础准备打开Matlab,在帮助文档里面搜索step motor,我们这里选择如下模型该模型实现了一个通用的步进电机模型:可变磁阻步进电机永磁或混合步进电机下面我们看下永磁步进电机,其余介绍参考matlab的help文档上图显示了永磁 (PM) 或混合步进电机中一相的等效电路:在该模型中,Ra 和 La 分别代表 A 相绕组的电阻和电感。 由于磁体引入的气隙值较大,PM 或混合式步进电机的绕组电感可以被认为与转子位置无关。 电压源 ea(θ) 表示
2022-05-28 19:25:20
8382
3
原创 (三)图像转灰度图Python实现
这里写目录标题(一)原始图像(二)转换原理(三)python实现1. 安装库2. python程序编写3. 效果4. 工程文件(一)原始图像(二)转换原理(三)python实现python安装可以参考:python安装1. 安装库首先我们需要安装用到的库,按住win+r输入cmd打开dos窗口,输入下面的命令pip install opencv-pythonpip install numpy2. python程序编写"""@author:zhixia彩图转灰度图
2022-01-09 23:09:07
9250
2
原创 Python安装
这里写目录标题(一)下载python(二)安装(三)验证(一)下载pythonPython官网:官网地址点击进入首页显示如下:这里以windows版本为演示,下载的版本为3.10.1(二)安装双击安装包下一步点击next等待安装完成,安装过程出问题直接看下一步安装提示修改系统字符限制点击close就安装完成了(三)验证安装成功...
2021-12-27 23:59:40
510
原创 core文件如何分析
(一)什么是coredump通常应用程序运行时遇到,在满足一定条件下产生一个core文件,例如程序收到SIGABRT、SIGEMT等信号时(注:在signal.h里说明了哪些新号会产生coredump)都会出现coredump,我们平时见到最多的应该就是段错误。core文件包含了程序运行时内存、寄存器状态、堆栈指针、内存管理信息以及函数调用堆栈信息。我们通过分析core文件可以找到应用程序崩溃的地方(二)coredump产生的条件(1)coredump产生主要原因:1、内存访问越界2、多线程程
2021-09-26 14:02:38
12010
原创 u-boot新增命令后出现data abort
(一)问题描述u-boot下新增了一条update的命令,直接输入update没有报错,但是输入up按TAB键补全时发现出现data abort,而且输入不支持的命令也会有data abort(二)解决方法最开始我包含的头文件为:#include <command.h>#include <common.h>头文件改为下面后问题解决,但顺序不是最重要的原因,而是我用到了strncmp函数,头文件包含顺序出错#include <common.h>#incl
2021-06-15 20:30:22
718
1
原创 指针强制类型转换触发内存自动对齐
C语言的指针是我们操作很灵活,但是也留下了不少坑,今天工作遇到了一个指针的坑,这里复现一下: 指针类型强制转换,并进行解引用,引起的内存对齐问题.(一)问题复现:运行环境:Ubuntu 16.04#include <stdio.h>int main(void){ char cTestBuffer[10] = {0,1,2,3,4,5,6,7,8,9}; char *pcData = &cTestBuffer[5]; int iDest =0;
2021-04-26 22:44:11
760
1
原创 libiconv库简单裁剪支持CP437编码
https://ftp.gnu.org/pub/gnu/libiconv/https://blog.youkuaiyun.com/mayue_web/article/details/100108034
2021-02-02 22:43:12
484
原创 FAT32文件系统介绍
FAT32文件系统(一)为什么要有文件系统(二)FAT32文件系统组成(三)分步介绍各部分(1) 首先介绍一下MBR(2)DBR介绍(3)FAT表介绍(4) 数据区(一)为什么要有文件系统文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。如果没有文件系统,那我们想找到在硬盘上保存的数据会是一件很麻烦的事情,文件系统的作用是,它负责为用户建立文件、读出、修改,控制文件的读取,我们常说的格式化硬盘就是写入文件系统。文件系统的种类有很多,而且有各自的特点,本文主要
2020-12-13 23:06:42
21302
3
原创 SD卡移植FAT32文件系统无MBR
问题:在研究SD卡和FAT32文件系统的时候,发现SD卡有的有MBR,有的没有MBR,这个为什么呢?分析:MBR是主引导记录,是在给磁盘分区的时候建立的,我们的SD卡没有这个可能就是没有进行过分区操作,给硬盘分区产生MBR→格式化硬盘分区产生DBR,所以先有MBR,然后才有DBR,关于MBR的更多可以参考:MBR、DBR、FAT32基础小知识解决方案:(1)打开DiskGenius磁盘分区工具,按照下图操作2.打开winhex软件,查看数据已清除3.回到DiskGenius工具,重新创建主引导
2020-12-12 21:05:40
1797
转载 MBR、DBR、FAT32基础小知识
MBR-------主引导记录1.创建时间:由分区软件(Fdisk/PartitionMagic/Windows 2000/Windows XP安装 工具等)给 硬盘分区时建立的。2.功能 :存放硬盘分区信息和引导系统时检查分区。3.作用范围:MBR和虚拟MBR控制着整个硬盘的所有分区信息,可定义1~4个不等的分区,作用范围是全局性的。4.所占硬盘空间大小:占1个扇区 512字节5.位于 :硬盘的0柱面,0磁道,1扇区6.组成结构:偏移:0~138 引导程序(139字节),检测所有分区。1
2020-12-12 20:48:12
1839
原创 调试跟踪利器---strace
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-11-25 22:47:34
797
原创 gbd的简单使用(一)
这篇文章将gdb的简单使用,通过此篇文章你能学习到使用gdb进行调试程序在Linux中编写程序时,如何进行程序的debug工作呢?今天来介绍下gdb这个工具,可以在Linux下直接man gdb查看帮助信息(一)gdb命令介绍常用命令:命令命令缩写命令说明runr开始运行程序,在第一个断点处停住startst启动调试,在main函数中第一条语句停住nextn执行下一行,不会进入函数内部steps执行下一条语句,会进入函数display.
2020-11-25 20:56:56
3089
原创 *++p和*p++的区别
首先你应该明白* 和 ++的优先级是相同的,而且他们的结合性是从又往左的#include <stdio.h>int main(int argc ,char * argv[]){ int str[]={1,2,3,4,5,6,7,8,9,10}; int *p = str; int a = *p++;//a=*p ,p=p+1即a=1,p=&str[1] int b = *++p;//p=p+1,b=*p即p=&
2020-11-13 22:48:25
1168
转载 计算机是如何启动的?从未上电到操作系统启动
计算机是如何启动的,网络上很多博文1都从 BIOS 程序的加载开始说起,有的也跳到 BIOS 程序加载 Bootloader 阶段。个人认为把这个过程称为操作系统是如何被加载并启动应该更加贴切一点。同时,也有计算机硬件大神的文章[1][5]详细分析计算机加电的过程。在阅读前人的优秀文章之后,归纳总结写下了这篇文章以梳理从计算机上电之前到操作系统开始工作的整个过程。开机键按下之前:黑暗中的一点星光“滴答…滴答…”微弱的声音有规律地响起。“是谁?”从睡梦中醒来,身边漆黑一片,我惊呼出声。“哇,终于有朋友
2020-11-06 22:27:11
604
原创 windows上搭建NFS服务器
在进行嵌入式开发的时候,我们常用的做法是搭建NFS服务器,然后使把文件系统、调试程序放在NFS服务器上,这样可以方便调试,以前都是在linux里面开启NFS服务器,今天来说下window里的nfs服务器–haneWin一、软件安装和使用流程安装包可以自行某度解决,我这里直接使用安装好的注意使用管理员权限运行程序1.打开软件后,其他保持默认,直接按下面的操作2.上面的操作后,弹出一个编辑框我们修改成自己的,比如我在D盘创建了一个nfs文件夹我想把这个文件夹作为根目录然后点击保存,重启服务
2020-11-01 23:15:05
1820
1
原创 linux终端常用快捷键
CTRL+ALT+T 打开终端CTRL+D 关闭终端CTRL +SHIFT +"+" 放大终端字体CTRL+ “-” 缩小终端字体CTRL+ r 查找历史命令CTRL+u 删除光标前面所有内容CTRL+w 删除光标左边的单词CTRL +k 删除光标后面的所有内容CTRL+L 清除当前屏幕内容CTRL+a 光标移到开始位置CTRL+e 光标移到末尾左右方向键移动光标位置CTRL+←/→ 光标向前/后移动一个单词CTRL+s 暂停屏幕输出CTRL+Q 继续屏幕输出CTRL+
2020-11-01 21:22:25
324
原创 gcc: weak_alias如何使用
本文主要说明weak和alias是什么和如何使用它__attribute__是gcc专有的,用来说明函数的属性,weak和alias分别是两个属性。强符号和弱符号:强符号:已经初始化的全局变量和未被weak修饰的函数弱符号:未初始化的全局变量和被weak修饰的函数符号链接原理:链接器发现同时存在弱符号和强符号,优先选择强符号,如果发现不存在强符号,只存在弱符号,则选择弱符号上面这个有什么用呢?比如我们想使用某个函数必须用到的函数,但是不知道该函数在其他地方有没有被定义,那么我们可以把该函数声.
2020-11-01 14:56:03
2576
原创 嵌入式开发板模拟器:QEMU
前两天看微信公众号时发现了一个嵌入式模拟器,感觉很不错,自己动手安装了一个,过程记录如下模拟器大家应该都听说过,有的小伙伴打游戏也会安装模拟器,今天我们介绍的主角QMEU就是一个可以用在嵌入式的模拟器,如果你想学习嵌入式,但身边没有开发板,这时候你可以尝试使用它来模拟Linux内核的启动,当然它还可以模拟ARM、MIPS等各种CPU架构,本文主要介绍模拟ARM的启动流程(一)环境介绍 虚拟机:VMware Ubuntu 16.04LTS(一)安装QEMU...
2020-10-31 07:52:51
6981
1
转载 一口气搞懂「文件系统」,就靠这 25 张图了
目前言正文文件系统的基本组成虚拟文件系统文件的使用文件的存储空闲空间管理文件系统的结构目录的存储软链接和硬链接文件 I/O以下文章来源于小林coding,作者小林coding前言不多 BB,直接上「硬菜」。正文文件系统的基本组成文件系统是操作系统中负责管理持久数据的子系统,说简单点,就是负责把用户的文件存到磁盘硬件中,因为即使计算机断电了,磁盘里的数据并不会丢失,所以可以持久化的保存文件。文件系统的基本数据单位是文件,它的目的是对.
2020-09-26 10:22:16
477
原创 gcc -strip编译选项的作用
从字面上来看strip的意思是脱衣服、拆卸,那么gcc --strip的作用大概能猜错来了。没错就是有选择地除去行号信息、重定位信息、调试段、typchk 段、注释段、文件头以及所有或部分符号表。一旦使用该命令,则很难调试文件的符号,因此,通常应该只在已经调试和测试过的生成模块上使用 strip 命令,使用 strip 命令减少对象文件所需的存储量开销。...
2020-09-20 10:23:30
5869
SD2.0中文+英文.rar
2021-12-04
arm-linux-gcc-5.4.0交叉编译工具.rar
2020-04-16
stm32最小系统.rar
2020-03-18
MLX90614红外测温仪软件设计.rar
2020-03-18
busybox-1.21.1.rar
2020-03-18
C语言库函数功能查询器.rar
2020-03-14
arm-linux-gcc-4.5.1-v6-vfp-20120301.rar
2020-03-13
SecureCRT_8.3.4.rar
2020-03-12
SecureCRT&SecureFX v7.3.rar
2020-03-12
Altium Designer中制作logo插件 PCB Logo Creator.rar
2020-03-08
Qt实现仿QQ登录源代码qq.rar
2020-03-04
windows下用c++实现自动取款机代码server.rar
2020-02-29
linux下用c实现自动取款机代码bank.rar
2020-02-20
linux下用c实现MP3音乐播放代码
2020-02-07
bootloader存在意义
2022-11-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人