嵌入式软件和硬件
码龄8年
关注
提问 私信
  • 博客:224,946
    224,946
    总访问量
  • 134
    原创
  • 657,851
    排名
  • 131
    粉丝
  • 0
    铁粉

个人简介:有趣才精彩,而不是精彩才有趣

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2017-05-16
博客简介:

weixin_38812277的博客

查看详细资料
个人成就
  • 获得106次点赞
  • 内容获得25次评论
  • 获得607次收藏
  • 博客总排名657,851名
创作历程
  • 8篇
    2022年
  • 2篇
    2021年
  • 7篇
    2020年
  • 120篇
    2019年
  • 5篇
    2018年
  • 5篇
    2017年
成就勋章
TA的专栏
  • 硬件
    1篇
  • 单片机
    2篇
  • freertos
    7篇
  • Linux
    5篇
  • python学习
    4篇
  • 程序员人生
    5篇
  • 机器学习基本算法
    2篇
  • C语言
    18篇
  • LeetCode题目
    4篇
  • Ubuntu设置
    8篇
  • 学习方法总结
    2篇
  • 编译原理
    2篇
  • ARM体系结构
    6篇
  • Linux内核
    43篇
  • 计算机原理
    5篇
  • 嵌入式系统
    15篇
  • Linux系统和应用编程
    15篇
  • 数据结构
    1篇
  • 笔试面试
    17篇
  • 计算机网路
    1篇
兴趣领域 设置
  • 嵌入式
    单片机嵌入式硬件
  • 硬件开发
    驱动开发arm开发
创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

linux 系统基础

linux 基础使用
原创
发布博客 2022.10.05 ·
368 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

gd32_flash

1:gd32f305_flash:code_area:CPU操作零等待。(取值和读数据)data_area:这部分区域操作时间较长。据说:内部flash使用的是串行flash,gd就是做flash出身的, gd32单片机内部的flash就是gd自己的flash,使用sip封装,集成到单片机内部的,所以很慢。为了解决慢的问题,code_area就是上电时搬运到ram里面运行。...
原创
发布博客 2022.10.04 ·
1362 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

linux开发 环境搭建

WSL linux环境搭建
原创
发布博客 2022.10.04 ·
259 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

大疆校招和社招 各岗位内推码--更新20220717

内推码定期更新, 内推码通用于各个岗位,通用于校招和社招。薪资待遇还可以,双休,10105的工作节奏。内推码一码一人, 如果发现用过了,换一个即可。
原创
发布博客 2022.07.17 ·
1677 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PLC电力载波通讯

PLC电力载波通讯
原创
发布博客 2022.07.17 ·
974 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

cortex M3/4 内部总线

1:AHB总线的特点cortex M3/4内部总线特点:1: 具有三条独立的AHB总线,ICODE_BUS、DCODE_BUS、system_BUS。ICODE_BUS:DCODE_BUS:system_BUS:引申问题:1: DMA 搬运数据时,是否会阻塞CPU取值或取数据?正常情况下,CPU取从flash指令,使用的ICODE总线,而DMA是system_bus的一个master设备。所以DMA工作是不会阻塞CPU取值指令;DMA搬运数据时,如果CPU需要操作(W/R opera
原创
发布博客 2022.04.23 ·
1899 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

计算机基本概念--超标量,多发射

多发射:概念:是指存在多条流水线进行指令的译码, 取指令后,可以同时发射多条指令到不同的流水线进行译码。(和执行?)超标量:超标量是一条流水线中,存在多个执行部件,可以在上一条指令没有执行完成时,执行下一条指令。 即乱序执行。可以针对没有前后顺序关系的指令进行并行执行;超标量是对程序员透明的,是指令级别的并行;超标量是否意味着需要多条流水线?(好像不需要,如果有,好像最好?)超线程:概念:处理器可以同时执行多个指令,来自不同的线程;超线程是线程级别的并行,需要程序员显示的编写超.
原创
发布博客 2022.01.16 ·
3790 阅读 ·
2 点赞 ·
1 评论 ·
13 收藏

MMU 内存管理单元

MMU 内存管理单元作用:讲CPU发出的访存地址(虚拟地址)转换为总线上的物理地址。基本构成:页表TBL的作用:缓存最近访问的页表项;cache:linux相关基本知识Linux的虚拟地址划分:1G用于内核,3G用于用户;Linux进程的页表:页表的前面1G内容相同,即所有进程的1G内存都映射到相同的物理地址上。驱动如果需要访问一个外设的绝对物理地址:需要使用ioremap函数进行映射,该函数会修改页表,将该物理地址映射到对应的虚拟地址上面。...
原创
发布博客 2022.01.08 ·
628 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

文章格式模板

前言 :本人主张用通俗、简短的语言来描述一个知识点。将知识用自己的话表达出来,知识才真正的被自己吸收理解。0:xxx是什么1:xxx有什么特点List item2:xxx怎么使用3:xxx常见的错误理解或bug4:xxx底层原理...
原创
发布博客 2021.10.17 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

文章格式模板

前言 :本人主张用通俗、简短的语言来描述一个知识点。将知识用自己的话表达出来,知识才真正的被自己吸收理解。0:xxx是什么1:xxx有什么特点List item2:xxx怎么使用3:xxx常见的错误理解或bug4:xxx底层原理...
原创
发布博客 2021.10.17 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

freertos 关中断和临界区的关系

freertos 临界区基础概念:临界区:保证一段代码操作的原子性。原子性:即一段代码不能被打断运行,直到退出改代码段。用于保证资源变量被多个线程或代码段访问时产生的冲突。**实现:**在单核系统中,可以使用关中断来实现原子操作。freertos中的实现:进入临界区#define portDISABLE_INTERRUPTS() vPortRaiseBASEPRI()#define portENABLE_INTERRUPTS() vPortSetBASEPRI( 0 )voi
原创
发布博客 2021.07.04 ·
937 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

BootLoader基本作用的功能

1、初始化arm的异常向量表,设置异常向量表的地址(一般是0x00000000)2、设置处理器模式,进入svc模式,关闭irq frq3、配置CP15协处理器,关闭icache 关掉mmu和TLB4、板子初始化:DDR初始化 时钟系统初始化 从启动设备把操作系统、设备树、虚拟文件系统加载到DDR中 初始化串口5、设置参数并跳转到操作系统...
原创
发布博客 2019.08.01 ·
1146 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Linux用户态和内核态通信方法--netlink

Linux用户空间和内核空间通信方法:系统调用、procfs、ioctl接口、netlinknetlink 是 Linux 用户态与内核态通信最常用的一种方式。netlink:netlink socekt是一种用于在内核态和用户态进程之间进行数据传输的特殊的IPC。它通过为内核模块提供一组特殊的API,并为用户程序提供了一组标准的socket 接口的方式,实现了一种全双工的通讯连接。...
原创
发布博客 2019.06.18 ·
1886 阅读 ·
0 点赞 ·
0 评论 ·
8 收藏

const变量存储内存区域 详解

const int b=1;//静态存储区,的只读页int c = 2;//静态存储区,读写页int main(){ const int i=10;//在程序中不能修改,实际上可以用指针简介修改,也就是说没有在内存层面保护,只是在编译期间不能修改该变量。 int *p=(int*)&i; printf("p = %p
",p); printf("&p = %p\...
原创
发布博客 2019.05.24 ·
8933 阅读 ·
0 点赞 ·
3 评论 ·
19 收藏

常用的嵌入式通信协议

总线 串并口 同步/异步 速率 工作方式 线数 拓扑 通信距离 UART 串 异步 慢 全双工 2线 458支持总线型 远 USRT 串 同步 全双工 三线 I2C 串 同步 慢100K、400K 半双工 2线 总...
原创
发布博客 2019.05.05 ·
1841 阅读 ·
1 点赞 ·
0 评论 ·
18 收藏

freertos源码解析-5调度器控制

第四章讲了调度器和任务切换调度器和任务切换为了保证操作系统和任务安全运行,有时候需要void vTaskSuspendAll( void ){ /* A critical section is not required as the variable is of type BaseType_t. Please read Richard Barry's reply in the following link to a post in the FreeRTOS support forum bef
原创
发布博客 2020.05.20 ·
280 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

freertos源码解析-4调度器和任务切换

调度器调度器就是使用相关的调度算法来选择相关任务运行的代码。基本功能:(1)调度器可以区分就绪态任务和挂起任务;(2)调度器可以选择就绪态中的一个任务,然后激活它;(3)不同调度器之间最大的区别就是如何分配就绪态任务间的完成时间。抢占式调度器:(1)每个任务都有不同的优先级;(2)任务一直运行到被更高优先级任务抢占或者遇到阻塞式API函数。【单纯的抢占式调度没有时间片的概念,最高优先级的任务就绪,立马抢占,不用等到下一个滴答时间中断来临】时间片调度:(1)每个任务的优先级都相同,任务会运行固定的时间
原创
发布博客 2020.05.19 ·
469 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

freertos源码解析-3任务和任务创建

任务void vATaskFunction( void *pvParameters ){ for( ;; ) { /*-- 应用程序代码放在这里. --*/ }/*正常情况下任务函数是一个死循环,不会退出*/ vTaskDelete( NULL );/*如果任务完成,需要退出,需要删除该任务,vATaskFunction没有返回值*/}任务状态运行:任务占用CPU,单核处理器任意时刻只有一个任务在运行。就绪:任务处于准备随时可以运行的状态,等待
原创
发布博客 2020.05.19 ·
418 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

freertos源码解析-2内存管理

内存管理freertos支持动态分配内存和静态分配内存Freertos的内存分配是在portable层中实现,与内核实现分开。目录:Source/Portable/MemMang静态内存管理特点对象可以分配在特定的内存地址处;最大内存占用可以在链接时确定,而不是运行时;用户不需要关心内存分配失败的处理方式;允许在不使用动态内存分配的地方使用RTOS。定义宏 configSUPPORT_STATIC_ALLOCATION = 1 使用静态内存分配。既可以使用以下函数,里面使用的内存
原创
发布博客 2020.05.19 ·
324 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

freertos源码解析-0准备工作和疑问

freertos 准备工作和思考freertos操作系统freertos操作系统:可以理解为一个大程序,这个大程序里面有很多任务(函数),这个大程序会按照优先级或事件发生的先后来控制各个任务有条不紊的运行。类似于一个大循环,里面有很多子函数,但是子函数的运行不是按照编程的先后顺序运行,而是由调度器控制,来决定哪个任务运行,哪个任务阻塞(休息)。源码分析建议首先对操作系统有个基本认识,知道堆、栈、任务、调度、内存管理等基本概念。建议看操作系统相关书籍。如果是有学习过其他操作系统经验的,可以直接上手fr
原创
发布博客 2020.05.19 ·
430 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多