
Linux开发
文章平均质量分 81
onnx
程序员的每日一拱!
平常喜欢分享项目实践经验,知识点,实战项目,欢迎留言,评论,沟通交流,一起进步。
吾等采石之人,当心怀大教堂之愿景。
愿我们奔赴在自己的热爱里!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
嵌入式系统习题库及答案
嵌入式系统习题库及答案## 1.选择题1. 以下哪个不是嵌入式系统的设计的三个阶段之一:(A)A 分析B 设计C 实现D 测试2. 以下哪个不是RISC架构的ARM微处理器的一般特点:(C)A 体积小、低功耗B 大量使用寄存器C采用可变长度的指令格式,灵活高效D 寻址方式灵活简3. 通常所讲的交叉编译就是在X86架构的宿主机上生成适用于ARM架构的( A )格式的可执行代码。原创 2024-06-25 09:45:00 · 1480 阅读 · 0 评论 -
使用vscode
进入 ubantu :点击 ubantu software进入后就可以看见这个点击搜索图标 输入code就可以查到了进入到vs code中 点击插件的图标, 下载c/c++的插件,chinese语言插件点击终端就可以会弹出bash的终端就可以使用Linux一下操作命令了点击文件 , 打开文件夹 , 找到自己的目录我拿test目录做实验 然后点击 OK。原创 2024-06-03 18:45:00 · 1120 阅读 · 0 评论 -
ubuntu使用
进入 vmware点击 创建浏览 找到 系统镜像文件, 我把它放在了 vmware文件下设置好信息 , 记住好密码 每次开机都要输入解压在那 设置好位置, 我设在 vmware 下创建了一个文件下默认即可默认即可正在安装中, 时间比较久, 准备好咖啡 , 谈谈心输入设置好的密码。原创 2024-06-02 14:30:00 · 1490 阅读 · 0 评论 -
ubuntu--配置samba进行win和Linux文件访问
配置 samba 就进行 win 和Linux 进行文件访问 , 在win的环境下 就访问Linux的代码 , 在win的环境下进行 code 的编码 , 是不是很 nice!添加用户(下面的 cpucode 是我的用户名,之后会需要设置samba的密码 )对配置进行了更改后,需要重启 samba 服务后更改的配置才会生效。输入samba用户名及密码访问即可看到共享。在smb.conf文件最后边加入配置信息。查看Linux ubuntu 的id地址。只要修改 cpucode 为你的用户名。原创 2024-06-03 09:30:00 · 596 阅读 · 0 评论 -
ubuntu--Linux使用
Linux 就是一个操作系统,与 Windows 和 Mac OS 一样是。操作系统在整个计算机系统中的角色 :Linux 主要是和那两层。使用的操作系统还包含一些在其上运行的应用程序,比如vim、google、vscode等。原创 2024-06-02 09:45:00 · 1386 阅读 · 0 评论 -
ubuntu--Linux运行时格式
显示 fileformat=dos。打开那个执行错误的 sh脚本文件。原创 2024-06-01 16:30:00 · 205 阅读 · 0 评论 -
进程的 概念、 组成、特征
在进程运行的过程中, 可能会请求等待某个事件的发生(如等待某种系统资源的分配, 或者等待其他进程的响应)。在这个事件发生之前, 进程无法继续往下执行, 此时操作系统会让这个进程下CPU, 并让它进入“阻塞态”当CPU空闲时, 又会选择另一个“” , 操作系统会让该进程下CPU,并回收内存空间等资源, 最后还要回收该进程的PCB。为了对同一个状态下的各个进程进行统一的管理,操作系统会将各个进程的PCB组织起来。, 当进程被创建时, 操作系统为其创建PCB, 当进程结束时, 会回收其PCB。原创 2024-05-19 14:45:00 · 1358 阅读 · 0 评论 -
微型计算机组成结构
任何一个系统都可认为由组成部分用于接收进入系统的信息或数据 , 经过中心加工后 , 再由部分送出部分为整个系统提供操作运行的能源供给,包括输入和输出部分操作所需要的能量计算机系统的处理中心与部分之间的通道或接口都是使用的计算机系统可分为硬件部分和软件部分,但两者之间互相依存。原创 2024-05-18 10:15:00 · 414 阅读 · 0 评论 -
与网络无关的Linux--修改主机名、Ret Hat Linux 启动到文字界面\(不启动 xwindow\)、自动升级更新问题
一般还要修改 /etc/hosts 文件中的主机名。这样,无论你是否重启,主机名都修改成功。原创 2024-05-17 10:18:56 · 432 阅读 · 0 评论 -
Linux设备驱动开发详解笔记
设备驱动提供了硬件和应用软件之间的纽带应用软件时只需 调用系统软件的应用编程接口(API) 就可让硬件去完成要求的工作。原创 2024-05-17 10:16:54 · 1336 阅读 · 0 评论 -
Linux设备驱动开发详解
设备驱动提供了硬件和应用软件之间的纽带应用软件时只需 调用系统软件的应用编程接口(API) 就可让硬件去完成要求的工作。原创 2024-05-16 08:30:00 · 2058 阅读 · 0 评论 -
AT&T ASM Syntax
开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。如果你是计算机专业的话,在大学里你应该学习过Intel格式的8086/80386汇编,这里就不再讨论。原创 2024-05-16 13:45:00 · 1996 阅读 · 0 评论 -
Linux 块设备驱动
是针对存储设备的,比如 SD 卡、 EMMC、 NAND Flash、 Nor Flash、 SPI Flash、机械硬盘、固态硬盘等所以其实就是这些存储设备驱动与字符设备相比 :块设备只能以进行读写访问,块是 linux 虚拟文件系统**(VFS**)基本的数据传输单位。字符设备是以进行数据传输的,不需要缓冲。块设备在结构上是可以进行的,对于这些设备的读写都是进行的,块设备一般都是使用来暂时存放数据,等到条件成熟后 , 在一次性将缓冲区中的数据写入块设备中。原创 2024-05-15 13:15:00 · 563 阅读 · 0 评论 -
嵌入式文件系统
在计算机系统中, 需要用到大量的程序和数据, 它们大部分以文件的形式存放在外部存储当中, 根据需要可随时调入内存使用必须熟悉外存的物理特性了解各种存储文件的属性记录文件在外存上的存储位置在多用户环境下, 必须能保证数据的安全性和一致性为了解决文件的管理问题, 在操作系统中出现了—文件系统负责存储器中文件的组织和分配提高对存储器资源的利用效率将文件的存取、 共享和保护等功能提供给操作系统和用户简化用户对文件的各项操作保证在多用户环境下文件的安全性和一致性。原创 2024-05-15 10:45:00 · 1429 阅读 · 0 评论 -
裸机工程开发调试
s5p6818寻址空间采用统一编址方式进行管理寻址空间映射图:Normal I/O就是我们常说的特殊功能寄存器GPIO等内容在这里进行配置iROM和iRAM启动, 是可以由BootMode相关引脚选择的多种程序加载方式, 即是从内部还是从外部等途径来加载程序(P94P93和P95决定了外部程序的加载顺序RST_CFGn对应的引脚通过查表和原理图来最终确定程序加载启动流程GNU组织不仅给我们带来了许多开源软件工程, 还带来了强大的GNU编译工具预处理器cppC编译器gccC++编译器g++汇编器as。原创 2024-05-14 11:00:00 · 950 阅读 · 0 评论 -
Linux字符设备驱动设计
计算机系统中存在着大量的设备, 操作系统要求能够控制和管理这些硬件, 而驱动就是帮助操作系统完成这个任务。驱动相当于硬件的接口, 它直接操作、 控制着我们的硬件, 操作系统通过驱动这个接口才能管理硬件。原创 2024-05-13 16:45:00 · 909 阅读 · 0 评论 -
Linux设备驱动核心
信号量采用睡眠等待机制: 如果有一个任务试图获得一个已经被占用的信号量时, 信号量会将其推到一个等待队列中睡眠, 当持有信号量的进程将信号量释放后, 处于等待队列中的那个任务被唤醒, 并将获得该信号量。中断上下文: 中断服务程序执行时所处的内核环境,CPU的所有寄存器的值、 中断相关的硬件参数( 中断控制器的寄存器中的值) 、 被打断进程的信息等。如果CPU接收到一个中断, 它会停止一切工作,调用中断处理函数, 因为进程调度依赖中断, 此时进程调度也会停止, 所以就要求我们的中断处理一定要快。原创 2024-05-13 09:00:00 · 998 阅读 · 0 评论 -
C++学习笔记总结练习:EffectiveSTL
标准容器:指的是c++标准化后的容器,遵从c++的标准,不同的编译器都支持,代码移植能力强。对于多态的函数对象,不能使用虚函数,因为参数类型是基类,而实参类型是派生类的,在传递的过程中会产生剥离问题:在对象拷贝的过程中,派生部分可能会被去掉,而仅保留基类部分。当对vector,list,deque进行元素的插入或者删除操作时,现有的元素的位置通常会被移动(拷贝)。上面提到,STL中采用的是拷贝的方法,auto_ptr对象进行拷贝时会将原来的对象所有权设置交给新对象,然后将原来对象所有权设为为NULL。原创 2023-08-18 18:00:00 · 1594 阅读 · 0 评论 -
C++学习笔记总结练习:LRU算法
这里采用双向链表的原因是:如果采用普通的单链表,则删除节点的时候需要从表头开始遍历查找,效率为O(n),采用双向链表可以直接改变节点的前驱的指针指向进行删除达到O(1)的效率。缓存不仅可以加速用户的访问,同时也可以降低服务器的负载和压力。像浏览器的缓存策略、memcached的缓存策略、Redis缓存策略都是使用LRU这个算法,LRU算法会将近期最不会访问的数据淘汰掉。LRU如此流行的原因是实现比较简单,而且对于实际问题也很实用,良好的运行时性能,命中率较高。原创 2023-08-17 12:00:00 · 222 阅读 · 0 评论 -
C++学习笔记总结练习:复数类complex的实现
private:// 实部// 虚部public:// 默认构造函数real = 0.0;// 带参构造函数real = r;// 获取实部// 获取虚部// 重载加法运算符// 重载减法运算符// 重载乘法运算符// 重载输出运算符return os;return 0;在上面的示例中,Complex类封装了两个私有成员变量real和imaginary,分别表示复数的实部和虚部。原创 2023-08-16 15:47:22 · 1876 阅读 · 2 评论 -
C++学习笔记总结练习:内存分配器编程实现
除了默认分配器和自定义分配器,还有一些第三方库提供了高级的内存分配器。例如,Google的tcmalloc、Facebook的jemalloc等都是常用的第三方内存分配器。开发人员可以使用默认分配器、自定义分配器或第三方库提供的分配器来满足程序的内存需求。在C++中,有几种内存分配器可供选择,包括操作系统提供的默认分配器、自定义分配器和第三方库提供的分配器。默认情况下,C++使用操作系统提供的默认分配器来分配和释放内存。这些分配器通常是基于堆的,使用malloc()和free()等函数来分配和释放内存。原创 2023-08-14 17:45:00 · 336 阅读 · 0 评论 -
C++学习笔记总结练习:并发控制-线程同步与数据访问-mutex和lock
future的目的是处理线程的返回值和异常。因为它只能携带一次数据返回。这个明显是解决生产者和消费者问题。或者读、写问题。因为资源有数量限制。而之前的mutex只有互斥限制,也就是说,mutex与lock只能控制数量为1的消费者互斥访问问题。condition variable控制数量大于1 的生产和消费问题。原创 2023-08-14 08:30:00 · 300 阅读 · 0 评论 -
C++学习笔记总结练习:并发机制
标准库提供了一些工具来获取异步任务(即在单独的线程中启动的函数)的返回值,并捕捉其所抛出的异常。这些值在共享状态中传递,其中异步任务可以写入其返回值或存储异常,而且可以由持有该引用该共享态的 std::future 或 std::shared_future 实例的线程检验、等待或是操作这个状态。提供了异步通信的方法。使用thread启动线程的话,需要手动设置promise实现信号发出,接触future.get的阻塞。libuv可以实现跨平台的高性能通信。事件驱动的IO主要通过第三方库实现包括以下几种。原创 2023-08-13 15:30:00 · 165 阅读 · 0 评论 -
C++学习笔记总结:算法
参考文献。原创 2023-08-05 12:30:00 · 220 阅读 · 0 评论 -
C++学习笔记总结练习:迭代器
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9AGG90nm-1690857968361)(image/2021-03-06-14-50-48.png)]除了容器定义的迭代器之外,标准库头文件iterator总额外定义了几种迭代器。接受一个容器,生成迭代器,能够向容器中的指定位置添加元素。从容器的尾元素向首元素反向移动的迭代器。遍历方法有三种:下标遍历、范围for遍历、迭代器遍历。接受输入输出流,使用迭代器的方式读取数据。容器操作可能会使迭代器实效。原创 2023-08-05 08:15:00 · 158 阅读 · 0 评论 -
C++学习笔记总结练习:容器适配器
适配器 (adaptor) 是标准库的一个通用概念。容器、类和函数都有适配器。本质上, 一个适配器是一种机制, 能使某种事物的行为看起来像另外一种事物一样。。一个容器适配器接受一种己有的容器类型, 使其行为看起来像一利1不同的类型。添加额外操作,实现某种特殊的数据结构。自定义重载比较运算符>原创 2023-08-04 17:00:00 · 146 阅读 · 0 评论 -
C++学习笔记总结练习:关联容器
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UM8eG4MG-1690857764720)(image/2021-03-06-16-32-02.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wRL2El2j-1690857764720)(image/2021-03-06-16-32-39.png)]原创 2023-08-04 07:45:00 · 114 阅读 · 0 评论 -
C++学习笔记总结:顺序容器
有可供调用的无参构造函数(默认的或自定义的);有可用的拷贝赋值函数(默认的或自定义的)原创 2023-08-03 15:15:00 · 155 阅读 · 0 评论 -
C++学习笔记总结练习--容器
新标准库的容器壁使用原始的数组实现的数据结构要快很多。经过了精心的优化。原创 2023-08-03 09:15:00 · 241 阅读 · 0 评论 -
C++11 通用工具
/获取t1的第一个元素//元素类型自动推导duraton由一个数值和ratio(时间比例)共同组成。// 时间单位*计数数量=持续时间//自定义时间单位//定义好的时间单位seconds;minutes;hours;//这些都是可以使用的duration常量//表示一天的durationClock定义了一个epoch和一个tick周期。用来表示时间的起点和时间的计数方式。一个利用duration、epoch、timepoint计时的工具。原创 2023-08-02 20:00:00 · 460 阅读 · 0 评论 -
C++标准库介绍
参考文献。原创 2023-08-02 08:00:00 · 114 阅读 · 0 评论 -
搞懂CMake编译
去变量SRC_LIST_CPP 与SRC_LIST_C 指定生成libmyprint 动态库 默认生成静态库 SHARED指定生成库类型为动态库。指定目录:include_directories link_directories。设置变量:set file aux_source_directory。生成文件 add_executable add_library。链接库 target_link_libraries。#指定hello 链接库myprint。原创 2023-08-01 10:20:04 · 408 阅读 · 0 评论