大一到大二这段时间里学习过单片机的相关知识,对单片机有一定的认识和了解。如果要深究其原理可能还差了一些火候。...在单片机开发中我们常常用到的是裸机,并没有用到操作系统(或者接触过ucos/rtos这种实时操作系统),但是嵌入式Linux开发就必须得在Linux系统中进行操作。...STM32通过PWM产生频率为20HZ占空比为50%方波,并通过单片机测量频率并显示 嵌入式Linux操作系统具有:开放源码、所需容量小(最小的安装大约需要2MB)、不需著作权费用、成熟与稳定...如果要获取led 灯的状态,就用 read 函数从驱动中读取相应的状态。 应用程序运行在用户空间,而 Linux 驱动属于内核的一部分,因此驱动运行于内核空间。...count: 表示从 from 开始,要释放的设备号数量。
我们已经从Linux进程基础中了解了进程。现在我们看一下从程序到进程的漫漫征程。 一段程序 下面是一个简单的C程序,假设该程序已经编译好,生成可执行文件vamei.exe。...进程附加信息 除了上面的信息之外,每个进程还要包括一些进程附加信息,包括PID,PPID,PGID(参考Linux进程基础以及Linux进程关系)等,用来说明进程的身份、进程关系以及其它统计信息。...内核可以通过查看自己空间中的各个进程的附加信息就能知道进程的概况,而不用进入到进程自身的空间 (就好像我们可以通过门牌就可以知道房间的主人是谁一样,而不用打开房门)。...每个进程的附加信息中有位置专门用于保存接收到的信号(正如我们在Linux信号基础中所说的“信箱”)。...具体机制请参看Linux内核相关书籍) 这一篇写了整合了许多东西,所以有些长。
www.oracle.com/technetwork/java/javase/downloads/java-se-6u24-download-338091.html cp /Downloads/jdk-6u24-linux-x64....bin /usr/java cd /usr/java sh /jdk-6u24-linux-x64.bin Set JAVA_HOME / PATH for single.../java export PATH=$PATH:/usr/java/jdk1.6.0_24/bin reference: http://www.cyberciti.biz/faq/linux-unix-set-java_home-path-variable...reference:http://www.jb51.net/os/Ubuntu/1049.html http://www.cyberciti.biz/tips/howto-ubuntu-linux-convert-dhcp-network-configuration-to-static-ip-configuration.html...9f65cb4a8c8507ed4fece7631046893b4c4380147d8c8c4668d4e419ce3b4c413037bfa6663f405a8e906b6075a94f5feef166253c0123b5998bdd0c81ac925f75ce786a6459db0144dc47f497016fd620e11eb2b81897ad813384daa3c4ae5744bd24127af1e7fd5d1764cb7881652697ad&p=8366de5985cc45ff57ec9e0c5552&user=baidu&fm=sc&query=linux
移动多行: :n1,n2 m k # 从n1行到n2行的文本移动到k行处,其中m是移动命令 搜索和替换: /string:向前搜索指定字符串。 搜索时忽略大小写:set ic ?...然后通常使用gcc的-static 选项从该PIC 目标文件生成动态库文件默认情况下库文件的存放位置:/usr/lib或/lib。...对于不同版本的gcc来讲,n的取值范围及其对应的优化效果可能并不完全相同,比较典型的范围是从0变化到2或3。 通常情况下,数字越大,会起到更好的优化效果,但整个编译链接的过程会变慢。...continue:继续运行,到下一个断点停止 run:执行当前被调试的程序。 quit:退出gdb 。 break n:在第n行设置断点,这将使程序执行到这里时被挂起。...Delete n:去除第n号断点 Disable n:暂停使用第n号断点 Enable n:启动第n号断点 Break :从后向前清除断点 print 变量名:显示变量的值 file 文件名:如果直接执行
之前文章中说,最近结合自己的项目进行理论知识的复习,就是从传统模块到云原生模块以及智能开发运维等来展开。...上篇文章只是简单的提了下Linux内核参数优化,并且是针对centos系统的,今天就从整体的角度来复习下Linux的相关知识。...比如: 本地虚拟机安装各种linux版本去实践学习 使用公有云提供商的各种系统学习(比如阿里、腾讯、华为等) 在线linux学习平台等等 3、好的Linux学习资源分享(都是免费的好资源): (1)Shell...3)菜鸟教程+鸟哥的私房菜 https://cn.linux.vbird.org/ (4)《Linux内核精通》 https://github.com/0voice/linux_kernel_wiki...再比如linux的核心源码的研究,也只停留在基础理解,对于内核中的进程管理、内存管理、文件系统等核心原理还得学习,因为我讲不出来,无法给别人分享。
文件上传、下载 在涉及 Linux 相关的开发中,经常需要进行 linux 和 Windows 之间的文件、 安装包等上传和下载操作。 sftp 和 lrzsz 是使用比较广泛的两种方式。...输出 a.txt 文件中含有从 b.txt 文件中读取出的关键词的内容行 cat a.txt | grep – nf b.txt 从文件中读取关键词进行搜索, 显示行号 grep -n 'linux...whereis和下locate一样,会从数据库中查找数据,而不是像 find 命令那样,通过遍历硬盘来查找。...这时就需要用到定时器功能,而在Linux系统中提供了一个类似于定时器的小工具:crontab crontab 是 Unix 和 Linux 用于设置周期性被执行的指令。...-r:删除定时任务配置,从/var/spool/cron 目录中删除某个用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
ext3 :中采用了日志式的管理机制,它使文件系统; 具有很强的快速恢复能力,并且由于从ext2 转 换到ext3 无须进行格式化,因此,更加推进了 ext3文件系统的大大推广。...Start:起始柱面,代表分区从哪里开始。 End:终止柱面,代表分区到哪里结束。 Blocks:分区的大小,单位是 KB。 id:分区内文件系统的 ID。...如果这个分区并没有占满整块硬盘,就会提示 “Partition 1 does not end on cyl inder boundary”,表示第一个分区没有到硬盘的结束柱面。大家发现了吗?...输入结束柱面号(或者+size{K,M,G}) e :extend 扩展分区 l :逻辑分区(创建扩展分区之后才出现) 创建了扩展分区之后,再创建分区,提示命令会发生改变,出现逻辑分区(分区号从5...dev/nodev:是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 nodev。
从菜鸟到牛人的学习步骤 我们假定大家已经对STM32的书籍或者文档有一定的理解。如不理解,请立即阅读STM32的文档,以获取最基本的知识点。 英文好的同学,请不要以为你很牛,可以只看英文文档。
到子函数的时候就当完事了继续下一步运行。 如果你运行到一个子函数里面,比如一个100000的循环,咋办? 运行到退出,全速运行出去。 还有我们感兴趣的蹲点,就运行到这里就行。
首先呢先讲下dhcp的简介: 对于那些不太了解网路技术的人来说,配置TCP/IP可能是一件非常复杂的工作,对那些将PC连接到局域网的用户来说只能将配置集中到服务器端,这样可以简化用户端的工作复杂度。...当然,这将在一定程度上,增加管理员的工作量,但是从整体考虑,这样是最优的。...在一定程度上是这样的,因为我向大家介绍的是一台主服务器带一个子网,这是最简单的一种网络拓扑结构,要是更加复杂的多子网情况,那配置起来就要更加麻烦一点,这就需要为每个子网配置一个中继代理(dhcrelay),它的文档在Linux
Linux 服务器端NFS 服务器的配置 以root 身份登陆Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。 ... 最后执行如下命令启动NFS 服务,此时NFS 会激活守护进程,然后就开始监听 Client 端的请求: # /etc/rc.d/init.d/NFS start 用户也可以重新启动Linux...在NFS 服务器启动后,还需要检查Linux 服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS 使用的端口和允许通信的主机,主要是检查Linux 服务器iptables,ipchains...我们首先在Linux 服务器上进行NFS 服务器的回环测试,验证共享目录是否能够被访问。...在Linux 服务器上运行如下命令: # mount –t NFS 192.168.0.20:/home/work /mnt # ls /mnt 命令将Linux 服务器的NFS
当进程获得处理器而运行时 ,state的值仍然为TASK_RUNNING,并不发生改变;但Linux会把一个专门用来指向当前运行任务的指针current指向它,以表示它是一个正在运行的进程。...这个状态被应用在内核中某些场景中,比如当进程需要对磁盘进行读写,而此刻正在DMA中进行着数据到内存的拷贝,如果这时进程休眠被打断(比如强制退出信号)那么很可能会出现问题,所以这时进程就会处于不可被打断的状态下...一般和"-n"选项合用,用于把 top 命令重定向到文件中; -n 次数:指定 top 命令执行的次数。...简单来说,缓存(cache)是用来加速数据从硬盘中"读取"的,而缓冲(buffer)是用来加速数据"写入"硬盘的。...如果我们想要看到所有的进程,则可以把 top 命令的执行结果重定向到文件中。 不过 top 命令是持续运行的,这时就需要使用 “-b” 和 “-n” 选项了。
nice 值 Linux 中,使用 nice 值来设定一个普通进程的优先级,系统任务调度器根据 nice 值合理安排调度。 nice 的取值范围为 -20 到 19。...现在的cgroups适用于多种应用场景,从单个进程的资源控制,到实现操作系统层次的虚拟化(OS Level Virtualization)。...CACHED_APP_MAX_ADJ CACHED_APP_MIN_ADJ BACKUP_APP_ADJ PERCEPTIBLE_APP_ADJ VISIBLE_APP_ADJ FOREGROUND_APP_ADJ 系统内存从很宽裕到不足...这个优先级并不是我们之前讲到的 Nice 值,Java 的优先级分为 10 个等级,取值从 1 到 10,根据取值的大小,优先级越来越高,一般 Android 线程默认启动设置的优先级为 NORM_PRIORITY...参考资料 从linux到android,进程的方方面面 Linux 线程实现机制分析 内核线程、轻量级进程、用户线程的区别和联系 Android 多线程系统概述及与Linux系统的关系 Linux 线程模型的比较
Linux从入门到精通系列之DHCP 首先呢先讲下dhcp的简介: 对于那些不太了解网路技术的人来说,配置TCP/IP可能是一件非常复杂的工作,对那些将PC连接到局域网的用户来说只能将配置集中到服务器端...当然,这将在一定程度上,增加管理员的工作量,但是从整体考虑,这样是最优的。 ...在一定程度上是这样的,因为我向大家介绍的是一台主服务器带一个子网,这是最简单的一种网络拓扑结构,要是更加复杂的多子网情况,那配置起来就要更加麻烦一点,这就需要为每个子网配置一个中继代理(dhcrelay),它的文档在Linux
shell编程 1. shell和shell脚本 1.1 shell Shell是一种具备特殊功能的程序,它是介于使用者和UNIX/Linux操作系统之核心程序 ( kernel) 之间的一个接口。...目前几乎所有的Linux系统 都支持它,将其作为应急Shell使用。 C Shell (简称csh) :C Shell由加利福尼亚大学 伯克利分校开发。...1.2 shell脚本 Shell脚本:按照一定的语法结构把若干linux命令组合在一起,实现特定的功能。 Shell 脚本是纯文本文件。 Shell 脚本通常以.sh 作为后缀名,但不是必须。...$#:传递到脚本的参数的数量; $*:以"参数1参数2… "形式保存所有参数; $@:以"参数1" “参数2” …形式保存所有参数; $?...]# echo ${var##*ir} 2/file.txt 从右边开始,删除最短匹配di,注意:这里的*在后面。
/pan.baidu.com/s/1esryJhne-oYHOAImTc0gvA 提取码:8888 原理图 去官网还看见了这 还有招聘 手贱搜索了一下这个东西: 提问 开始喷 这,单片机这种东西学会一个
Linux 服务器端NFS 服务器的配置 以root 身份登陆Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。 ...start 最后执行如下命令启动NFS 服务,此时NFS 会激活守护进程,然后就开始监听 Client 端的请求: # /etc/rc.d/init.d/NFS start 用户也可以重新启动Linux...在NFS 服务器启动后,还需要检查Linux 服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS 使用的端口和允许通信的主机,主要是检查Linux 服务器iptables,ipchains...我们首先在Linux 服务器上进行NFS 服务器的回环测试,验证共享目录是否能够被访问。...在Linux 服务器上运行如下命令: # mount –t NFS 192.168.0.20:/home/work /mnt # ls /mnt 命令将Linux 服务器的NFS 输出共享目录挂载到
Linux从入门到精通系列之PPTP 今天我们来说下怎么在linux环境下如何搭建PPTP-***,PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。
Linux 的进程和线程在开始话题之前,首先我们来说,对于软件的开发来说,什么样的东西是最难的?...Linux 早期是没有线程的概念,因此他只设计了进程的结构体,Linux 上是怎么设计线程的呢?...虽然到这里这里引入概念讲完了,但是我们还是要写一下 Linux 线程创建方式。...namespace所以为什么从线程谈到 docker ,因为 docker 的 namespace 就是依靠这几个标记实现进程隔离,使得 pid ipc 等产生隔离。...当然从开发者角度来看就是,设计需求变更时候加个字段的事情。
领取专属 10元无门槛券
手把手带您无忧上云