- 博客(21)
- 收藏
- 关注
原创 设备树简介
节点 soc 定义的 ranges 属性,值为 <0x0 0xe0000000 0x00100000>,此属性值指定了一个 1024KB(0x00100000) 的地址范围,子地址空间的物理起始地址为 0x0,父地址空间的物理起始地址为 0xe0000000。name 属性值为字符串, name 属性用于记录节点名字, name 属性已经被弃用,不推荐使用name 属性,一些老的设备树文件可能会使用此属性。子地址空间的长度,由父节点的 #size-cells 确定此地址长度所占用的字长。
2024-07-19 16:24:29
971
原创 BSP工程师
一个嵌入式系统光有电路板是不够的,还要有对应的软件支持,软件开发的前提是首先使板子正常稳定的工作,然后再在其上编写对应的应用软件以实现其特有的功能。通俗的讲,嵌入式系统就是一种具有专一功能的计算机系统。上个阶段中,板子的CPU和基本的器件已经能正常工作,这个阶段中将使能所有的外设,并为后面要开发的应用程序提供对应的软件控制接口。BSP工程师需要结合硬件原理图修改从芯片厂商拿到的参考代码,调试板子,使板子上的操作系统能够正常稳定工作,从而提供一个稳定的开发调试环境,这个过程叫做点亮板子,行话叫做。
2024-05-27 09:28:15
287
原创 Linux线程
LWP是轻量级进程,在Linux下进程是资源分配的基本单位,线程是cpu调度的基本单位,而线程使用进程pcb描述实现,操作系统在创建线程时给每个线程都创建一个pcb结构体,并且同一个进程中的所有pcb共用同一个虚拟地址空间,因此相较于传统进程更加的轻量化有了更多执行流之后。
2024-05-27 09:09:10
565
转载 嵌入式系统中常用文件系统包括cramfs、jffs2、NFS、initrd、ext4、squashfs、ubifs等。它们的特点如下:
由此可以看出虽然这样能有效地提高系统的可靠性,但是在一定程度上降低了系统的速度。尤其对于较大的闪存芯片,加载过程会更慢。**
2024-05-06 09:28:36
304
原创 freopen()实现标准输入流标准输出流重定向
stdin - "标准输入" stdout - "标准输出" stderr - "标准错误"r -"只读访问" w - "只写访问" a - "追加写入"实现重定向,把与定义的标准流文件定向到由path指定的文件中。标准流文件具体是指 stdin/stdout和stderr。* mode 文件打开的模式。*stream 一个文件,通常使用标准流文件。stdout标准输出流,默认是屏幕。stderr标准错误流,默认是屏幕。stdin标准输入流,默认是键盘。stdio.h或者cstdio。
2024-04-29 14:56:33
150
原创 智能节能风扇项目回顾
STM32F103C8T6是一款基于ARM Cortex-M3内核(ARM公司在ARM11以后改用Cortex命名,并分成A、R和M三类,M系列有M0、M0+、M3、M4、M7)的32位的微控制器,采用LQFP48封装,由意法半导体公司(ST)推出,属于STM32系列(ST公司还有SPC5X系列微控制器)。直流无刷电机调速的原理就是在驱动电机转动的基础上,将驱动电流由PWM信号来控制,改变PWM信号的脉冲宽度,即通过调节MOSFET通断的时间来调节提供给电机三相的电流大小,从而对电机进行调速控制。
2023-04-03 14:36:13
360
1
原创 智慧农业系统项目回顾
数字农业管理系统是提供给农业大棚管理员的,通过传感器获取到的大棚环境状态可视化展示,从而对大棚作物的生长状态进行监控和管理的平台。此系统主要分为两大部分,第一部分是获取大棚中与作物生长环境有关的一系列数据,以及对相应数据进行管理和可视化的监控平台,第二部分是给不同管理员之间提供的相互留言的留言板,以及高级管理者对所有管理员之间留言的查看与删除。使用到的知识BS即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端选用浏览器(Browse)运行软件。
2023-04-03 10:18:18
594
原创 HASH函数
Hash中文翻译为散列,是一类函数的统称,特点是定义域无限,值域有限。把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。若关键字为k,则其值存放在f(k)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数,按这个思想建立的表为散列表。对不同的关键字可能得到同一散列地址,即k1≠k2,而f(k1)=f(k2),这种现象称为碰撞,这时候,就产生了hash冲突。
2023-03-25 15:48:17
119
原创 什么是token
1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。三、使用过程中出现的问题以及解决方案?
2023-03-21 20:20:58
59
原创 MyBatis基于Java的持久层框架
MyBatis本是apache的一个iBatis,2010年这个项目由apache software foundation迁移到了,并且改名为MyBatis。2013年11月迁移到。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于的框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。MyBatis 是一款优秀的框架,它支持定制化以及高级映射。将接口和 Java 的。
2023-03-17 10:35:25
262
原创 C++的复习(1,2)
在C语言中,动态分配内存用 malloc()函数,释放内存用 free() 函数。在C++中,这两个函数仍然可以使用,但是C++又新增了两个关键字,new 和 delete:new 用来动态分配内存,delete 用来释放内存。new 操作符会根据后面的数据类型来推断所需空间的大小。类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。
2023-03-15 20:34:23
119
原创 C语言指针
数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量。在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。
2023-03-15 18:45:12
678
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人