自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(439)
  • 资源 (24)
  • 收藏
  • 关注

原创 详解linux内核链表list_head及其接口应用

摘要:本文介绍了内核代码中经常使用的list_head链表的原理,及其它的各种接口函数(宏函数)的使用方法和技巧,对理解Linux内核数据结构和代码有较好参考意义。

2022-09-14 23:23:33 565 3

原创 虚拟机双网卡设置(外网+内网)

本文主要介绍了在开发过程中,实现开发板利用网线直连电脑实现开发工作,而电脑又可以通过另一个无线或有线网卡正常连接互联网。

2022-09-11 22:17:13 11259 1

原创 软考高级系统架构设计师你想知道的全在这

2021年准备参加软考获取高级职业技术资格认证的小伙伴咱们约起吧?今年刚参加完系分考试,不知道有没有通过,但感觉应该差不多,这里给自己点个赞!自软考系列文章发表之后有很多准备参加软考的小伙伴加我微信,关注我的微博,也有很多因此成了好朋友,甚至是同事。自前年开始,我会在CSDN、简书、GITHUB等平台将我在工作、学习的道路上遇到的各种问题都写成一篇技术博客,因为这样既能给日后查找资料方便,也能进一步提高自己的文档编写能力,还能广交朋友,拓展人脉,何乐而不为呢。

2020-11-12 23:00:28 13560 18

原创 2020软考高级系统分析师,你想知道的全在这

2020年准备参加软考获取高级职业技术资格认证的小伙伴咱们约起吧?!去年刚参加完嵌入式系统设计师考试,并以高分通过,这里给自己点个赞!自这篇发表之后有很多致力于嵌入式开发的小伙伴加我微信,关注我的微博,也有很多因此成了好朋友,甚至是同事。自前年开始,我会在CSDN、简书、GITHUB等平台将我在学习嵌入式的道路上遇到的各种问题都写成一篇技术博客,因为这样既能给日后查找资料方便,也能进一步提高自己的文档编写能力,还能广交朋友,拓展人脉,何乐而不为呢。当然也希望大家能和我一样,把自己在学习中的问题写成博客放在

2020-08-16 22:36:29 3957 1

原创 2022年备考[嵌入式系统设计师]你准备好了吗?

2020年准备参加软考获取中级职业技术资格认证的小伙伴咱们约起吧?!去年刚参加完嵌入式系统设计师考试,并以高分通过,这里给自己点个赞!自这篇发表之后有很多致力于嵌入式开发的小伙伴加我微信,关注我的微博,也有很多因此成了好朋友,甚至是同事。自前年开始,我会在CSDN、简书、GITHUB等平台将我在学习嵌入式的道路上遇到的各种问题都写成一篇技术博客,因为这样既能给日后查找资料方便,也能进一步提高自己的文档编写能力,还能广交朋友,拓展人脉,何乐而不为呢。当然也希望大家能和我一样,把自己在学习中的问题写成博客放在

2020-07-23 22:56:54 4953

原创 经典生产者-消费者问题解析

摘要:生产者和消费者问题在现实系统中是很普遍的。例如在一个多媒体系统中,生产者编码视频帧,而消费者消费(解码)视频帧,缓冲区的目的就是减少视频流的抖动。又如在图形用户接口设计中,生产者检测到鼠标和键盘事件,并将其插入到缓冲区中。消费者以某种基于优先级的方式从缓冲区中取出这些事件并显示在屏幕上。生产者和消费者模式共享一个有n个槽位的有限缓冲区。

2020-04-09 14:35:33 13187 2

原创 Linux下的网络编程看这篇就够了

【摘要】本文主要讲述了网络编程的基本概念,包括各种协议、地址、套接字等,重点叙述了套接字的地址结构、操作函数及其编程方法和示例。

2020-03-26 11:28:31 604

原创 Linux中的信号处理机制

信号就是一条消息,通知进程系统中发生了什么事,每种信号都对应着某种系统事件。一般的底层硬件异常是由内核的异常处理程序处理的,它对用户进程来说是透明的。而信号机制,提供了一种方法通知用户进程发生了这些异常。例如,一个进程试图除0,会引发内核向他发送SIGFPE信号;执行非法指令会引发SIGILL信号;非法内存访问引发SIGSEGV;当你从键盘上键入Ctrl + C会引发SIGINT;当某个子进程结...

2020-03-21 23:38:00 591

原创 16_嵌入式文件系统选择

在进行嵌入式系统开发过程中,文件系统的选择和制作与硬件条件息息相关。根据硬件(Flash 或 RAM)的特性来指定相应的文件系统,能够充分利用硬件资源及提高系统效率。因为目前大部分的嵌入式文件系统都是建立在 Flash 之上,下面介绍 Flash 硬件方案比较与 Flash 的特点。

2024-04-02 10:48:17 530

原创 15_Linux内核升级

如果这一步省略,会在移植到开发板后 Bootloader 引导时出现机器 ID 错误的现象。出错的 ID 号将以十六进制给出, 将其转化为十进制, 替换 mach-types文件中的对应项。这里移植后报的错误是 0xFB,即对应十进制 251。查看对 System Type(系统类型) 的修改情况以确认进行正确的配置。将所有文件复制到工作目录下,然后解压内核文件和编译器文件。实际上就是完成对内核的配置。编译内核生成映像文件。

2024-04-02 10:47:21 446

原创 14_Linux内核裁剪及编译

经过对内核的认识和对裁剪配置项的了解,接下来实际操作。针对 S3C2440 开发板进行裁剪 Linux 内核。

2024-03-26 13:13:09 850

原创 13_Linux内核配置选项

内核配置通常是对内核支持的各个功能进行取舍配置,将配置的方案保存到 configure文件中。在编译内核的时候,就会根据此配置对内核进行取舍编译。

2024-03-26 13:12:01 1019

原创 12_Linux内核结构

Linux 内核主要的 5 个部分:**进程调度、内存管理、虚拟文件系统、网络接口、进程通信**。在系统移植的时候,它们是内核的基本元素,这 5 个部分之间的关系

2024-03-17 16:20:27 912

原创 11_BootLoader分析

【摘要】本文详细介绍了基于嵌入式系统中的 OS 启动加载程序 ―― ==BootLoader 的概念、软件设计的主要任务以及结构框架==等内容。 在拿到空PCB板之后,硬件工程师首先会测试各主要**线路是否通连**(各焊点是否有空焊、断接或短路的情况),然后逐个模块焊接上去。之后需要验证系统上电之后,CPU与各组件的**供电电压是否正常**,供给CPU的震荡电路能否能够**正常起振**,外部存储器能否**正常读写**。

2024-03-17 16:19:29 1027

原创 10.网络文件系统( NFS)使用

本文介绍 了网络文件系统NFS在嵌入式系统开发中的优点和使用方法

2024-03-10 21:38:48 1204 1

原创 9. 内核、文件系统加载工具

该协议的传输速度和成功率都是比较优秀的。内核和文件系统也可以通过 MiniTools 工具烧写,烧写过程与烧写 Bootloader 类似。与烧写 Bootloader 不同的是,内核和文件系统下载需要选择正确的内核文件和文件系统文件,在烧写完成后会在“详细信息”中显示操作步骤以及完成信息。正确连接开发板后,选择开发板的系统类型及Bootloader 文件,通过要烧写的文件对应项目后的“…运行 MiniTools 软件,将开发板的 NOR/NAND 选择开关置于 NOR 位置,然后打开开发板电源。

2024-03-10 21:37:06 1049

原创 8. 超级终端和 Minicom

在对目标板进行查看、操作或目标板和上位机进行文件传输与通信时,需要安装终端软件。通过终端软件来对目标板进行配置,或者执行目标板上的程序与主机进行通信。 下面介绍 3种终端软件,具体开发时,你仅需任意使用一个即可,并非都要进行安装

2024-03-09 22:33:30 383

原创 7. 交叉开发环境设置

交叉编译工具是为了使在上位机中编译的文件能够在不同平台的目标机中执行,搭建交叉编译环境是嵌入式开发的第一步,也是关键的一步。不同的体系结构、不同的操作系统,甚至是不同版本的内核,都会用到不同的交叉编译器。选择交叉编译器非常重要, 有些交叉编译器经常会有部分的 BUG,都会导致最后的代码无法正常运行。

2024-03-09 22:32:45 957

原创 7. 交叉开发环境设置

交叉编译工具是为了使在上位机中编译的文件能够在不同平台的目标机中执行,搭建交叉编译环境是嵌入式开发的第一步,也是关键的一步。不同的体系结构、不同的操作系统,甚至是不同版本的内核,都会用到不同的交叉编译器。选择交叉编译器非常重要, 有些交叉编译器经常会有部分的 BUG,都会导致最后的代码无法正常运行。

2024-03-08 23:37:08 881

原创 6. 虚拟机及Linux安装

进行嵌入式项目开发,第一步就是要建立嵌入式开发环境,主要包括**安装 Bootloader 工具**、不同平台的**交叉编译器**(如ARM 平台的arm-linux-gcc)、**内核源码树**(在需要编译和配置内核时)、在调试时使用的一些**终端软件**、**TFTP 或FTP软件**以及内核和文件系统的**烧写工具**(一般硬件厂家会提供)。下面分布讲解

2024-03-08 23:35:57 856

原创 5.设备驱动程序

Linux 内核是一个比较庞大的系统,深入理解内核可以减少在系统移植中的障碍。在系统移植中设备驱动开发是一项很复杂的工作,由于 Linux 内核提供了一部分源代码,同时还提供了对某些公共部分的支持,例如, USB 驱动对读写 U 盘、键盘、鼠标等设备提供了通用驱动程序,一般情况可以直接使用内核提供的驱动。但是对于复杂的 USB 设备没有现成的驱动,就需要读者对驱动开发过程有一定的认识,必要时参考 Linux 源码重新开发驱动程序。

2024-03-02 22:59:28 927

原创 4. 虚拟文件系统

虚拟文件系统的思想是在不同种类的文件系统和Linux内核之间建立一个虚拟文件系统层,通过调用虚拟文件系统中的读、写或其他函数时,内核都能把它们替换成支持 Linux 文件系统、 NFS 文件系统,或者其他文件系统的实际函数。

2024-02-26 23:41:03 993

原创 3. Linux内存管理

RAM 的一部分(SRAM)被静态地划分给了内核,用来存放内核代码和静态数据结构。 RAM 的其余部分(如DRAM、SDRAM、DDR)称为动态内存(dynamic memory),这不仅是运行用户进程所需的宝贵资源,也是内核所需的宝贵资源。事实上,整个系统的性能取决于如何有效地管理动态内存。

2024-02-26 22:50:08 509

原创 2. Linux进程管理

进程管理包括创建进程、管理进程及删除进程。进程管理是 Linux 内核的重要部分,对系统的核心资源进行管理。要做好系统移植就需要对这部分知识有一定的了解。

2024-02-23 23:30:13 837

原创 1.系统调用接口

所有的操作系统在内核里都有一些内建的函数,这些函数完成对硬件的访问和对文件的打开、读、写、关闭等操作。 Linux 系统中称这些函数为系统调用。这些函数实现了将操作从用户空间转换到内核空间,有了这些接口函数,用户就可以方便地访问硬件。

2024-02-23 23:28:50 1018

原创 一个万用哈希函数(Hash Function)的写法whit C++

本文讲述的是一个用C++语言描述的万用的哈希函数,任何类型均可直接使用。

2023-10-05 14:56:49 250

原创 史上最全阿里云盘资源搜索网站

史上最全的阿里云盘资源搜索网站集合!

2023-10-02 19:00:52 8364

原创 AI创作工具的使用体验报告

AI创作工具的使用体验报告

2023-05-30 14:47:27 1414

原创 Linux中与命名空间相关的内核数据结构

【摘要】本文详细讲述了在Linux内核中与命名空间概念相关的内核数据结构及其内在联系。

2023-05-30 14:39:16 930

原创 Linux中与进程间通信相关的内核数据结构

【摘要】本文详细讲述了Linux内核中与进程间通信概念相关的内核数据结构及其内在联系。

2023-05-30 14:35:01 699

原创 Linux中与中断相关的内核数据结构

【摘要】本文树妖详细讲解了Linux中与中断相关的内核数据结构及其内部联系。

2023-05-30 14:32:05 933

原创 Linux中与“系统内存”相关的内核数据结构

【摘要】本文讲述了在Linux中与系统内存相关的内核数据结构,通过逐行分析源代码讲述了内存数据结构之间的关联。

2023-05-13 20:00:00 777 1

原创 Linux中与“系统网络状态”相关的内核数据结构

【摘要】本文详细描述了Linux中与系统网络相关的内核数据结构

2023-05-12 20:00:00 499

原创 Linux中与“内核安全”相关的数据结构

【摘要】本文详细描述了Linux中与安全相关的内核数据结构。

2023-05-11 20:00:00 460

原创 Linux内核中与“文件系统”相关的数据结构

【摘要】本文叙述了在Linux内核中与文件系统相关联的各种内核数据结构,以源代码的方式逐行进行分析讲解

2023-05-10 20:00:00 745

原创 Linux中与“内核模块”相关的数据结构

【摘要】本文详细解释了linux中与模块相关的内核数据结构,便于大家在学习理解内核源码或驱动编程中理解相应代码和思想。

2023-05-09 20:00:00 700

原创 Linux内核中的链表(list_head)使用分析

本文分析了linux内核中的list_head数据结构的底层实现及其相关的各种调用源码,有助于理解内核中链表对象的使用。

2023-05-08 20:00:00 922

原创 Linux中与“进程相关”的数据结构分析

/进程内核栈,进程通过alloc_thread_info函数分配它的内核栈, //通过free_thread_info函数释放所分配的内核栈 atomic_t usage;//进程描述符使用计数,被置为2时,表示进程描述符正在被使用而且其相应的进程处于活动状态 unsigned int flags;//成员ptrace被设置为0时表示不需要被跟踪 unsigned long ptrace_message;

2023-05-07 10:24:41 614

原创 current宏及Linux进程栈的底层实现

本文介绍了current宏及Linux进程栈的底层实现

2023-05-06 22:26:25 769

原创 X86、MIPS、ARM三种cpu的体系结构和特点

本文简单介绍了X86、MIPS、ARM三种cpu的体系结构和特点

2023-05-06 14:51:13 2026

先中后层序遍历算法图解及C实现代码,区分递归和非递归两种写法

先序遍历中序遍历后序遍历图解

2024-03-09

实现邻接矩阵存储图的深度优先遍历

C语言实现邻接矩阵存储图的深度优先遍历。

2023-02-09

该程序能求解n皇后问题,即在n*n方格棋盘上放置n个皇后,要求每个皇后不同行、不同列、不同左右对角线

编写一个程序,求解n皇后问题,即在n*n方格棋盘上放置n个皇后,要求每个皇后不同行、不同列、不同左右对角线。其中: 1. 皇后个数n由用户输入,其值不能超过20,输出所有的解。 2.采用类似于栈求解迷宫问题的方法

2023-02-09

ctags-5.8源码包

最新ctags-5.8源码包,用于和vim搭配使用,实现在vim中通过点击函数名迅速查找函数的定义。

2022-09-05

计算机3级中关于嵌入式知识的详尽总结

计算机3级中关于嵌入式知识的详尽总结

2022-03-06

信息系统项目管理师考试论文范文集

软考高级中的大头就是论文了,必须得有大量项目经验,否则只能依靠背记常考方向的论文范文,有的放矢的去准备下午的论文。此资源提供了历年来的论文方向和范文供大家背记和准备。

2022-03-04

软考高项考前必须要会做的百题精讲

软考高项考前必须要做的近200道题,大数据分析自软考开考以来历年真题中出现频次最高的知识点,并精准预测2022年可能要考察的知识点集合,是您备考的重要参考资料。

2022-03-04

sscom_v5.13.1.rar

串口调试助手

2021-09-30

vspd_6.9.zip

虚拟串口工具VSPD

2021-09-30

华为官网精选案例(案例和论文参考学习).pdf

华为公司针对各个场景下的解决方案,是案例分析和论文写作的重要参考资料,特别适合无工作经验,论文写作缺少素材的同学。

2021-08-02

网络规划设计师历年真题09-19年.zip

关于软考网络规划师的历年真题,考试必须有的放矢,而历年真题是备考的绝佳资料。绝对的经验总结,亲历很多次考试,发现软考的真题重复率还是蛮高的。

2021-08-02

某赛网论文写作培训课件.zip

关于软考架构师的论文写作方法和技巧,涵盖架构师各个主题,备考论文必备。

2021-08-02

一百篇架构师论文范例(备考必备,备考必背!).rar

关于软考架构师的100篇论文范例,涵盖架构师各个主题,是备考架构师论文的不二选择,挑选几篇近两年热门的主题熟背熟写,方能在考试中2小时内完成论文,因为根本没时间现场考虑构思,只有行文流水才能完成2500字大关。血的教训!!!

2021-08-02

系统架构师历年真题(2009-2018)解析.zip

2009年到2018年软考高级系统架构师的真题和详细解析。考试必须有的放矢,而历年真题是绝佳的备考资料,没有之一!

2021-08-02

架构师考试考前模拟卷20套.zip

适合备考软考高级系统架构师的同学,用于检测或熟悉自己复习程度的。考卷为2020年某赛培训机构内部试题,具有一定的参考性和实用价值。

2021-08-02

2021年系统架构师(高级)复习精华(按主题2).doc

适合备考软考高级系统架构师的同学,或是希望对架构师知识体系有全面了解需求的同学。

2021-08-02

2021年系统架构设计师(高级)复习精华(按主题1).doc

适合备考软考高级系统架构师资格认证的同学,或者是希望对架构师知识体系有全面了解的人。

2021-08-02

2021年系统架构复习笔记(按章节).docx

复习笔记涵盖了近10年架构师考试历年真题所有知识点,并补充了XS培训班辅导资料内容,适合有一定基础但没有太多时间去翻阅教材、总结归纳的同学,帮你快速获得通过考试所需的知识储备。

2021-03-18

系统分析师核心考点归纳.pdf

主要总结了近10年来软考高级系统分析师和架构师历年真题和XS培训视频包含的所有知识点,适合有一定基础但没有太多时间阅读教程和总结背记历年真题的同学快速达到参加考试所需的知识储备。

2021-03-18

软考学习笔记(重要).docx

主要总结了近10年来软考嵌入式系统设计师历年真题所有考点,免去自己购买真题和总结背记的时间花销,适合有一定嵌入式基础,又没有太多时间完整看完教程和真题的同学。

2021-03-18

操作系统知识.pdf

计算机软件能力和技术测试考试中的操作系统知识,软考高级中系统分析师和架构师的必备知识点,需要的同学赶紧下载吧!!!!

2020-08-12

自写嵌入式系统设计师考试笔记.doc

我是去年考过的计算机技术与软件专业技术资格(水平)考试中的中级嵌入式系统设计师,成绩也不错,这是我看书,培训中总结的笔记,很重要,现在供大家下载。

2020-07-28

历年真题12-18.zip

计算机技术与软件专业技术资格(水平)考试2012年至2018年的下午考题,有需要的同学可以下载下来看看。做真题真的很重要的,重要的事情说3遍:做真题真的很重要的。做真题真的很重要的。做真题真的很重要的!

2020-07-28

RIO包-用于网络编程的健壮读写函数.md

它会自动处理你上下文中所述的不足值,提供了方便/健壮和高效的IO。 本代码分别提供了无缓冲和带缓冲的输入输出函数: 无缓冲:rio_readn和rio_writen 带缓冲:rio_readinitb、rio_readlineb、rio_readnb

2020-03-26

picgo_typora.zip

内含2个安装包,一个是Picgo-2.2.0 一个是typora。二者加起来可以方便的在利用typora编写markdown语法的文章时插入图片,便于多平台传递、查看markdown文章。

2020-03-25

一文教你如何构建静态链接库.md

主要描述如何构建自己的静态库。话说ISOC99有自己的一系列标准C函数库,例如我们熟悉的libc.a(包含标准I/O函数、字符串操作函数和整数数学函数)和libm.a(浮点数数学函数),可供我们在使用gcc编译工具编译程序时调用。那么,如果我们在日常学习或项目开发中积累了许多好的函数,希望日后在其他项目中能够复用时,我们又该如何去保存他们呢?今天我就告诉大家怎么办?

2020-03-19

一个实用高频基本电路集

对于学习高、射频的人来说非常有用哦,资源包含了许多通用和常见的基本高频电路设计单元和模块,特别适合初学者。

2010-11-17

空空如也

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

TA关注的人

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