第一时间看干货文章 1 STM32是一款单片机,它由意法半导体公司制造。...Linux系统 一般将操作系统分为实时操作系统和非实时操作系统。实时操作系统大多为单进程、多线程(多任务),因此不涉及到线程间的地址空间分配,不需要使用MMU,例如VxWorks。...Linux系统属于非实时性操作系统,多进程是其主要特点。...总结 综合以上内容,linux系统对内存管理单元有极强的依赖,若在没有MMU的处理器中运行linux,恐怕整个系统只能停留在Uboot阶段了。...咱还是留个心眼吧 干货 | 详解 stm32 在线 IAP 升级 如何搭建一台永久运行的个人服务器?
其中最大的区别就是S3C2440能跑linux操作系统,常常作为学习嵌入式linux的硬件平台。...可能大家会问既然S3C2440能跑linux操作系统,似乎比stm32厉害多了,为什么不直接去学习S3C2440呢?...下面我就大概解释一下大家遇到的困惑: 一、stm32(暂时不能跑linux) stm32是ST公司推出的基于Cortex-M3内核的MCU,stm32最高工作主频为72M,STM32凭借其产品的多样化、...二、S3C2440(能跑linux系统) S3C2440A 是三星公司推出的16/32位精简指令集(RISC)微型处理器,它基于ARM v9系列的ARM920T核心,主要为手持设备和普通应用提供了低功耗的高性能的小型芯片微型控制器的解决方案...没有mmu只能跑uclinux之类的操作系统,而S3C2440可以跑linux系统。
几乎所有的关于Linux文件系统实现的资源都在用不同的语言解释上面的这些问题,这很容易陷入细节的泥潭。 本文以Linux内核为例,用一种稍微不同的方式去描述文件系统的实现。...嗯,我会分3个部分来介绍Linux内核的文件系统: Linux文件系统在不同视角下的样子 实现一个很小但能跑的文件系统 接下来要做什么 本文中,我会通过一个实实在在的文件系统实现的例子,试图阐述 实现一个文件系统...实现一个很小但能跑的文件系统 为什么要实现这么一个文件系统,难道没人已经做了这个工作吗?做这个工作的意义何在? 原因如下: 我没有找到现成的比较完整且炫酷的作品。...对于我这种编程水平渣渣的内核爱好者而言,如何在堵车的一个多小时内完成一个可以编译通过的文件系统(我承认完全能跑是我回到家后又调试了一个多小时才完成的...)...之所以这么Low是因为它只是一个开始, 当这个文件系统实现并且能跑之后,你会发现它因为Low而带来的不足和一些代价,而弥补这些不足正好是优化的动机,带着你逐步实现一个更加不Low的文件系统,在实现的过程中
1.为什么不是gcc 之前我们花了三篇文章介绍Linux下如何进行C语言编程: Linux C语言编程(上篇) | gcc的使用 Linux C语言编程(中篇) | make的使用 Linux C语言编程...(下篇) | gdb的使用 这是为了给接下来的Linux下嵌入式开发打好基础,尽快熟悉Linux下c编程,但是在开发stm32的时候,编译工具链要使用gcc-arm-none-eabi,为什么不是gcc...接下来我们要将bin目录添加到环境变量,这样可以直接在命令行输入要使用的工具名,然后系统就可以找到该工具,在此我们仅为当前用户添加环境变量,使用vim ~/.bashrc编辑当前用户配置文件,在最后添加...然后使用命令source ~/.bashrc更新系统路径,使添加的环境变量立即生效: ? 然后输入命令arm-none,然后按三下Tab(一定不要输入全部),检查系统是否可以自动补全: ?...==下一篇==:Linux下开发stm32(二) | 使用openocd下载与调试 (https://blog.csdn.net/Mculover666/article/details/84900665
嵌入式开发中,经常需要bootloader进行程序固件升级和系统维护,所以bootloader是必不可少的功能。STM32系统自带的系统bootloader很方便使用。...摘要 本篇笔记主要介绍,STM32系统bootloader的应用,以STM32H743芯片为例介绍, 2....系统bootloader介绍 相信用过STM32芯片的童鞋应该都不陌生,在芯片出厂的时候,意法在内部系统固化了bootloader,并且支持多种接口像UART,I2C,SPI,USB,CAN等等,可用于下载升级用户程序...配置需求 一般来说我们在进入跳转到bootloader时候需要做一些工作,STM32在进入系统bootloader时候需要做以下动作:关闭全局中断,时钟恢复配置为HIS,清除中断挂起标志,使能中断,设置跳转地址...注意ST官方给的系统bootloader系统地址不对,AN2606中给出的地址有误,使用时候要注意,需采用下面的地址,此处参考了安富莱例程,一并感谢。 ? 8.
单片机最小系统是指用最少的电路组成单片机可以工作的系统,通常最小系统包含:电源电路、时钟电路、复位电路、调试/下载电路,对于STM32还需要启动选择电路。...对于STM32,可以使用串口下载程序,也能使用串口打印进行简单调试,但STM32支持更高效的JTAG(Joint Test Action Group)调试接口和SWD(Serial Wire Debug...对于STM32,可以从内置存储器启动(默认),可以从系统存储器(用于从USART1下载程序),可以从内部SRAM启动(调电消失,可用于调试),出现多个启动方式,就需要启动选择。...从系统存储器启动,实现从串口下载程序也逐渐被淘汰,STM32的高端MCU已经不支持该方式下载。从SRAM启动也没什么必要,目前Flash的烧写寿命次数也远远超过用户实际烧写次数。...【总结】 本小结带领读者学习了如何读原理图,也对STM32的最小系统有了一些了解。后面的电路众多,在分析某个电路时,结合相关手册的参考电路和说明, 加上不断积累,相信读者也能灵活分析原理图。
ST公司根据该内核,因地制宜的设计了STM32系列产品,对应资料“2_官方资料\3_STM32F10xx Cortex-M3编程手册.pdf”,后简称《CM3编程手册》。...Cortex-M3内核有256种异常和中断,其中编号115是系统异常,16256是外部中断,如下表 10.1.1 所示。 如此多的中断,导致了一些新问题。...在大概了解Cortex-M3内核的异常和中断及其优先级之后,再来看看STM32对Cortex-M3的这些异常和中断做了哪些裁剪,又有何特点。...10.2 STM32 的中断和优先级 由表 10.1.1 可知,Cortex-M3设计有256种中断,但大多数MCU都用不到这么多中断,比如STM32F103系列就只有70种异常和中断,其中前10个是系统异常...STM32F103的异常和中断,基于Cortex-M3修改而来,前面的系统异常部分几乎没有变化,外部中断则对应不同的外设。
本章就将从时钟树开始分析STM32F103的时钟系统,其中包括内部高速/低速时钟源、外部高速/低速时钟源、PLL(锁相环)和系统滴答定时器。...⑦高速接口总线AHB由⑥SYSCLK系统时钟分频得到,最高是系统时钟的72MHz。...使用内部时钟HSI配置系统时钟到最大值64Mhz; 调用库函数读取系统时钟值以验证; 使用外部时钟HSE配置系统时钟到最大值72Mhz; 调用库函数读取系统时钟值以验证; 本实验配套代码位于“5_程序源码...\3_基础重点—时钟系统”。..._HSI配置系统时钟64M”和 “3.2_HSE配置系统时钟72M”。
目录 LSI时钟 输出 LSE时钟 输出 输入 HSI时钟 输出 HSE时钟 输出 输入 PLL时钟 主PLL 输入 专用 PLL 编辑 输出 输入 PLL时钟频率计算 系统时钟 输入 输出 RCC...HSI时钟 第三个是HSI时钟,HSI 时钟信号由内部 16 MHz RC 振荡器生成,直可接用作系统时钟,或者用作 PLL 输入。...可接用作系统时钟。 还可用作 PLL 输入(后面介绍)。...有许多分频器,计算的时候要注意(锁相环倍频输出),接下来我们一一进行介绍: 主PLL 主 PLL (PLL) 由 HSE 或 HSI 振荡器提供时钟信号,并具有不同的输出时钟: 可以输出用于生成高速系统时钟...系统时钟 输入 HSE HSI PLL 输出 就是接着不同的外设,需要的时候找就行了 RCC寄存器 就介绍一点点,后面的可以去查以及配置。
下面是一个STM32芯片的时钟树图 1、LSI是低速内部时钟,RC振荡器,频率为32kHz左右。供独立看门狗和自动唤醒单元使用。 2、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。...HSE也可以直接作为系统时钟或者PLL输入。...首先,可以作为MCO1的一个时钟来源,其次可以作为系统时钟的一个来源。向下会将时钟信号送给一个选择器,这个选择器可以选择来自HSE和HSI的信号。...主PLL产生两种时钟,一种作为系统时钟;一种叫作PLL48CK的时钟,用于USB OTG的时钟。...这些时钟都是来源与SYSCLK系统时钟。其中以太网PTP时钟是使用系统时钟。最大时钟为168MHz,APB2高速时钟最大频率为84MHz,而APB1低速时钟最大频率为42MHz。
本连载共有三篇笔记,分别是: 《关于STM32的存储器》 能够了解STM32的存储器结构,及其结构设计由来; 能够明确自己所写的程序是放在什么地方,并且可以合法的随意放置; 能够知道STM32系统的启动相关...1 STM32的启动 根据参考手册RM0008中的图表: 得知STM32的启动有三种模式,三种模式的选择在于芯片上的两个Boot引脚,如RM0008种描述: 在系统复位之后的四个上升沿后索存BOOT...引脚,从而决定启动方式;用户对BOOT引脚的设置决定了系统复位之后的启动模式。...3 STM32的ISP In System Programming,在系统编程。...带IAP的系统由两个工程需要编写,一个是IAP工程,一个User App工程。
时钟系统就是CPU的脉搏,决定cpu速率。 为什么这么多个时钟源: STM32系统是复杂的,高精度、低精度、高速、低速等,且可以对每个时钟源进行开关操作,可以把不需要使用的关闭掉。...STM32时钟: 从时钟源的角度可分为: l 外部时钟(E) l 内部时钟(I) 从时钟速率的角度分为: l 高速时钟(HS) l 低速时钟(LS) STM32在芯片复位后默认选用的是内部的高速时钟...STM32系统时钟框图 image.png 系统时钟源总共有4个: l HSI RC:内部高速RC振荡器,相比于外部精度较低。通常约为8MHZ。...其它: l 其中SYSCLK是系统时钟,对于每个芯片都有规定最大的系统时钟是多少,超过则会出现错误。芯片的很多外设都是基于该时钟的。...l CSS为时钟监视系统,一旦HSE失效则自动切换至系统时钟(SYSCLK)为内部高速RC振荡器时钟(HSI)。
因此,本系统以老人为中心,并设定出许多相关的功能监护老人,让老人的生活变得更加的安全和方便。...1.2 功能需求 本监护系统基于STM32单片机通过传感器实时检测老人身体状态,并将状态信息进行处理转换后,通过外网发送到OneNet云平台。再设计可视化页面将采集的信息和智能分析呈现给用户。...此外,倘若老人状态发生异常,本系统会自动做出及时的反应。...具体实现的功能如下: 1、对老人健康指标跟踪:脉搏、心率、体温; 2、对老人进行定位跟踪; 3、该系统对老人的各指标具有相应警报,如果发生老人跌倒等突发事件,系统会自动发送设置好的短信通知其紧急联系人,...系统框架图如下所示:
【2】软件层 STM32的控制程序使用C语言编写,采用keil软件进行整体项目开发,对外设进行控制并实现数据采集和智能控制。主要分为采集数据、处理数据、数据显示、控制继电器和蜂鸣器等功能模块。...它由测量模块及处理电路组成,具有体积小、成本低、响应时间快等特点,被广泛应用于各种环境监测和自动控制系统中。...通过串口与电脑连接后,可以使用串口调试软件来查看STM32采集到的温湿度数据。 【2】采集MQ9有毒气气体 MQ9是一种可燃气体传感器,可以检测空气中的多种可燃气体,例如甲烷、丙烷、丁烷等。
目录 学习目标 运行结果 文件系统 常用系统 FATFS 特点 结构图 移植步骤 disk_initialize disk_status disk_read disk_write disk_ioctl...get_fattime 代码 总结 ---- 学习目标 我们要来介绍的是FATFS文件系统,这是一个为嵌入式设计的文件系统,甚至8051系列也可以使用,好了,我们开始介绍吧!...运行结果 文件系统 负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。即在磁盘上组织文件的方法。...常用系统 FAT/FATFS NTFS:基于安全性的文件系统,是Windows NT所采用的独特的文件系统结构。 CDFS:CDFS是大部分的光盘的文件系统。...exFAT FATFS FATFS文件系统FATFS是一个完全免费开源的FAT文件系统模块,专门为小型的嵌入式系统而设计。完全用标准的C语言编写,所以具有良好的硬件平台独立性。
一、前言 针对传统超市购物车结账排队时间长、付款效率低的问题,提出了一种更符合现代社会人们购物方式-基于RFID的自助收银系统。...硬件上采用STM32作为主控芯片,完成IC卡读写,控制步进电机-闸机。 上位机采用QT设计,语言采用C++,STM32与上位机之间使用串口进行交互没,完成整个功能设计。...二、硬件选型 2.1 步进电机 2.2 RC522 刷卡模块 2.3 STM32系统板 2.4 蜂鸣器 蜂鸣器是为了有交互声音,刷卡可以滴一声,明白刷卡成功。...三、STM32程序设计 3.1 硬件原理 设备端采用STM32F103C8T6,刷卡模块采用RFID-RC522。...STM32设备端设计的就是一个读卡器,用来读取电子标签,会员卡等信息,将卡号上传给上位机完成处理。 在设备硬件上以一个白色LED灯,每次刷卡成功灯会闪烁一次,表示刷卡成功。
目录 排查用户相关的信息 排查进程端口相关的信息 查找恶意程序并杀掉 斩草除根 判断入侵方式,修复漏洞 当我们被告知一台Linux服务器被黑客入侵,黑客利用该服务器进行挖矿...w #显示已经登陆系统的用户列表,并显示用户正在执行的指令 users #显示当前登录系统的所有用户的用户列表 last #查看最近登录成功的用户及信息...,查看的是 /var/log/wtmp 文件 lastb #查看最近登录失败的用户及信息,查看的是 /var/log/btmp 文件 lastlog #显示系统中所有用户最近一次登录信息...#查看爆破用户名字典 总的来说,黑客入侵主机有下列几种情况: 通过 redis 未授权漏洞入侵(好多挖矿程序是通过这个) ssh 弱口令暴力破解 Web 程序漏洞入侵 参考文章: 记一次Linux...木马清除过程 相关文章:Redis未授权访问漏洞 Linux挖矿病毒的清除与分析 Linux下性能监控、守护进程与计划任务管理 来源:
一、前言 随着社会的发展,人们的生活水平不断提高对安防问题的关注度越来越高,因而各类防盗设备也层出不穷,本文采用红外测距传感器、摄像头、STM32单片机以及ESP8266无线通信模块设计一种车库防盗报警器...(三)、不能输入正确密码反而也能进入车库: 不正常进入车库内时,当红外测距系统检测到人时,灯亮起和蜂鸣器响起,同时触发摄像装置,触发后的摄像装置会连续拍摄两次(注:红外测距系统没有检测到人,摄像装置是不运行的...数据传输的格式: $update,16,23,23.5 温度、湿度、测量的距离 (2)手机APP上可以设置红外报警检测距离,在手机页面上点击设置之后,会传递给STM32。...(3)在STM32上有一个RTC时钟,需要实时记录当前时间,手机APP有一个时间校准按钮,点击之后,会校准STM32开发板上的时间。...数据通信格式: *20220309114156 传递过去的就是年月日时分秒时间 下面是在win10系统下运行软件的效果。 下面是在Android系统下运行软件的效果。
0、前言 RC522射频门禁识别模块非常常用,某宝卖家提供的程序基本都是使用软件模拟SPI的方式进行驱动的,但是实测使用软件模拟SPI识别速率、准确性没有硬件SPI驱动时高,因此本篇博客用于记录使用STM32...双向通信,使用双线全双工; STM32作为主机,设置主机模式; 数据位8bit; 第一位数据,先传高位,也就是MSB; 时钟极性(CPOL):手册没有说明空闲电平是0还是1,测试后为0,即低电平
2.2.权限授权 sudo:在编译和安装的时候最好带上使用sudo,防止因为管理权限出错; contrib / 60-openocd.rules:在Linux上使用USB设备时,需要将此文件复制到/etc...==下一篇==:Linux下开发stm32(三) | 寄存器工程开发
领取专属 10元无门槛券
手把手带您无忧上云