花生酱拌面
码龄1年
  • 92,608
    被访问
  • 179
    原创
  • 13,285
    排名
  • 408
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2021-03-26
博客简介:

m0_56561130的博客

查看详细资料
  • 5
    领奖
    总分 1,521 当月 129
个人成就
  • 获得89次点赞
  • 内容获得10次评论
  • 获得442次收藏
创作历程
  • 61篇
    2022年
  • 118篇
    2021年
成就勋章
TA的专栏
  • 笔面试学习
    5篇
  • Linux驱动
    2篇
  • DSP学习
    8篇
  • uboot
    12篇
  • 算法(二叉树)
    10篇
  • 算法(栈与队列)
    7篇
  • 算法(字符串)
    7篇
  • 算法(哈希表)
    9篇
  • 算法(链表)
    7篇
  • 算法(数组)
    3篇
  • ubuntu
    2篇
  • 计算机网络
    43篇
  • 控制
    3篇
  • 笔记
    1篇
  • 操作系统
    20篇
  • 计原
    28篇
  • 数据结构
    6篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

笔面试学习——操作系统

文章目录1.进程和线程1.1 什么是进程?什么是线程?1.2 进程和线程的区别1.进程和线程1.1 什么是进程?什么是线程?进程时资源分配的基本单位,是程序执行的一个实例,在程序运行时创建;线程是程序执行的最小单位,是进程的一个执行流,一个进程由多个线程组成。1.2 进程和线程的区别进程是资源分配的最小单位,线程是程序执行的最小单位,也是处理器调度的最小单位;进程有自己独立的地址空间,线程是共享进程中的数据;线程间的通信更方便,统一进程下的线程共享全局变量、静态变量等数据;多进程程
原创
发布博客 11 小时前 ·
6 阅读 ·
0 点赞 ·
0 评论

Linux驱动——platform设备驱动实验

文章目录1. 驱动的分离和分层1.1 驱动的分离1.3 驱动的分层2. platform平台驱动模型1. 驱动的分离和分层1.1 驱动的分离    假设平台A、B、C都有MPU6050这个IIC接口的六轴传感器,那么驱动框架应该如上图所示。主机驱动是必须的,但设备驱动都是相同的,没必要每个平台都写一个驱动。    那么最好的做法就是每个平台的I2C控制器都提供一个统一的接口,每个设备也只提供一个驱动程序,每个设备通过统一的I2C接口驱动来访问,这样就大大方便了。    实际的I2C驱动设备
原创
发布博客 2022.05.25 ·
39 阅读 ·
0 点赞 ·
0 评论

Linux驱动——LED驱动的编写与实验

文章目录1. LED驱动的原理分析1.1 地址映射1.1.1 ioremap函数1.1.2 iounmap函数1.2 I/O内存访问函数1.3 读操作函数1.4写操作函数2. 硬件原理图分析3. 驱动程序编写3.1 定义file_operations结构体3.2 编写init函数3.3 编写exit函数3.4 总结4.编写测试APP1. LED驱动的原理分析1.1 地址映射    裸机LED灯实验就是操作开发板的寄存器。Linux驱动开发也可以操作寄存器,但Linux不能直接对寄存器物理地址进行读写
原创
发布博客 2022.05.24 ·
27 阅读 ·
0 点赞 ·
0 评论

笔面试学习——字符串函数的实现

文章目录1. strcpy2. strlen3. strcat4. atoi5. itoa1. strcpystrcpy(str1, str2);//将字符串2复制到字符串1中#include <stdio.h>#include <string.h>void mycpy(char *s1, char* s2);int main(){ char A[10] = "abcdsdada"; char B[10] = ""; mycpy(B, A); printf(
原创
发布博客 2022.05.23 ·
0 阅读 ·
0 点赞 ·
0 评论

算法——排序算法及改进(手撕代码环节)

文章目录1.冒泡算法2.快速排序1.冒泡算法步骤:比较相邻的元素,如果第一个比第二个大,就交换他们两个对每一个相邻的元素做相同的工作,从开始的第一对到最后一对,做完后,最后的元素是最大的数针对所有元素重复以上的步骤,除了最后一个最大的数每次都对越来越少的元素做以上的步骤,直到没有任何一对元素需要比较class Solution {public: vector<int> sortArray(vector<int>& nums) {
原创
发布博客 2022.05.21 ·
20 阅读 ·
0 点赞 ·
0 评论

笔面试学习——ARM体系与结构

文章目录1.硬件基础1.1 NAND_FLASH和NOR_FLASH1.2 CPU、MPU、MCU、SOC、SOPC1.3 交叉编译1.4 为什么需要交叉编译1.5 基于ROM和基于RAM的运行方式1.硬件基础1.1 NAND_FLASH和NOR_FLASH类型NORNAND读快,像访问SRAM一样,随机访问任意地址数据快,发送读命令>发送地址>判断nand是否就绪>读取一页数据写慢,写之前要擦除快,也需要擦除擦除非常慢(5S)快(3m
原创
发布博客 2022.05.20 ·
206 阅读 ·
2 点赞 ·
0 评论

C/C++——常见问题汇总精简

文章目录1.指针1.1指针数组、数组指针1.2函数指针和指针函数1.3指针常量,常量指针1.4野指针1.5数组名和指针的区别和联系1.6指针和引用的区别2.关键字2.1volatile2.2static的作用2.3extern "C"2.4sizeof和strlen的区别2.5 new/delete与malloc/free的区别2.6struct和union的区别2.7左值、右值2.8短路求值2.9 ++a和a++3.内存3.1C语言中内存分配的方式3.2堆与栈的区别3.3栈在C语言中的作用1.指针1
原创
发布博客 2022.05.19 ·
21 阅读 ·
0 点赞 ·
0 评论

DSP以太网通信

文章目录1. 以太网模块初始化netinit1.1 SPI串口初始化1. 以太网模块初始化netinit1.1 SPI串口初始化    我们使用的以太网协议栈管理芯片是CH395L,芯片是通过SPI串口与DSP连接的。void CH395_PORT_INIT(void){ SpiaRegs.SPIBRR=0x0005; SpiaRegs.SPISTS.all=0x0000; // Baud rate 3.75M SpiaRegs.SPIP
原创
发布博客 2022.04.07 ·
282 阅读 ·
0 点赞 ·
0 评论

CAN通信程序代码阅读总结

文章目录1. eCAN模块GPIO初始化2. 初始化eCanb模块:InitEcanb1. eCAN模块GPIO初始化void InitECanbGpio(void){ EALLOW;//配置GPIO引脚工作在eCAN功能 GpioCtrlRegs.GPAPUD.bit.GPIO16 = 1; // Disable pull-up for GPIO16 (CANTXB) GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0; // Enable pull-up
原创
发布博客 2022.04.06 ·
251 阅读 ·
0 点赞 ·
0 评论

DSP的中断系统

文章目录1. 什么是中断1. 什么是中断    中断是硬件和软件驱动事件,它使得CPU暂停当前的主程序,转而去执行一个中断服务子程序。X281x的中断系统从上至下分成了三级,即CPU级中断、PIE级中断、外设中断。...
原创
发布博客 2022.04.05 ·
1259 阅读 ·
1 点赞 ·
0 评论

增强型控制器局域网通信接口eCAN

文章目录1. CAN总线概述1.1 什么是CAN1.2 CAN的发展历史1.3 CAN的工作原理1.4 标准格式CAN和扩展格式CAN2. CAN2.0B协议2.1 CAN总线帧的格式和类型1. CAN总线概述1.1 什么是CAN    CAN是“Controller Area Network” 的缩写,意思是控制器局域网,是应用最广泛的现场总线之一。    如上图所示,SCI通信时是一对一的,SPI通信时可以组成一个网络,网络中的一个为主机,其他为从机。而CAN总线是一种多主的局域网,也就是通
原创
发布博客 2022.04.04 ·
154 阅读 ·
0 点赞 ·
0 评论

DSP的时钟和系统控制

1.1 振荡器OSC和锁相环PLL    为了能让DSP芯片工作起来,需要内部振荡器OSC和锁相环PLL等组成的时钟模块来提供规律的时钟脉冲。    锁相环是一种控制晶振使其相对于参考信号保持恒定的电路,主要作用是通过软件实时地配置片上外设时钟,提高系统的灵活性和可靠性。从上图可以看到,外部晶振通过了片内振荡器OSC和PLL模块,产生了时钟信号CLKIN,提供给CPU。外部晶振或外部时钟输入信号XCLKIN和送至CPU的信号CLKIN之间的关系如下:PLL模式说明SYSCLKOUT/CL
原创
发布博客 2022.03.31 ·
322 阅读 ·
0 点赞 ·
0 评论

串行外设接口SPI

文章目录1.SPI模块的通用知识2. X281x SPI模块的概述2.1 SPI模块的特点2.2 SPI的信号总结3. SPI模块工作原理1.SPI模块的通用知识    SPI是 Serial Peripheral Interface 的缩写,即串行外围设备接口,这是一种高速同步串行通信接口。SCI是一种低速异步串行通信接口,它与SPI不同,一个是同步通信,一个是异步通信。同步通信时,通信双方的设备必须拥有相同的时钟脉冲,以相同步调进行数据传输。异步通信时,通信双方的设备可以拥有各自独立的时钟脉冲,可
原创
发布博客 2022.03.30 ·
501 阅读 ·
2 点赞 ·
0 评论

DSP基础知识回顾

文章目录1. 什么是DSP2. DSP与其他主流芯片的区别2.1 DSP与MCU的区别2.2 DSP与ARM的区别2.3 DSP与FPGA的区别3. TI公司DSP具体型号的含义4. TMS320C28346的片内外设4.1 事件管理器4.2 模拟量转换为数字量的ADC采样模块4.3 串行通信接口SCI4.4 串行外围设备接口SPI4.5 局域网通信控制器CAN4.6 以太网通信1. 什么是DSP    DSP是Digital Signal Processing的缩写,同时也是Digital Sign
原创
发布博客 2022.03.29 ·
394 阅读 ·
0 点赞 ·
0 评论

uboot移植项目总结

原创
发布博客 2022.03.17 ·
52 阅读 ·
0 点赞 ·
0 评论

uboot移植——思维导图总结

原创
发布博客 2022.03.16 ·
511 阅读 ·
0 点赞 ·
0 评论

算法(二叉树)——路径总和

文章目录1.题目描述2.解题思路3.代码实现1.题目描述    给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。    叶子节点是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true
原创
发布博客 2022.03.16 ·
111 阅读 ·
0 点赞 ·
0 评论

算法(二叉树)——找到树左下角的值

文章目录1.题目描述2.解题思路3.代码实现1.题目描述    给定一个二叉树的根节点 root,请找出该二叉树的最底层最左边节点的值。    假设二叉树中至少有一个节点。输入: root = [2,1,3]输出: 12.解题思路    这一题可以用层序遍历来解决。我们每次将一层结点放到队列中,然后遍历,将最左边的结点保存下来。需要注意的是结点入列的顺序应该是右结点先入列,此外循环到该层第size-1个结点时,就是最左边的节点了,注意保存数值。3.代码实现/** * Definit
原创
发布博客 2022.03.15 ·
88 阅读 ·
0 点赞 ·
0 评论

算法(二叉树)——左叶子之和

文章目录1.题目描述2.解题思路3.代码实现1.题目描述给定二叉树的根节点 root ,返回所有左叶子之和。示例 1:输入: root = [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24示例 2:输入: root = [1]输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-left-leaves2.解题思路  
原创
发布博客 2022.03.14 ·
1502 阅读 ·
0 点赞 ·
0 评论

算法(二叉树)——二叉树的所有路径

文章目录1.解题思路2.解题思路3.代码实现1.解题思路    给你一个二叉树的根节点 root ,按任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点是指没有子节点的节点。示例 1:输入:root = [1,2,3,null,5]输出:["1->2->5","1->3"]示例 2:输入:root = [1]输出:["1"]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-paths
原创
发布博客 2022.03.11 ·
948 阅读 ·
0 点赞 ·
0 评论
加载更多