嵌入式
文章平均质量分 75
基于LInux Deepin系统的学习。
福旺旺
人生短暂,学问无穷。
展开
-
嵌入式系统设计——gcc -static的作用
gcc提供了一个-static参数(使用时在main.c后加-static),可以改变gcc默认的连接方式指定了这个-static选项,gcc在连接时对项目所有的依赖库都尝试去搜索名为lib.a的静态库文件,完成静态连接,如果找不到就报错了。当gcc -static 用于编译一个程序时,会使此程序静态编译(把动态库的函数和所依赖的任何的东西,都编译进本程序),编译好后,文件会非常大,但是,运行...原创 2020-03-16 19:36:13 · 373 阅读 · 0 评论 -
安装Ubuntu中的种种问题
这些天装虚拟机可以说是遇到了很多问题,那我就在这里总结下我遇到的问题及我的解决方法。1、获取虚拟机使用权失败,无法打开你的虚拟机此时可以选择找到你的虚拟机文件夹,删除掉.vmx.lck文件然后就可以正常开启了2、以独占方式锁定此配置文件失败。网上对这个问题似乎大多数都是直接结束VMware的进程这里我也试过,直接点结束进程会提示无法结束进程,然后我又考虑用cmd里面的task...原创 2020-03-02 12:30:46 · 477 阅读 · 3 评论 -
嵌入式系统设计——进程间通信(7)
进程管理嵌入式Linux多任务:进程,线程硬件条件:单个CPU单个核单任务:一个任务执行完毕之后,下个任务才能执行多任务:任务的执行可以被中断,中断之后可以执行其他任务(并发,并行)单核CPU:并发多核CPU:并发,并行进程实现多任务特点:给每个进程分配独立的地址空间,4G大小(1G内核,3G用户空间)进程创建方式:fork>exec函数族>system>vfo...原创 2020-04-20 16:37:49 · 275 阅读 · 0 评论 -
嵌入式系统设计——Linux开发工具.中(4)
(3)调试器:gdb**1.GNU计划的工具:**内核调试KGDB**2.程序的错误分类:**编译时错误,语法错误 ,运行时错误:内存错误,逻辑错误**3.gdb的功能:**运行程序;设置断点;查看变量值4.例如有一个hello.c文件,则执行命令gcc -g hello.c -o hellogcc gdb5.基础命令–tui:图形界面化layout:用于分割窗口,可以一边查看...原创 2020-03-18 17:02:29 · 152 阅读 · 0 评论 -
嵌入式系统设计——Linux C开发-I/O技术(上)(6)
基本概念1.嵌入式Linux系统开发:通过内核提供的服务实现相应的功能。嵌入式LinuxC开发相当于“会看使用说明书”。2.Linux系统空间划分:用户空间,内核空间-用户空间不能随便访问内核空间-划分空间的目的:保护内核空间不能被用户空间随便访问3.系统调用:内核提供的安全访问机制;硬件中断,软件中断作用:使用户空间可以访问内核空间并获取服务4.用户如何发送系统调用?——必须...原创 2020-04-06 18:50:12 · 162 阅读 · 0 评论 -
嵌入式系统设计——Linux开发工具.下(5)
嵌入式Linux开发工具-shell编程(脚本:批处理)(5)shell:命令解析器——将用户输入的命令解析,调用相应的命令的可执行文件1.Shell是什么呢?简单来说shell是脚本语言,本身是一个用C语言编写的程序,用来实现命令的批处理。确切一点说,Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行...原创 2020-03-30 18:03:39 · 117 阅读 · 0 评论 -
嵌入式系统设计——初识(1)
本人也是刚刚进行嵌入式的学习,在这里发表一些刚刚接触嵌入式后的总结。一、嵌入式系统设计课程内容目标1、了解嵌入式技术;2、掌握嵌入式Linux操作的使用; (命令)3、掌握嵌入式Linux开发工具的使用; (gcc、 gbd、 make、 shell)4、掌握嵌入式Linux应用开发; (文件、 多任务、网络) (数据库)5、了解嵌入式产品开发流程; (硬件–软件–系统)6、了解嵌入...原创 2020-03-02 11:16:14 · 346 阅读 · 0 评论 -
嵌入式系统设计——Linux命令(2)
相较于针对普通用户的Windows系统,其操作相对简单,而Linux系统则更多的适用于开发人员,其操作相对效率。Linux的使用追求目标为摆脱鼠标,所以Linux包含许多命令(1000+)这就要求我们要对常用命令有较深的认知。首先打开你的Linux终端来输入命令,可以通过搜索terminal找到终端,或者右击鼠标找到终端选项,来打开终端。终端上闪烁的光标被称之为shell解析器,用来获取人所输入...原创 2020-03-09 15:48:18 · 165 阅读 · 0 评论 -
嵌入式系统设计——Linux开发工具.上(3)
嵌入式Linux的开发工具-vim、gcc、gdb、makevim(文本编辑器):学会使用和如何配置vimgcc(编辑器):学会制作动态库和静态库及使用和区别;gdb(调试器):设置断点、单步执行、调试内存错误;make(工程管理器):编写makefile文件;Linux文本编辑器:vim–功能最强大文本编辑器—摆脱鼠标vi–vim–gvim:命令模式(nyy\p\ndd...原创 2020-03-16 17:26:34 · 130 阅读 · 0 评论 -
嵌入式系统设计——课程自学20个命令
(1)reboot #重新启动计算机(2)halt #关闭计算机(3)uname #显示操作系统的类型(4)passwd #修改密码(5)du #查看目录大小du-b a 表示a目录为多少b(6)netstat #查看网络状态(7)grep #查找字符串(8)rpm #用于安装软件(9)umount #用于卸载(10)top #显示系统进程的活动情况,按占CPU资源百分比来分...原创 2020-03-09 16:36:52 · 87 阅读 · 0 评论 -
嵌入式系统设计——静态库.a和动态库的制作.so
静态库.a和动态库的制作.so1、什么库文件?保存函数和变量(仓库)特点:保存的函数与变量,只能使用但不能看到其实现。2、Linux库文件:静态库:在编译阶段加载;(将库文件的代码加载到源文件)动态库:在运行时加载;3、生成的可执行文件存在区别(优缺点)(1)使用静态库生成的可执行文件大于动态库生成的可执行文件(程序运行占用内存较多)(2)使用静态库生成的可执行文件难以升级;使...原创 2020-03-16 19:20:13 · 401 阅读 · 0 评论 -
嵌入式系统设计——各目录的作用
/bin/ — 用来贮存用户命令。目录 /usr/bin 也被用来贮存用户命令。/sbin/ — 许多系统命令(例如 shutdown)的贮存位置。目录 /usr/sbin 中也包括了许多系统命令。/root/ — 根用户(超级用户)的主目录。/mnt/ — 该目录中通常包括系统引导后被挂载的文件系统的挂载点。譬如,默认的光盘挂载点是 /mnt/cdrom/./boot/ — 包括内核和其...原创 2020-03-09 16:41:34 · 2943 阅读 · 0 评论 -
嵌入式系统设计——Linux C开发-I/O技术(下)
有缓冲访问文件(库函数)库函数主要有fopen、fclose、fread、fwrite、fprintf、fscanf等函数。fopen函数:表头文件: #include<stdio.h>定义函数: FILE * fopen(const char * path,const char * mode);函数说明: 参数path字符串包含欲打开的文件路径及文件名,参数mode字符...原创 2020-04-24 15:02:13 · 161 阅读 · 0 评论 -
嵌入式系统设计——网络编程
网络基础为什么需要网络通信进程间通信解决的是本机内通信网络通信解决的是任意不同机器通信实现网络通信需要哪些支持通信设备网卡(PC机自带)路由器、交换机光纤、电缆、基站通信协议操作系统自带协议栈裸机开发需要独立的协议栈简单网络通信只需要学会使用系统APITCP/IP协议栈OSI七层网络模型、LINUX四层网络模型协议栈为什么要分层各层之间是独立的灵活信...原创 2020-05-04 19:33:15 · 340 阅读 · 0 评论 -
嵌入式系统设计——多线程编程(8)
线程概述:(1)线程是任务调度和执行的基本单位。(2)为什么会有线程?A-进程实现多任务的缺点:a.进程间切换的计算机资源开销很大,切换效率非常低。b.进程间数据共享的开销也很大。B-线程和进程的关系1.线程是进程的一个执行单元,是进程内的调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程2.同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间3.进程退...原创 2020-04-27 16:32:18 · 990 阅读 · 0 评论