fpn233
码龄7年
关注
提问 私信
  • 博客:131,210
    131,210
    总访问量
  • 70
    原创
  • 101,534
    排名
  • 7,066
    粉丝
  • 63
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-04-22
博客简介:

weixin_42040046的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,519
    当月
    14
个人成就
  • 获得189次点赞
  • 内容获得24次评论
  • 获得790次收藏
  • 代码片获得470次分享
创作历程
  • 6篇
    2024年
  • 6篇
    2023年
  • 5篇
    2022年
  • 9篇
    2021年
  • 38篇
    2020年
  • 13篇
    2019年
成就勋章
TA的专栏
  • C
    1篇
  • Linux
    5篇
  • 工具
    5篇
  • 嵌入式
    2篇
  • Display
    3篇
  • STM32
    1篇
  • 相关技术
    5篇
  • 动手啦
    1篇
  • C++
    7篇
  • Web
    9篇
  • C++学习
    23篇
  • 读书笔记
    3篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

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

C程序内存分布及static变量

C程序内存分布及static变量文章目录C程序内存分布及static变量C语言中程序的内存分布 [????1](https://www.cnblogs.com/miaoxiong/p/11021827.html)[????2](https://blog.csdn.net/chen1083376511/article/details/54930191)c/c++编译连接后二进制文件的存储动静态存储方式和存储区动态存储方式动态存储区静态存储方式静态存储区static修饰[????](https://blog.
原创
发布博客 2024.05.09 ·
906 阅读 ·
28 点赞 ·
2 评论 ·
22 收藏

LDD学习笔记 -- Linux字符设备驱动

例如前面的伪字符设备,有一块内存数组(设备内存buffer)。当用户程序在该设备文件上发出read系统调用时,应该将数据从设备buffer传到用户buffer。设备创建时候在VFS注册设备号,虚拟文件系统,将设备文件的设备号与驱动程序列表进行比较,选择正确的驱动程序,并将用户请求连接到对应驱动程序的文件操作方法。用户空间的指针不是完全可信的,用户地址空间有时可能无效,虚拟内存管理器可以交换出这些内存位置。字符设备指的是像内存区域这样的硬件组件,通常称为伪设备;可以动态申请主设备号,保证唯一性,传输设备号(
原创
发布博客 2024.01.07 ·
1195 阅读 ·
19 点赞 ·
1 评论 ·
23 收藏

LDD学习笔记 -- Linux错误码

错误码会从内核空间传到用户空间,用户空间的errno会被设置称内核模块返回的错误值,用户程序以确定内核空间的系统调用处理发生的错误。系统调用和库函数使用这些错误代码指示程序执行期间可能发生的各种错误情况。终端设备上不支持某个操作,通常用于和ioctl相关的错误。当一个文件/目录已存在,尝试使用相同名称创建操作时返回。Pip,试图写入没有读取器的管道,或管道写入操作失败。例如没有访问文件/资源等特定操作的权限。被引用的文件/目录在文件系统中不存在。请求的设备或资源已被另一个进程使用。文件中具体错误码的定义。
原创
发布博客 2024.01.07 ·
654 阅读 ·
8 点赞 ·
0 评论 ·
6 收藏

LDD学习笔记 -- Linux设备驱动概述

概述分类字符设备驱动块设备驱动设备文件设备驱动:配置和管理设备的一段代码。负责与硬件设备进行交互,并导出应用程序和其他内核模块可以用来访问设备的接口。该代码能够通过向设备发送数据来配置设备,能够处理设备的请求。为用户空间提供了正确访问设备的接口,用户空间的应用程序可以和设备通信,让OS或应用程序知道如何处理设备。用户应用程序通过writeopenread系统调用与设备对话。系统调用被驱动代码处理,以接触设备的各种寄存器。内核的作用是。
原创
发布博客 2024.01.04 ·
550 阅读 ·
8 点赞 ·
0 评论 ·
10 收藏

LDD学习笔记 -- Linux内核模块

在运行时添加 / 删除的代码Linux支持在系统启动和运行时从内核中动态的插入或移除代码。在运行时添加/删除的代码叫做内核模块。Linux内核模块通过向内核引入新的功能(安全、设备驱动、文件系统驱动、系统调用、其他)来动态的扩展内核的功能。模块化的方法,像正在运行的内核的插件。嵌入式Linux系统可以由最小的基本内核镜像 + 可选的设备驱动/其他功能通过模块插入按需提供例如一个热拔插的USB设备,它的驱动程序(Linux内核模块),当其插入后会动态加载到内核中。
原创
发布博客 2024.01.03 ·
1152 阅读 ·
21 点赞 ·
0 评论 ·
24 收藏

LDD学习笔记 -- 用户空间 & 内核空间

代码运行在内核空间,CPU不受限模式。内核代码可以不受限制的访问系统资源,包括内存、硬件外设、处理器指令、控制设置;系统调用处理程序(System call handlers),内核空间的一部分,负责执行系统调用;用户空间应用包括日常软件,网页浏览器、文本编辑器、媒体播放器、任何与用户交互的程序;内核空间包含关键部分:Linux调度器、设备驱动、和操作系统各个子系统相关的代码;用户及应用程序执行的内存空间,在用户空间,CPU以受限模式运行;指操作系统内存的一部分,内核(操作系统的核心)在此驻留并执行;
原创
发布博客 2024.01.02 ·
477 阅读 ·
7 点赞 ·
0 评论 ·
4 收藏

LVGL使用

配置成1,使用用户自定义的malloc/free,需要把下面的。配置成0,使用LVGL内部的内存管理,分配走。用LVGL自带的可以监测内存占用情况。中,调用LVGL的心跳。
原创
发布博客 2023.06.28 ·
1858 阅读 ·
2 点赞 ·
0 评论 ·
15 收藏

LVGL--Font

也称位图字体,其中每个字形都以一组二维像素信息表示。难以进行放缩,特定的点阵字体只能清晰地显示在相应的字号下。否则文字呗强行放大会有损字形,产生马赛克式的锯齿边缘。对于字号8-14px的尺寸较小的汉字字体,现今仍然被使用于荧幕显示上,能够提供更高的显示效果。
原创
发布博客 2023.05.25 ·
4120 阅读 ·
6 点赞 ·
0 评论 ·
16 收藏

嵌入式显示框架LVGL

LVGL官网一个免费开源的轻量、多功能图形库,提供嵌入式GUI所需的功能,具备易于使用的图形元素、美观的效果和低内存占用。TouchGFX介绍一款针对STM32微控制器进行了优化的免费高级图形软件框架,为基于STM32的硬件快速完成GUI应用程序。TouchGFX由三个主要部分组成:两个工具和一个框架。TouchGFX Designer 拖放式图形构建PC工具TouchGFX Generator STM32CubeMXPC工具进行软硬件配置可生成工程。
原创
发布博客 2023.05.25 ·
335 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Git remote 及 提交操作步骤

创建github账号,添加ssh-key,fork某个仓库(apach/nuttx为例),本地git已经配置好了前提。更新名称为remote_repository的远程仓库上的所有branch的最新commit-id,记录到。是一个版本链接,记录在本地的一个文件中,指向目前已经从远程仓库取下来的分支的末端版本。[本地,远程github fork的都和社区里的一样了]来添加当前本地仓库的远程仓库,这样本地仓库会知道当。,建立了本地仓库和远程仓库的关联,以后只需要。本地从自己的github克隆fork的代码。
原创
发布博客 2023.05.24 ·
1216 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CPU Architecture

大多数程序运行在用户模式,不能访问系统所以资源,需进行模式切换,用户模式不能直接进行模式切换,需要借助。在某种模式下,CPU使用的是这种模式的资源(例如寄存器),免去保存上一模式所使用的寄存器。芯片内核寄存器组,Cortex-A9有9种运行模式,每种模式都有一组与之对应的寄存器组。来完成模式切换,需要切换模式时,用户程序产生异常,在异常处理过程中完成处理器模式切换。R14(LR)链接寄存器,7个物理寄存器,其中一个是User和Sys和Hyp共用的;选取了使用频率高的简单指令,指令长度固定,多为单周期指令。
原创
发布博客 2023.05.19 ·
1182 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

VSCode嵌入式开发环境搭建

看这个链接就可以了,后面下载调试有点问题看下3.3。
原创
发布博客 2023.03.21 ·
4890 阅读 ·
1 点赞 ·
0 评论 ·
32 收藏

VSCode打开 C(嵌入式) 工程的一些记录

快速使用VSCode阅读编辑嵌入式C代码,快速配置c_cpp_properties.json
原创
发布博客 2022.08.07 ·
1529 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

《构建之法》笔记---第十章 典型用户和场景

典型用户(Persona)和场景(Scenario),软件功能说明书(FunctionalSpec)和技术说明书(DesignDoc),功能驱动是设计(FDD),用例(UseCase)
原创
发布博客 2022.07.28 ·
401 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《构建之法》笔记---第六章 敏捷流程

敏捷流程及其原则,Backlog、Burn-down、Sprint、Scrum方法论,各种软件开发方法论的优缺点,选择软件流程的根据
原创
发布博客 2022.07.20 ·
382 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《构建之法》笔记---第四章 两人合作

代码规范,极限编程,结对编程,两人合作的不同阶段
原创
发布博客 2022.07.15 ·
614 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

《构建之法》笔记---第二章 个人技术和流程

个人技术和流程 单元测试 回归测试 效能分析 个人软件开发流程
原创
发布博客 2022.07.09 ·
824 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

GNU GCC 编译

这篇起源于我试用g++指令编译c文件可以,gcc指令编译cpp文件出错了,加-lstdc++参数可以,。(以为gcc只编译c g++只编译cpp)哎,只想说我对这个世界一无所知。。。????GNU(GNU‘s Not Unix)????官网GNU是一个自由软件操作系统—就是说,它尊重其使用者的自由。GNU操作系统包括GNU软件包(专门由GNU工程发布的程序)和由第三方发布的自由软件。GNU的开发使你能够使用电脑而无需安装可能会侵害你自由的软件。GNU计划GNU计划,是由Richard Stal
原创
发布博客 2021.12.08 ·
1426 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

VSCode使用的一些配置

????磨刀不误砍柴功?是嘛????VSCode使用的一些配置VSCode 快捷键VS Code for C/C++ Project [????](https://code.visualstudio.com/docs/languages/cpp)安装插件 `C/C++`安装编译器配置IntelliSense [c_cpp_properties.json]构建应用程序(build)[Task.json]简单的单个文件有makefile文件的工程调试程序(debug)[launch.json]xxx.json
原创
发布博客 2021.11.15 ·
3424 阅读 ·
3 点赞 ·
1 评论 ·
21 收藏

STM32CubeMX(HAL库)--记我的1个智障操作 (ʘʚʘ嘎?

STM32CubeMX【HAL库】--记我的1个智障操作 (ʘʚʘ嘎?简单说:复杂且啰嗦地说(因为比较无聊且不想干啥):简单说:问题:stm32的一个开发板,成功下载并跑一个程序后,再想下载就下载不进去了,可以看到Debug里选择ST_LINK后,识别不到设备,无法下载了。下载方式:ST_LINK排除:接线什么的没有问题;设备管理器里的通用串行设备的驱动也正常;程序里并没有占用SWD的IO口。原因:使用的工程里文件stm32f1xx_hal_msp.c 有句话把Debug调试接口
原创
发布博客 2021.07.04 ·
488 阅读 ·
1 点赞 ·
4 评论 ·
0 收藏
加载更多