自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Makefile模板

2020-05-10 17:12:55 143

原创 动态库和静态库的制作和使用

静态库的制作和使用步骤:1、生成.o文件,将.o文件移到相应文件夹中2、执行命令 ar rcs libCalc.a .o(可将.o文件一个个列出代替.o)3、生成的libCalc.a文件即静态库使用bc命令(quit退出),计算.o文件之和小于libCalc.a的大小gcc编译main.c,-o命名为app,-I include/src 链接.h头文件,-L lib/ -lCalc...

2020-05-08 09:52:58 272

原创 嵌入式课堂笔记10

一、网络基础1、为什么需要网络通信?①进程间通信解决的是本机内通信②网络通信解决的是任意不同机器通信2、实现网络通信需要哪些支持?①通信设备网卡:PC机自带路由器,交换机光纤、电缆、基站②通信协议(发什么数据,怎么发数据,发完数据后做什么)操作系统自带协议栈;(Linux的特点:丰富的网络协议)(使用通信协议)裸机开发需要独立的协议栈③简单网络通信只需要学会使用系统API(...

2020-05-04 23:30:42 206

原创 嵌入式课堂笔记09

信号:是一种向进程发送通知,告诉其某件事情发生了的一种简单通信机制信号的产生:另一个进程发送信号内核发送信号底层硬件发送信号段错误常用信号:SIGABRT 6 终止进程,调abort函数时产生SIGALRM 14 超时,调用alarm函数时产生SIGBUS 7 硬件故障SIGCHLD 17 子进程状态改变SIGINT 2 终止进程(ctrl+c)SIGIO 29异步通...

2020-04-27 22:20:48 186

原创 基础Day10(内存结构)

全局变量和局部变量静态、声明、函数static 修饰的变量只能在一个文件中使用声明作用域和声明周期内存四区模型代码区:程序指令数据区:(静态区 全局区)(Linux系统编程会将数据区拆开讲解)(1)初始化数据1)、初始化的全局变量2)、初始化的静态全局变量3)、初始化的静态局部变量(2)未初始化数据1)、未初始化的静态局部变量 默认初始值为02)、未...

2020-04-27 12:53:11 128

原创 基础Day0809(指针)

一个很显然的事实是,sizeof结果类型是size_t,它是无符号的,而%d用来输出int,是有符号的。64位系统,这个位数指的是CPU 里面的通用寄存器的数据宽度为64位,也就是说一个地址占二进制位数是64,所以:sizeof(double *)==sizeof(int *)==sizeof(char *)64/8832位系统,同理,它的一个地址占32位二进制空间,sizeof(double...

2020-04-26 00:29:17 113

原创 嵌入式课堂笔记8

嵌入式Linux多任务:进程、线程硬件条件:单个CPU单个核单任务:一个任务执行完毕之后下个任务才能执行多任务:任务的执行可以被中断,中断之后可以执行其他任务;(并发/并行)单核CPU:并发多核CPU:并发、并行进程实现多任务;特点:给每个进程分配独立的地址空间,4G的大小(1G内核,3G用户空间:栈、堆、数据段、代码段);互不干扰进程创建方式:fork >exec函数族 &...

2020-04-14 23:31:33 166

原创 嵌入式课堂笔记7

fprintf表头文件:#include<stdio.h>定义函数:int fprintf(FILE *stream,const char *format,…);函数说明:fprintf()会根据参数format字符串来转换并格式化数据,然后将结果输出到参数stream指定的文件中,直到出现字符串结束(‘\0’)为止。返回值:成功则返回实际输出的字符数,失败则返回-1,错...

2020-04-13 18:14:09 331

原创 基础Day07(函数)

函数函数格式函数返回值类型 函数名(参数列表){函数体return 返回值;}函数定义中参数列表中的数据称为函数的形式参数—形参,形参不能直接赋值在定义函数时指定的形参,必须是,类型+变量的形式形参接收实参,在函数内部进行运算。函数的返回值要和函数返回类型相同程序中无论遇到哪个return,就代表函数结束exit(0)代表程序结束函数的参数列表,可包含多个参数,...

2020-04-10 21:15:28 149

原创 基础Day07(字符串处理函数)

1、gets()和puts()gets():从标准设备上获取一个字符串,这个字符串可以带空格,直到接收到换行字符或者字符串结束标志才停止(不安全)puts():从标准设备上输出一个字符,这个字符串自带‘\n ’换行2、fgets()和fputs()fgets()格式:fgets(字符指针 大小 输入流[stdin])(安全,会接收固定大小的字符串)注意:(1)如果接收少于大小 会将\n...

2020-04-06 20:15:03 144

原创 嵌入式课堂笔记6

在我们之前所学习的C语言编程中,我们所学习的都是无os的语法,是因为之前我们所设计的东西都缺少操作系统,操作系统是可以用来管理资源的,不管是软件还是硬件。嵌入式Linux系统开发:通过内核提供的服务实现相应功能C语言程序设计:无os语法1、Linux系统空间划分:用户空间、内核空间2、划分空间目的:保护内核空间不能被用户空间随便访问3、用户空间不能随便访问内核空间,访问内核空间必须发送系...

2020-04-06 18:56:08 160

原创 嵌入式课堂笔记5

1、变量使用方式:$(变量名)例:变量obj代替“a.o b.o”Make工程管理器中变量定义方式(1)“=”例:a1的值为a.o(2)“:=”例:a1的值是a.o,a2的值是a.o b.oa1的值是b.o,而不是“a.o b.o”:即前面的变量不能通过后面的变量来定义。(3)“+=”例:a1的值是“a.o b.o”,“+=”可以实现给变量追加值。a1的值是“a....

2020-03-30 21:56:25 239

原创 基础Day06(数组案例)

1、*打印等腰三角形2、冒泡排序3、二维数组4、字符串数组5、随机数6、双色球

2020-03-28 20:52:24 98

原创 基础Day02

用户权限:su 切换用户账户格式:【su 用户名 】【su】 切换到root【su root】 切换到root【su -】 切换到root用户 同时切换到root目录添加组:【groupadd 组名】 添加组 需要用户权限删除组【groupdel 组名】 删除组 需要用户权限和清空组成员修改用户所在组:【usermod -g 组名 用户名1 用户名2】需要用户权限...

2020-03-28 12:11:57 95

原创 基础day01

打开终端:ctrl+alt+t清屏:ctrl+l在终端在退出锁定:ctrl+c目录:又称为文件夹,是包含所有的文件目录创建规则:1、大小是2562、不能包含特殊字符3、见名知义路径:是反应目录和文件的位置[绝对位置]文件位置:windows:盘符:\文件夹\文件.avilinux: /home/主文件夹/0520/day01/a[相对位置]当前目录所在位置为 0520 ./d...

2020-03-24 17:04:15 139

原创 嵌入式课堂笔记4

学习笔记4::一、调试器:gdb1、GNU计划的工具;内核调试KGDB2、程序错误分类:1)编译时错误:语法错误2)运行时错误:内存错误,逻辑错误3、gdb的功能:1)运行程序;2)设置断点;3)查看变量值4、hello.c gcc -g hello.c -o hello gdb hello5、使用(list)–tui:layout asm(显示汇编)layout...

2020-03-17 17:06:33 198

转载 gcc-static 的作用

原文链接:https://blog.csdn.net/kksdw/article/details/104797905刚发现,这是一个神奇的命令!比如,现在有个简单的程序。该程序依赖于动态库libpthread.so#include <stdio.h>#include <pthread.h>/* this function is run by the second ...

2020-03-16 20:57:40 338

原创 嵌入式课堂笔记3

嵌入式linux开发工具 vim gcc gdb makegcc编译器:学会制作动态库和静态库及使用与区别gdb调试器:设置断点、单步执行、调试内存错误make工程管理器:编写makefile文件Linux文本编辑器:vim–功能最强大的文本编辑器–拜托鼠标;Vi–vim–gvim:命令行模式、插入模式(i)、低行模式(shift+:)Vim hello.cEsc+shift+:+w...

2020-03-16 18:34:47 121

原创 20个Linux命令

1、shutdown:关机,超级用户使用shoutdown [-h] [-i] [-k] [-m] [-t]2、reboot:重启,超级用户使用reboot [-n] [-w] [-d] [-f] [-i]3、diff:比较两个文件的不同,所有用户diff [参数] 源文件 目标文件4、cat:连接文件并打印到标准输出设备上cat [-AbeEnstTuv] [–help] [–ve...

2020-03-09 20:09:49 142

原创 嵌入式课堂笔记2(简单的命令)

学习笔记2:win32定位是普通用户,主张简单,而Linux定位是开发人员,更讲求效率。这次的学习除了POSIX标准、GPL协议、GNU计划外,还接触了一些目录的作用及命令的用法。Linux文件的分类:–普通文件:以“-”开头,–目录文件:以“d”开头,–设备文件:以“c”开头的为字符设备,以“b”开头的维块设备,–链接文件:以“l”开头,目录及其作用:...

2020-03-09 11:32:14 172

转载 CPU架构分类

转载自:https://www.cnblogs.com/shao-ye/p/10742716.htmlX86架构X86架构是微处理器执行的计算机语言指令集,基于Intel 8086且向后兼容的中央处理器指令集架构,包括Intel 8086、80186、80286、80386以及80486,由于以“86”作为结尾,因此其架构被称为“x86”应用领域:个人计算机、服务器等类别IA:Intel...

2020-03-02 08:34:53 857

原创 嵌入式开发概括

学习笔记一:嵌入式系统课程学习储备知识:C语言+单片机(硬件的工作原理)1、嵌入式技术是什么?嵌入式软件与非嵌入式软件的区别?嵌入式开发与单片机开发的区别?嵌入式开发的优缺点?嵌入式技术是以应用为中心,以计算机技术为基础的系统技术,把软件直接烧录在硬件里,而不是安装在外部储存介质上。即在已有的硬件上移植操作系统,让操作系统去管理软硬件资源,使软硬件耦合度降低,在操作系统之上做上层应用开...

2020-02-26 19:00:20 1919

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除