自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 L16物联网ARM开发--开发环境搭建及平台及GPIO口操作平台介绍(day2、3)

直观的选择STM32微控制器微控制器图形化配置自动处理引脚冲突动态设置确定的时钟树可以动态确定参数设置的外围和中间件模式和初始化功耗预测C代码工程生成器覆盖了STM32微控制器初始化编译软件,如IAR,KEIL,GCC可以独立使用,作为Eclipse插件使用通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。

2022-11-25 20:59:08 1453 1

原创 L16物联网ARM开发--ARM体系结构概述(day1)

Cortex-M0 微处理器主要包括处理器内核、嵌套向量中断控制器(NVIC)、调试子系统、内部总线系统构成。Cortex-M0 微处理器通过精简的高性能总线(AHB-LITE)与外部进行通信。

2022-11-08 22:34:55 725

原创 L9ARM体系结构与接口技术--数据处理指令(day6)

本来执行不了,但是会被替换成另一条指令执行,(效果是一样的)所以不会报错。

2022-10-07 15:41:40 615

原创 L9ARM体系结构与接口技术--ARM指令集仿真环境搭建(day5)

汇编的中符号@ 1.指令: 能够编译生成一条32bit机器码,并且能被CPU识别和执行@ 2.伪指令:本身不是指令,编译器可以将其替换成若干条指令@ 3.伪操作:不会生成指令,只是在编译阶段告诉编译器怎么编译@ ARM指令集@ 1.数据处理指令: 进行数学运算、逻辑运算@ 2.跳转指令: 实现程序的跳转,本质就是修改了pc寄存器@ 3.Load/srore指令:访问(读写)内存@ 4.状态寄存器传送指令:用于访问(读写)CPSR寄存器。

2022-09-30 15:20:43 744

原创 L9ARM体系结构与接口技术--ARM异常处理(day4)

比如处理器遇到哪些事件认为是异常事件遇到异常事件之后处理器有哪些动作、处理器如何跳转到异常处理程序如何处理异常、处理完异常之后又如何返回到被打断的程序继续执行等我们将这些细节的实现称为处理器的异常处理机制。.所以指令流水线的引入以及优化只能使平均指令周期不断的接近1而不可能真正的达到1,且流水线级数越多芯片设计的复杂程度就越高,芯片的功耗就越高。不管几级流水线,PC指向的永远是当前正在取指的指令,而当前正在执行的指令的地址为PC-8(相差两步,c取址时b在解析a正在执行,所以相差8)

2022-09-13 21:04:27 594

原创 L9ARM体系结构与接口技术--ARM寄存器组织(day3)

CPSR寄存器分为四个域,[31:24]为条件域用F表示、[23:16]为状态域用S表示、[15:8]为预留域用X表示、[8:0]为控制域用C表示。注:(带三角的只有自己能用,不带的是通用的)共40(之前是37个,monitor多了3个)个寄存器。在某个特定模式下只能使用当前模式下的寄存器,一个模式下特有的寄存器其他模式下不可使用。> 产生异常时,对应异常模式下的LR会自动保存被异常打断的指令的下。> 产生异常时,对应异常模式下的LR会自动保存被异常打断的指令的下。程序计数器,用于存储当前取址指令的地址。

2022-09-13 15:43:54 590

原创 L9ARM体系结构与接口技术--ARM处理器概论(day2)

ARM的含义ARM(Advanced RISC Machines)有三种含义一个公司的名称、一类处理器的通称、一种技术ARM公司> 成立于1990年11月,前身为Acorn计算机公司> 主要设计ARM系列RISC处理器内核> 授权ARM内核给生产和销售半导体的合作伙伴,ARM公司并不生产芯片> 提供基于ARM架构的开发设计技术软件工具、评估板、调试工具、应用软件总线架构、外围设备单元等ARM产品系列:早先经典处理器包括ARM7、ARM9、ARM11家族。

2022-09-12 22:20:14 901

原创 L9ARM体系结构与接口技术--计算机硬件基础(day1)

目录一、计算机基础知识1、操作系统的作用 2、应用开发(应用软件)3、 底层开发(硬件) 一、Linux层次结构​编辑 Linux子系统二、ARM体系结构与接口技术课程导学 三、计算机基础知识 1、计算机的进制 2、计算机的组成3、总线 四、多级存储结构与地址空间1、三级存储结构 2、地址空间 五、CPU工作原理概述 指令的执行过程作业: 向下管理硬件、向上提供接口(API) 即使用系统提供的接口(API),做上层应用程序的开发即做操作系统本身的开发 1.进程管理:管理进程的创建、调度、销毁等

2022-09-12 16:41:20 811

原创 L8Linux应用开发综合实战-在线词典项目(day1、2、3)

Ø在线英英词典Ø项目功能描述Ø用户注册和登录验证Ø服务器端将用户信息和历史记录保存在数据库中。客户端输入用户名和密码,服务器端在数据库中查找、匹配,返回结果Ø单词在线翻译Ø根据客户端输入的单词在字典文件中搜索Ø历史记录查询Ø项目分析。

2022-09-11 23:10:10 2540 2

原创 L7数据库开发-嵌入式数据库之sqlite3(D1、D2)

能够输入计算机并能被计算机程序识别和处理的信息集合数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。

2022-09-06 23:01:19 1253

原创 L6网络编程--网络编程扩展(day8、day9)

IPv4中使用gethostbyname()函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。if (select(sockfd+1, &rdfs, NULL, NULL, &tv) > 0) // socket就绪。(作业要求:做作业的时候不要再翻看视频上的教程,对函数理解不明白的全部通过man手册去查看,(作业要求:做作业的时候不要再翻看视频上的教程,对函数理解不明白的全部通过man手册去查看,

2022-09-04 21:33:02 1225

原创 L6网络编程--TCP、IP协议原理(day7)

使用过程: 详见:包括IP和TCPTCP包头格式详解_xiongping_的博客-CSDN博客_tcp包头结构https://blog.csdn.net/xiongping_/article/details/47746953版本4 bit首部长度4 bit服务类型(TOS)8 bit总长度(字节数)16 bit标识16 bit标志3 bit片偏移13 bit生成时间(TTL)8 bit协议8 bit首部检验和16 bit源IP地址32 bit目的IP地址32 bit选项(可选)数据4bit的版本字段表示I

2022-08-03 22:58:56 564

原创 L6网络编程--IO多路复用(day6)

目录一、I/O模型二、阻塞I/O模式 :1、读阻塞 2、写阻塞 三、非阻塞模式I/O1、非阻塞模式的实现fcntl()函数四、多路复用I/O 基本常识: 多路复用服务器模型:​编辑 select()/poll()实现多路复用函数拓展:strncasecmp()函数:比较字符串的前n个字符​编辑在客户端端采用select来实现客户端的多路并发 day6作业:答:第一问 :参考第二问:参考IO 多路复用 之 (select/poll/epoll) (element-ui.cn)http://element-ui

2022-06-24 21:14:28 1066

原创 L6网络编程--UDP编程(day5)

目录一、 TCP编程的函数API(继续)网络发送数据:send()/write()网络接收数据:recv()/read()二、UDP编程的API day5作业:ssize_t send(int socket, const void *buffer, size_t length, int flags);返回值: 成功:实际发送的字节数 失败:-1, 并设置errno头文件: #include #include...

2022-06-21 17:24:30 687

原创 L6网络编程--TCP编程API及并发服务器多线程编程(day3、4)

目录一、socket()函数 (创建套接字)二、bind()函数​编辑 示例代码:地址结构的一般用法:三、listen()函数 把主动套接字变成被动套接字四、accept()函数 阻塞等待客户端连接请求五、connect() 客户端的连接函数 六、编程实例net.h:server.c:day3作业七、并发服务器多进程/线程编程 编译问题:1 TCP编程API:代码: net.h: day4作业: 作业编译遇到的问题:#include ......

2022-06-17 22:21:43 1524

原创 L6 网络编程--网络基础(day1、2)

目录一、网络发展历史和分层Internet的历史:网络互联促成了TCP/IP协议的产生网络的体系结构:OSI开放系统互联模型:TCP/IP协议族的体系结构:二、网络各层协议解释各层典型的协议网络接口与物理层:网络层:传输层:应用层:三、网络的封包和拆包TCP/IP协议通信模型 四、网络预备知识一、Socket1、Socket简介3、Socket的位置二、IP地址IP地址是Internet中主机的标识IP地址分类:端口号:字节序:子网掩码作业day1:day2.........

2022-06-08 14:32:35 1977

原创 L5进程、线程和进程间通信--消息队列和信号灯(day9)

目录一、消息队列一、概念二、 消息队列的使用1、打开/创建消息队列 msgget2、向消息队列发送消息 msgsnd3、从消息队列接收消息 msgrcv4、控制消息队列 msgctl三、信号灯/信号量(semaphore)posix信号量:Posix 有名信号灯和无名信号灯使用:有名信号灯打开:有名信号灯关闭有名信号灯的删除无名信号灯初始化无名信号灯销毁信号灯P操作信号灯V操作无名信号灯 :System V 信号灯使用: 作业:编写实现两个进程实现消息队列通信的程序消息队列是System V IPC对象

2022-06-05 22:13:05 630

原创 L5进程、线程和进程间通信--信号机制(day8)

目录一、信号机制概念:信号的产生:信号处理方式:常用信号: 信号相关命令信号的函数二、 定时器函数三、信号的捕捉信号捕捉过程: 定时器的实现 信号SIGCHLD的使用(回收子进程)四、信号集、信号的阻塞信号的阻塞概念:信号的”阻塞“是一个开关动作,指的是阻止信号被处理,但不是阻止信号产生。​编辑 信号的状态:信号集操作函数 作业:实现信号回收子进程程序信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 linux内核通过信号通知用户进程,不同的信号类型代表不同的事件 Linux对早期的unix信

2022-06-04 19:43:02 580

原创 L5进程、线程和进程间通信--共享内存(day7)

目录一、共享内存的基本使用一、内存映射1、概念2、mmap()的优点: 4、函数定义二、共享内存实现进程间通信 三、mmap()映射的种类 四:System V共享内存共享内存: 共享内存使用步骤:1.key共享内存创建 – shmget共享内存映射 – shmat 共享内存撤销映射 – shmdt共享内存控制 – shmctl(删除共享内存)作业:自己实现两个进程使用内存映射通信程序,并提交实验截图共享内存可以通过mmap()映射普通文件,使一个磁盘文件与内存中的一个缓冲区相映射,进程可以像访问普通内存

2022-06-01 22:47:48 543

原创 L5进程、线程和进程间通信--有名管道和无名管道(day6)

一、进程间通信介绍概念:就是进程和进程之间交换信息。常用通信方式无名管道(pipe)有名管道 (fifo)信号(signal)共享内存(mmap)套接字(socket)过时的IPC通信方式System V IPC共享内存(share memory)消息队列(message queue)信号灯集(semaphore set)二、无名管道无名管道具有如下特点:只能用于具有亲缘关系的进程之间的通信单工的通信模式,具有固定的读端和写端无名管道创建时会返回两个文件描述

2022-05-31 18:07:34 698

原创 L5进程、线程和进程间通信--条件变量和线程池(day5)

一、条件变量应用场景:生产者消费者问题,是线程同步的一种手段。必要性:为了实现等待某个资源,让线程休眠。提高运行效率int pthread_cond_wait(pthread_cond_t *restrict cond,pthread_mutex_t *restrict mutex); //等待资源int pthread_cond_timedwait(pthread_cond_t *restrict cond,pthread_mutex_t *restrict mutex, ...

2022-05-30 12:29:22 528

原创 L5进程、线程和进程间通信--线程的取消和互斥(day4)

一、线程的取消意义:随时杀掉一个线程int pthread_cancel(pthread_t thread);运行段错误调试:可以使用gdb调试使用gdb 运行代码,gdb ./youapp(gdb) run等待出现Thread 1 "pcancel" received signal SIGSEGV, Segmentation fault.输入命令bt(打印调用栈)(gdb) bt #0 0x00007ffff783ecd0 in vfprintf () fr...

2022-05-26 23:00:08 642

原创 L5进程、线程和进程间通信--线程的创建和回收(day3)

一、线程的概念1、进程进程有独立的地址空间Linux为每个进程创建task_struct每个进程都参与内核调度,互不影响2、线程进程在切换时系统开销大很多操作系统引入了轻量级进程LWP同一进程中的线程共享相同地址空间Linux不区分进程、线程3、线程特点通常线程指的是共享相同地址 空间的多个任务使用多线程的好处大大提高了任务切换的效率避免了额外的TLB & cache的刷新4、线程共享资源和线程私有资源一个进程中的多个线程共享以下资源..

2022-05-25 08:50:07 593

原创 L5进程、线程和进程间通信---exec函数族和守护进程(day2)

一、exec函数族进程调用exec函数族执行某个程序进程当前内容被指定的程序替换实现让父子进程执行不同的程序父进程创建子进程子进程调用exec函数族 父进程不受影响背景:fork创建进程之后,子进程和父进程执行相同的代码,但是在实际开发当中,我们希望父子进程执行不同的代码。作用:执行指定的程序1、进程- execl/execlp#include <unistd.h> int execl(const char *path, const char *arg...

2022-05-20 18:00:31 512

原创 L5进程、线程和进程间通信——进程的创建和回收(day1)

一、进程概念程序:存放在磁盘上的指令和数据的有序集合(文件)静态的进程:执行一个程序所分配的资源的总称进程是程序的一次执行过程动态的,包括创建、调度、执行和消亡程序在RAM里,进程在ROM(磁盘)里1、进程内容BSS段:存放程序中未初始化的全局变量数据段:已初始化的全局变量代码段:程序执行代码(机器码) 。这部分区域的大小在程序运行前就已经确定,在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。堆(heap):存放进程运行中被动态分配的内存段 。malloc等函数分配内

2022-05-19 15:45:08 954 1

原创 L4文件IO-目录操作和库的使用(day5)

2022-05-17 21:57:27 577

原创 L4文件IO-文件IO(day4)

目录一、文件IO的概念什么是文件I/O? POSIX接口核心概念是文件描述符(fd)二、 文件IO的打开和关闭1、文件IO-open2、文件IO-close三、文件的读写和定位1、文件IO-read2、文件IO-write3、文件IO-lseekday4作业:一、文件IO的概念什么是文件I/O? 文件IO,又称(系统IO,系统调用) 是操作系统提供的API接口函数。POSIX接口posix(可移植操作系统接口)定义的一组...

2022-05-12 22:04:15 1279

原创 L4文件IO-流刷新定位、格式化输入输出(day3)

一、文件流的刷新和定位一、标准IO-刷新流int fflush(FILE *fp); //(输出到的位置)返回值:成功时返回0;出错时返回EOF功能:将流缓冲区中的数据写入实际的文件Linux下只能刷新输出缓冲区,输入缓冲区丢弃如果输出到屏幕使用fflush(stdout)#include<stdio.h>#include<stdlib.h>int main(int argc, const char *argv[]){ printf("abcde..

2022-05-11 23:05:07 483

原创 L4文件IO-标准IO(day1、2)

一、标准I/O介绍(输入输出)标准I/O由ANSI C标准定义主流操作系统上都实现了C库 标准I/O通过缓冲机制减少系统调用,实现更高的效率一、文件的概念和类型 概念: 一组相关数据的有序集合 文件类型: 常规文件 r (磁盘上的数据) 目录文件 d (文件夹) 字符设备文件 c (键盘、鼠标) 块设备文件 b (U盘、磁盘) 管道文件 p 套接字文件 s 符号链接文件 l ...

2022-05-10 22:21:47 896

原创 L19python-核心编程-飞机大战(day3、4)

目录问题一:pygame中Rect(left, top, width, height)的参数详解问题二:python - pygame 中 rect.move() 和 rect.move_ip 的区别运行效果:1、game_main.py2、enemy_plane.py3、gane_map.py4、hero_plane.py5、plane_bullet.py6、game_score.py问题一:pygame中Rect(left, top, width, heigh

2022-05-03 20:07:55 2066

原创 L19-python核心编程-面向对象编程(day1、2)

一、面向对象编程的基本介绍1、解决菜鸟买电脑的故事方式一1)在网上查找资料2)根据自己预算和需求定电脑的型号 MacBook 15 顶配 1W83)去市场找到苹果店各种店无法甄别真假 随便找了一家4)找到业务员,业务员推荐了另外一款 配置更高价格便宜,也是苹果系统的 1W5)砍价30分钟 付款99996)成交方式二1)找一个靠谱的电脑高手2)给钱交易买电脑的第一种方式:强调的是步骤、过程、每一步都是自己亲自去实现的这种解决问题的思路我们就叫做面向过程买电脑的第二种方式:强调

2022-04-25 22:27:32 1919

原创 L18-python语法基础-储存文件的操作(day8)

一、文件操作介绍文件 : python中文件是对象Liunx 文件 : 一切设备都可以看成是文件 磁盘文件 管道 网络Socket文件属性: 读 写 执行权限文件的作用:就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力二、文件的打开和关闭python文件打开方法:open(name,mode[buf])f = open('test.txt', 'w')文件打开方法:with open(‘test.txt’,...

2022-04-23 14:29:54 2929

原创 L18-python基础-函数(d6、7)

一、函数的定义与调用1、定义 :具有独立功能的代码块组成的一个模块def 函数名():代码: def test(): a = 4 b = 8 print("%d"%(a+b))2、函数调用函数名() def sum(): a = 4 b = 8 print("%d"%(a+b)) sum() 3、函数的文...

2022-04-22 16:18:37 961

原创 L18-python语法基础-数据类型的基本操作(d5)

一、字符串(string)的相关操作Python中在双引号或者单引号中的数据,称为字符串。 hi = 'hello world!' fd = "饺子" 输出字符串print print("%s"%hi) print( "今天午饭是%s"%fd)输入字符串input userName = input('请输入用户名:') passWord = input('请输入密码:')1、下标和切片下标 例子:...

2022-04-21 17:12:48 866

原创 L18-python语法基础-条件与循环语句(day4)

目录今日内容一、python条件语句一、if条件语句二、elif的使用三、if嵌套使用四、猜拳小游戏二、python循环语句一、while循环二、while循环嵌套三、for循环四、break和continued4作业今日内容一、python条件语句一、if条件语句Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。Python程序语言指定: 任何非0和非空(null)值为true...

2022-04-19 23:03:29 493

原创 L18-python语法基础-基础语法(day2、3)

python基础知识一、注释:过用自己熟悉的语言,在程序中对某些代码进行标注说明单行注释:以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用多行注释:以'''开头,并且'''结尾, 中间的多行就是注释内容Python 多行语句:Python语句中一般以新行作为为语句的结束符使用斜杠( \)将一行的语句分为多行显示total = item_one + \ item_two + \ item_three语句中包含

2022-04-19 15:40:31 1123

原创 L3数据结构-排序(day13)

目录一、排序的原理一、排序的定义插入排序:交换排序:二、快速排序的实现d13作业:一、排序的原理一、排序的定义稳定排序和非稳定排序设文件f=(R1……Ri……Rj……Rn)中记录Ri、Rj(i≠j,i、j=1……n)的key相等,即Ki=Kj。若在排序前Ri领先于Rj,排序后Ri仍领先于Rj,则称这种排序是稳定的,其含义是它没有破坏原本已有序的次序。内排序和外排序若待排文件f在计算机的内存储器中,且排序过程也在内存中进行,称这种排序为内排序。若排序中的文.

2022-04-14 22:31:36 737

原创 L3数据结构-查找(day12)

一、查找的原理1.查找的概念设记录表L=(R1 R2……Rn),其中Ri(l≤i≤n)为记录,对给定的某个值k,在表L中确定key=k的记录的过程,称为查找。若表L中存在一个记录Ri的key=k,记为Ri.key=k,则查找成功,返回该记录在表L中的序号i(或Ri 的地址),否则(查找失败)返回0(或空地址Null)。查找方法有顺序查找、折半查找、分块查找、Hash表查找等等。查找算法的优劣将影响到计算机的使用效率,应根据应用场合选择相应的查找算法。对查找算法,主要分析其T(n)。查找过程

2022-04-14 20:19:05 418

原创 L3数据结构-树及实现(day10、11)

一、树的概念树(Tree)是n(n≥0)个节点的有限集合T,它满足两个条件 :有且仅有一个特定的称为根(Root)的节点;其余的节点可以分为m(m≥0)个互不相交的有限集合T1、T2、……、Tm,其中每一个集合又是一棵树,并称为其根的子树表示方法 :树形表示法、目录表示法。一个节点的子树的个数称为该节点的度数一棵树的度数是指该树中节点的最大度数。度数为零的节点称为树叶或终端节点度数不为零的节点称为分支节点除根节点外的分支节点称为内部节点。一个节点系列k1,k2, ……,ki,k.

2022-04-13 10:49:16 770

原创 数据结构-队列实现及其应用(day8、9)

一、顺序队列一、顺序队列的原理队列是限制在两端进行插入操作和删除操作的线性表允许进行存入操作的一端称为“队尾”允许进行删除操作的一端称为“队头”当线性表中没有元素时,称为“空队”特点 :先进先出(FIFO)操作功能:创建队列 :CreateQueue ()清空队列 :ClearQueue (Q)判断队列空 :EmptyQueue(Q)判断队列满 :FullQueue(Q)入队 :EnQueue (Q , x)出队 :DeQueue(Q)二、顺序队列的创建 ...

2022-04-12 17:20:31 1616 3

python飞机大战素材

python飞机大战素材

2022-05-03

空空如也

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

TA关注的人

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