- 博客(13)
- 收藏
- 关注
原创 linux中的文件属性
linux中的文件属性1、linux中各种文件类型(1)普通文件(- regular file)文本文件文件中内容是由文本构成的,文本指的是ASCII码字符。文件里的内容本质上都是数字(不管什么文件内容本质上都是数字,因为计算机中本身就只有0和1)而文本文件中的数字本身应该被理解为这个数字对应的ASCII码,常见的.c文件、.h文件、.txt文件可被人轻松读懂、编写。二进制文件二进制文件中存储的本质也是数字,只不过这些数字并不是文字的编码数字,而就是真正的数字。常见的可执行程序文件(g
2020-09-05 20:20:58 191
原创 linux中的文件IO
linux中的文件IO1、应用编程框架介绍(1)什么是应用编程嵌入式linux包括裸机编程、C语言高级、uboot和系统移植、linux应用编程和网络编程、驱动开发典型的嵌入式产品就是基于嵌入式linux操作系统来工作的产品研发过程:linux系统在硬件上跑起来(系统移植工作)、基于linux系统来开发应用程序实现产品功能基于linux去应用编程,其实就是通过调用linux的系统API来实现应用需要完成的任务(2)什么是文件IOIO就是input/output,输入/输出, 读写
2020-09-03 14:01:47 194
原创 C语言的精髓 —— 指针
C语言的精髓 —— 指针1、指针到底是什么?(1)指针就是一个普通的变量——指针变量(2)指针的作用:实现间接访问CPU的间接寻址方式是CPU设计时决定的—>决定了汇编使用简介寻址—>C语言也需要间接寻址(CPU 的间接寻址:CPU通过寄存器来寻找内存)高级语言(如Java、C#)没有指针,是因为语言本身帮我们封装了(3)指针使用三部曲:定义指针变量关联(绑定)指针变量解引用解引用之前需要先绑定绑定的意义:让指针指向一个可以访问,
2020-08-31 15:03:29 467
原创 C语言对寄存器的位操作
C语言位操作1、位操作符(1)位与& 逻辑与&& 1&1=1 1&0=0 0&0=0 0&1=0(2)位或 | 逻辑或 || 1 | 1=1 1 | 0=1 0 | 0=0 0 | 1=1(3)位取反~ 逻辑取反 !(4)位异或 ^ 不同为1,相同为0 1^1=0 1^0=1 0^0=0 0^1=1总结:位操作是按照二进制数的每一位进行操作的,逻辑操作是对数的整体操作的位与,与1位与
2020-08-30 12:18:36 11134 1
原创 复杂数据结构的简单总结
复杂数据结构的简单总结1、链表、哈希表、二叉树、图(1)链表 用途:linux内核、驱动、应用编程都会用到 要求:会自己定义结构体来实现链表、会写链表的节点插入(前插、后插)、节点删除、节点查找、节点遍历等。(2)哈希表 直接使用别人实现的哈希表 原理:对比数组,映射key=1*x(x为小标) 哈希表,映射key=f(x),key=n*x+c(固定公式)(3)二叉树、图 复杂数据结构在嵌入式中用到的概率很小2、为什么需要更复杂的数据结构 实
2020-08-28 10:26:15 962
原创 uboot中对flash和DDR的管理
uboot中对flash和DDR的管理1、uboot阶段flash的分区(分块管理)(1)uboot阶段对flash的分区(分块管理):uboot、uboot_varenv、kernel、rootfs、自由空间,一共4G的空间。(2)在uboot中没有操作系统,因此我们对flash的管理必须实现使用分区界定(实际上在uboot中和kernel中都有分区表,分区表就是我们在作系统移植时对flash的整体管理分配方法),有了这个界定后我们在部署系统时就按照分区界定方法来部署,uboot和kernel的软件
2020-08-28 10:12:51 473
原创 uboot命令简介
uboot命令简介1、printenv/print 打印环境变量输入 printx210 # printmtdpart=80000 400000 3000000baudrate=115200 // 波特率ethaddr=00:40:5c:26:0a:5b // 开发板的本地网卡的MAC地址bootargs=console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3bootc
2020-08-28 10:12:13 319
原创 uboot常见环境变量
uboot常见环境变量1、环境变量 可以理解为全局变量,和全局变量不同的地方在于环境变量可以保存下来,下次开机使用最后的变量。全局变量在每次开机时都会是初始值。使用print命令打印出来。2、环境变量如何参与程序运行 环境变量在flash中有一份,在DDR中也有一份。uboot开机时,一次性从flash中读取全部环境变量到DDR中作为环境变量的初始值。使用过程中都是使用DDR中的这一份。用户使用setenv命令修改的就是DDR中的那一份环境变量然后通过saveenv命令就是将DDR中的环境变量重
2020-08-28 10:11:18 434
原创 虚拟机的上网问题
虚拟机的上网问题1、VMware中虚拟机网络的三种设置(1)桥接(bridged)(2)NAT(3)Host only 该模式下仅主机可以上网,虚拟机不能上网2、虚拟机上网方式1 :NAT方式设置步骤: (1)在菜单栏 虚拟机 ——> 设置 ——> 硬件 ——>网络设配器,右侧选择NAT模式 (2)vi /etc/network/interfaces,打开该文件,将内容编辑为:auto loiface lo inet loopback// 以下内容可省略
2020-08-28 10:10:14 129
原创 内存大话题
内存大话题1、冯诺依曼结构和哈佛结构的区别冯诺依曼结构和哈佛结构是计算机的两种不同的架构,他们的本质区别是对于数据和代码的存储是不同的。冯诺依曼结构的是将数据和代码存储在一起,数据和代码都在RAM中。S5PV210就是这样的结构,还有Intel的CPU。程序和数据放在一起,处理简单,但是程序就变得可读可写了,因此安全和稳定性就是一个问题。哈佛结构的将数据和代码分开存放,数据在RAM中,可随机访问,代码存放在ROM中,大部分单片机就是这样的结构,代码烧写到Flash中直接执行,代码运行中用到的数据从R
2020-08-28 01:21:54 165
原创 linux的常用命令
linux的常用命令1、ls显示当前目录的文件(1)ls -a 显示所有文件(2)ls -l 显示文件的详细信息(3)ls -a -l la -l -a ls -al ls -la 显示所有文件及详细信息(4)ls -l 显示详细信息内容解析 例如:-rw-r–r-- drwxr-xr-x 1>一共十个字符,第一个字符表示文件类型,后面九个字符分成3组,表示文件权限, 前三个表示:此文件的属主对文件的权限 中三个表示:此文件的属主所在的组对文件的权限
2020-08-27 20:42:36 146
原创 linux中的权限表示与管理
Linux中的权限表示与管理1、特权用户和普通用户 特权用户是系统的管理员,对系统内所有的文件具有操作权限。 普通用户只能处理自己的文件,不能访问其他用户的文件,更不能随意处理操作系统的文件2、用户的宿主目录 特权用户:/root 普通用户:/home/user_name3、Linux中的特权用户和普通用户 Linux中的特权用户就是root用户,普通用户权限受到限制,比如普通用户不能进入/root目录,普通用户不能使用apt-get install安装软件,也不能apt
2020-08-27 20:39:03 181
原创 vim编辑器的使用
vim编辑器的使用1、vi打开/创建一个文件 vi pathname 有文件就打开没有文件就创建并打开。2、vi的两种模式(1)命令模式:打开后默认是命令模式,此时输入的内容都被当作命令来对待。按a或者i转入输入模式。(2)输入模式:用来向文件写入真正的内容,按esc退出输入模式,回到命令模式。3、命令模式下的保存 :wq 保存并且退出(改动后要保存了再退出) :w 保存(输入阶段保存一下) :q 不保存退出(进来看一下没有改动) :q!
2020-05-12 22:05:14 176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人