- 博客(18)
- 收藏
- 关注
原创 嵌入式开发概念和各种命令
一、嵌入式开发1.什么是嵌入式开发?包括软件即应用程序、操作系统和计算机硬件,其核心是操作系统,即在已有的硬件上移植操作系统。操作系统承上启下,指挥硬件,同时又为应用程序提供服务。2.嵌入式开发的优缺点?1》优点:1)解决了软硬件的耦合度,代码的移植性提高;2)操作系统中提供了很多的开源工具和库,提高了开发效率;3)操作系统还可以实现多任务机制,提供丰富的网络协议栈,使之更加智能化。2》缺点:提高了开发成本—>解决方式:将操作系统不断变小,更细分化。3.什么是嵌入式系统?其应用场景?
2022-04-24 20:01:53
1548
原创 嵌入式课堂整理9
一、1.信号:信号是一种向进程发送通知,告诉其某件事情发生了的一种简单通信机制。2.信号的产生:①另一个进程发送信号;②内核发送信号;③底层硬件发送信号。3.信号列表:常用信号。信号宏名 信号编号 说明系统 默认处理方式SIGABRT 6 ...
2020-04-27 21:19:15
230
1
原创 嵌入式课堂整理8
嵌入式Linux多任务:进程、线程(1)硬件条件:单个CPU单个核(2)单任务:一个任务执行完毕之后下个任务才能执行;(3)多任务:任务的执行可以被中断,中断之后可以执行其他任务; (并发/并行)(4)单核CPU:并发(5)多核的CPU:并发,并行一、进程实现多任务1.特点:给每个进程分配独立的地址空间, 4G的大小!(1G内核, 3G用户空间:栈、堆、数据段、代码段) ;互不干扰;...
2020-04-21 15:43:22
242
原创 嵌入式课堂8拓展知识
1、僵尸进程:子进程终止了,但是父进程还活着,父进程在没有回收子进程资源之前,子进程就是僵尸进程。2、为什么子进程会变成僵尸进程?子进程已经终止不再运行,但是父进程还在运行,它没有释放子进程占用的资源,所以就变成了占着资源不拉屎僵尸进程。好比人死后不腐烂,身体占用的资源得不到回收是一样的,像这种情况就是所谓的僵尸。3、孤儿进程:没爹没妈的孩子就是孤儿,子进程活着,但是父进程终止了,子进程就是...
2020-04-21 13:44:14
177
原创 嵌入式课堂整理7
1、fork函数特点:①被调用一次却返回两次,可能有三种不同的返回值1)父进程的fork,成功返回子进程的PID,失败返回-1, errno被设置。2)子进程的fork,成功返回0,失败返回-1,errno被设置。相关问题:1、fork出一个子进程,父子进程执行的先后顺序是不确定的,如果先执行父进程,再执行子进程,父进程中没有wait和sleep,是否先把父进程执行完,再执行子进程?还是...
2020-04-14 13:35:03
143
原创 嵌入式课堂6拓展知识
一、实现hello2.txt读三次 hello world,换行输出由此可看出,实现了输出三次,但没有换行若实现换行,可以写入\n就可以实现换行。二、read函数(原生态函数)做不到一行行的读数据,需要自己写read_line函数。三、将hello2.txt内容拷贝到hello3.txt打开两个文件:hello2.txt只能读操作;hello3.txt只能写写入函数...
2020-04-07 12:37:54
116
原创 嵌入式课堂整理6
嵌入式Linux系统开发:通过内核提供的服务实现相应的功能(目的制作应用软件)(1)嵌入式三大组成部分:软件(应用软件)[用户空间]内核{管理资源(软件、硬件) [系统软件]}[内核空间]硬件(网卡、摄像头)(2)C语言设计:无OS语法使用Linux C语言开发可以通过内核访问硬件(3)Linux系统空间划分:用户空间、内核空间用户空间不能随便访问内核空间(目的是保护内核的访问安...
2020-04-05 16:04:55
233
原创 嵌入式课堂整理5
嵌入式Linux开发工具——shell编程(嵌入式系统开发-系统移植)一、什么是shell?(Linux系统运维工程师)1.命令解析器(将用户输入的命令解析,调用相应的命令可执行文件)2.脚本语言(脚本:批处理)执行命令:/bin /sbin/环境变量(1)作用是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Sh...
2020-03-30 13:36:48
170
原创 嵌入式课堂4拓展知识
Makefile代码分析一、scripts目录头文件Makefile1.变量定义:(1)通过“=”来实现例如:a1= $(a2)a2= $(a3)a3= a.o这种方式下变量a1的值是a.o,也就是说前面的变量可以通过后面的变量来定义。但使用这种方式定义变量时,要防止出现死循环的情况。图中用Libs代替-lpthread(2)通过“:=”来实现例如:a1:= a.oa2:= ...
2020-03-24 12:02:55
148
原创 嵌入式课堂整理4
一、调试器-gdb1.gdb介绍:GNU计划工具;内核调试KGDB;2.程序的错误分类:(1)编译时错误:语法错误(2)运行时错误:内存错误,逻辑错误3.gdb的功能:(1)运行程序(2)设置断点(3)查看变量值4.启动gdb:例如hello.c文件gcc -g hello.c -o hello ------>gdb hello(gdb+可执行文件)(1)运行程序:run fi...
2020-03-23 14:49:00
211
原创 嵌入式课堂整理3
一、嵌入式Linux开发工具1.vim gcc gdb make(1) vim(文本编辑器):学会使用和如何配置vim(2) gcc(编译器):学会制作动态库和静态库及使用与区别(3) make(工程管理器):编写makefile文件(4) gdb(调试器):设置断点、单步执行、调试内存错误二、Linux文本编辑器: vim-功能最强大的文本超级器一摆脱鼠标;1.i–vim-gvim...
2020-03-16 16:55:51
253
原创 嵌入式课堂2拓展知识
一、根目录下其他目录的作用/bin 存放必要的命令 比如ls、cp、mkdir等命令/boot 存放内核以及启动所需的文件/dev 存放硬件设备文件 比如声卡、磁盘、光驱/etc 存放系统配置文件/home 普通用户的家目录,用户数据存放在其主目录中/lib 存放必要的运行库/mnt 用于存放临时挂载存储设备的挂载目录,通常用来挂载使用。 比如有cdrom,u盘等目录。直接插入光驱...
2020-03-09 20:35:06
152
原创 嵌入式课堂整理2
一、安装Linux开发环境1、vm虚拟机(通过软件的方法模拟PC机)2、为什么不选择双系统?答:嵌入式开发与内核交互,会导致系统崩溃。3、Linux发行版(发行给用户使用的版本)redhat(centos 7、企业版)ubuntu(16.10 、18.04) deepin二、Linux介绍(POSIX/GPL/GNU)1991Linux0.1 GPL:开源社区GPL协议–Linu...
2020-03-09 19:50:50
252
原创 嵌入式课堂1拓展知识
一、中间层硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配...
2020-03-01 16:38:51
284
原创 嵌入式课堂整理1
一、嵌入式开发概述1.嵌入式技术是什么?答:在已有的硬件上移植操作系统;在操作系统之上做上层应用开发,在操作系统之下做底层开发。2嵌入式软件与非嵌入式软件的区别?答:最大的区别是有无操作系统。嵌入式技术有操作系统,非嵌入式没有操作系统。3.嵌入式开发与单片机开发的区别?答:嵌入式开发有操作系统,单片机开发属于传统开发,只有软件和硬件,没有操作系统。4.传统开发的缺点?答:软件移植能...
2020-03-01 16:23:46
301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人