厛,記憶の鍾
码龄3年
关注
提问 私信
  • 博客:10,834
    10,834
    总访问量
  • 10
    原创
  • 80,778
    排名
  • 160
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2022-04-01
博客简介:

qq_69004149的博客

查看详细资料
  • 原力等级
    领奖
    当前等级
    2
    当前总分
    118
    当月
    0
个人成就
  • 获得224次点赞
  • 内容获得2次评论
  • 获得184次收藏
创作历程
  • 12篇
    2024年
成就勋章
TA的专栏
  • FreeRTOS
    5篇
  • Linux内核
    1篇
  • Linux问题调试
    4篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

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

FreeRTOS调试与源码解析(4)--基于cortex-M的任务调度

本文主要是对野火的《FreeRTOS内核实现与应用开发实战指南》中任务调度的学习与总结,梳理出任务创建成功后,启动调度器开启第一个任务的流程,因为本人使用的是Linux环境的GCC模拟器,与设备中实际使用场景存在差异,因此以此文为准。示例源码基于FreeRTOS V202212.01。
原创
发布博客 2024.09.30 ·
1020 阅读 ·
13 点赞 ·
0 评论 ·
17 收藏

FreeRTOS调试与源码解析(3)--列表与就绪列表

本文主要介绍FreeRTOS就绪列表的创建与使用,将从FreeRTOS列表与列表项开始介绍,列表和列表项是FreeRTOS的一个数据结构,FreeRTOS大量使用到了列表和列表项,它是FreeRTOS 的基石。列表项的删除通过函数uxListRemove()来完成,需要注意的是,列表项的删除只是将指定的列表项从列表中删除掉,并不会将这个列表项的内存给释放掉!列表项就是存放在列表中的项目,FreeRTOS提供了两种列表项:列表项和迷你列表项。列表项的初始比较简单,只要确保列表项不在任何列表中即可。
原创
发布博客 2024.09.30 ·
872 阅读 ·
18 点赞 ·
0 评论 ·
14 收藏

FreeRTOS调试与源码解析(2)--任务的创建与删除

本文主要介绍FreeRTOS任务的创建与删除,在正常使用的前提下,介绍任务控制块TCB、任务栈、任务、就绪表等。
原创
发布博客 2024.08.15 ·
1260 阅读 ·
37 点赞 ·
0 评论 ·
27 收藏

c语言attribute关键字参数(详细)

GNUC编译器增加了一个__attribute__ 关键字用来声明一个函数、变量或类型的特殊属性。申明这些属性主要用途就是指导编译程序进行特定方面的优化或代码检查。attribute 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。关键字也可以对结构体(struct )或共用体(union )进行属性设置。
转载
发布博客 2024.08.14 ·
181 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

container_of c语言中根据结构体成员的指针获取整个结构体的指针

文章介绍了C语言中用于根据结构体成员指针获取整个结构体指针的container_of宏,详细解析了宏的实现步骤和参数含义,并提供了一个测试示例,展示如何在实际代码中使用该宏。在示例中,通过container_of宏成功地从成员指针转换回结构体指针,访问到了其他成员。
转载
发布博客 2024.08.12 ·
52 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux内核解读(1)--内存管理与malloc原理

本文主要关注Linux环境的堆内存的管理,详细解析Glibc与TCMalloc的malloc原理, 由于本人能力有限,难免会出现解读错误的地方,望各位大佬批评指正,后面也会在进一步解读中对本文进行修改。
原创
发布博客 2024.08.10 ·
1006 阅读 ·
11 点赞 ·
0 评论 ·
12 收藏

FreeRTOS调试与源码解析(1)--构建Linux模拟器环境

在实际的项目开发过程中,我一直使用的都是用RTOS系统重构的一套pthread的接口,且对源码知之甚少,只知道如何去使用,而不太懂它内部运行的逻辑。为此在这开启一个新的系列,在对FreeRTOS原生接口的使用和梳理的基础上,去解读它的源码,并试着使用一些调试工具和手动,对RTOS内核进行剖析。本文使用的调试环境是Ubuntu:4.15.0-143-generic,Freertos:v202212,采用SecureCRT工具远程连接的linux环境。
原创
发布博客 2024.08.09 ·
542 阅读 ·
13 点赞 ·
0 评论 ·
4 收藏

Linux问题调试(4)--内存问题与tcmalloc

之前的文章介绍过Asan来定位内存泄漏问题,虽然已经被集成到各大编译器中,‌但它的使用可能受到特定环境或配置的限制。‌例如,‌在某些复杂的系统或应用程序中,‌ASan可能会因为与程序的交互复杂性而遇到挑战,‌导致难以准确诊断问题。‌Linux问题调试(2)--内存问题与asan工具。
原创
发布博客 2024.08.07 ·
1409 阅读 ·
33 点赞 ·
0 评论 ·
24 收藏

Linux问题调试(3)--调试文件(core、map、Debug)的生成与调试工具(Addr2line、GDB)的使用

Linux平台生成的可执行文件,带有Debug或Release属性。Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员对程序的调试。在Debug环境下,我们可以使用调试技巧,如观察监视、内存、反汇编等等。Release称为发布版本,它往往进行了各种优化,使程序在代码大小和运行速度上都是最优解,便于用户使用。map文件通常由链接器(Linker)生成,在构建过程中,链接器负责将各个编译单元(如.o或.obj文件)组合成一个可执行文件或库。
原创
发布博客 2024.07.28 ·
943 阅读 ·
27 点赞 ·
0 评论 ·
19 收藏

Linux问题调试(2)--内存问题与asan工具

asan算法的思想是:如果想防住Buffer Overflow泄漏,只需要在每块内存区域右端(或两端,能防overflow和underflow)加一块区域(RedZone),使RedZone的区域的影子内存(Shadow Memory)设置为不可写,如图1所示。3、运行时库run-time library:运行期间,对代码进行修改,主要是修改了malloc和free函数的实现方法,在heap上分配内存时,在应用数据前后创建毒区(poisoned redzones),用于检测heap类型的越界访问的错误。
原创
发布博客 2024.07.19 ·
1213 阅读 ·
24 点赞 ·
0 评论 ·
17 收藏

Linux问题调试(1)--CPU问题与火焰图

在开发Linux项目的过程中,会时常出现CPU的高消耗而导致的一些异常问题,例如网络包的频繁收发引起系统阻塞,从而导致软狗超时问题等。本文总结了本人项目开发过程中使用的CPU性能调试方案。
原创
发布博客 2024.07.18 ·
1325 阅读 ·
17 点赞 ·
0 评论 ·
18 收藏

FreeRTOS学习笔记(1)--内存管理

为了提高内存申请/释放的效率,需要弄清楚rtos系统的内存分配机制,虽然项目可以通过调整线程栈大小和总体的内存分配来解决栈空间分配失败的问题,但依旧存在以下几个问题,搞不清楚这些问题,我们系统的中的问题就无法根本性解决。1、RTOS的栈内存的分配机制是怎样的?2、RTOS栈的内存碎片回收是怎样做到的?3、RTOS有没有有效的栈内存统计方案?
原创
发布博客 2024.07.15 ·
988 阅读 ·
30 点赞 ·
1 评论 ·
28 收藏