xy_L
码龄5年
关注
提问 私信
  • 博客:49,285
    社区:120
    49,405
    总访问量
  • 57
    原创
  • 87,405
    排名
  • 56
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2019-08-13
博客简介:

weixin_45523296的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    567
    当月
    1
个人成就
  • 获得102次点赞
  • 内容获得7次评论
  • 获得171次收藏
  • 代码片获得227次分享
创作历程
  • 6篇
    2024年
  • 9篇
    2023年
  • 42篇
    2022年
成就勋章
TA的专栏
  • 电力规约
  • stm32
    2篇
  • Linux驱动学习
    5篇
  • Linux
    1篇
  • Unix环境高级编程学习笔记
    7篇
  • uboot学习笔记
  • S5PV210裸机学习
  • 数据结构
    42篇
创作活动更多

如何做好一份技术文档?

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

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

基于STM32F407ZG的FreeRTOS移植

将configUSE_IDLE_HOOK,configUSE_TICK_HOOK,configCHECK_FOR_STACK_OVERFLOW,configUSE_MALLOC_FAILED_HOOK改成0.(1)stm32f4xx_it.c中注释void SVC_Handler(void),void PendSV_Handler(void)函数。(1)在工程中添加FreeRTOS文件夹下的内容,port.c和portasm.s是port文件夹中的,MemMang中只需要heap.c。
原创
发布博客 2024.07.05 ·
448 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

基于STM32F407ZG的FreeRTOS移植

发布资源 2024.07.05 ·
zip

了解ROM和RAM

(2)Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,它可以用于存储Bootloader和操作系统以及程序代码,应用程序可以直接在闪存中运行。(1)它结合了ROM和RAM的优点,具有电子可擦除、可编程(EEPROM)的性能,Flash不仅掉电不会丢失数据,还具有快速读取数据的优点。(6)读写和擦除速度:NOR Flash的读写速度比NAND块,NAND Flash的写入和擦除速度比NOR Flash快。(5)NOR Flash:可以直接运行装载在NOR Flash中的程序。
原创
发布博客 2024.07.01 ·
243 阅读 ·
6 点赞 ·
0 评论 ·
4 收藏

1.5 驱动设备类文件创建

(3)在加载模块的时候,用户空间中的udev会自动响应device_create(…)函数,去/sys下寻找对应的类从而创建设备节点。(1)内核通过class_create(…)函数,创建一个类,这个类存放于/sys中。(2)device_create(…)函数来在/dev目录下创建相应的设备节点。
原创
发布博客 2024.04.20 ·
299 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

1.4 简单的LED驱动

静态映射:内核移植时直接使用编码的方式,如果需要修改地址映射则要修改内核源代码,还要重新编译内核。驱动操作硬件时需要用到硬件物理地址在内核虚拟地址空间相对应的虚拟地址。动态映射:驱动根据需要动态建立映射。
原创
发布博客 2024.04.14 ·
259 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

1.3 字符设备驱动

向内核注册字符设备,也就是在内核中登记,让内核中分配一个设备号,标识该驱动。mknod /dev/xxx c 主设备号 次设备号。
原创
发布博客 2024.04.13 ·
220 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

1.2 简单的驱动源码分析

2、printk打印级别。
原创
发布博客 2024.04.11 ·
147 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏

Linux搭建TFTP服务器

(2)tftp服务器(tftpd-hpa)和客户端(tftp-hpa)安装。(1)网络守护进程程序安装。
原创
发布博客 2023.12.24 ·
1900 阅读 ·
9 点赞 ·
0 评论 ·
12 收藏

1 .1 Linux驱动初了解

:又称单内核,就是将各个模块整合在一起,例如:进程管理、线程管理、内存管理等等都运行在内核态,并同时运行在一个单独的地址空间。(1)网络设备面向数据包的发送而设计,它并不对应于文件系统的节点。(1)应用程序与驱动程序之间的数据交互是以块(固定大小的字节)为单位的,主要针对的是存储设备,如:硬盘、U盘、eMMC、SD卡等。(1)应用程序与驱动程序之间的数据交互是以字符(字节)为单位的,如:LCD、串口、LED。):操作系统模块化,只有一个核心模块(微内核)运行在内核态,其它模块作为普通进程运行。
原创
发布博客 2023.07.22 ·
186 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

7 进程控制

如果一个子进程已经终止,是一个僵死进程,则 wait立即返回并取得该子进程的状态,否 则wait使其调用者阻塞直到一个子进程终止。一个现存进程调用fork函数是UNIX内核创建一个新进程的唯一方法 (这并不适用于前节提及的交换进程、init进程和页精灵进程。vfork与fork一样都创建一个子进程, 但是它并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec (或exit ),于是也就不会存访该地址空间。两次返回的区别是子进程的返回值是 0,而父进程的返回值则是新子进程的进程 ID。
原创
发布博客 2023.07.14 ·
346 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

6 进程的环境

如果 ( a )若调用这些函数时不带终止状态,或 ( b ) main执行了一个无返回值的return语句,或( c ) main执行隐式返回,则该进程的终止状态是末定义的。exit和_exit函数用于正常终止一个程序: _exit立即进入内核,exit则先执行一些清除处理 (包括调用执行各终止处理程序,关闭所有标准I / O流等),然后进入内核。其中,atexit的参数是一个函数地址,当调用此函数时无需向它传送任何参数,也不期望它返回一个值。下图中显示了一个C程序是如何起动的,以及它终止的各种方式。
原创
发布博客 2023.05.11 ·
918 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

5 系统数据文件和信息

例如, BSD网络软件有一个记录各网络服务器所提供的服务的数据文件 (/etc/services ),有一个记录协议信息的数据文件(/etc/protocols),还有一个则是记录网络信息的数据文件(/etc/networks)。幸运的是,对于这些数据文件的界面都与上述对口令文件和组文件的相似。localtime和gmtime之间的区别是: localtime将日历时间变换成本地时间 (考虑到本地时区和夏时 制标志),而gmtime则将日历时间变换成国际标准时间的年、月、日、时、分、秒、周日。
原创
发布博客 2023.05.05 ·
468 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4 标准I/O库

(3)fdopen取一个现存的文件描述符(我们可能从open , dup , dup2 , fcntl或pipe函数得到此文 件描述符),并使一个标准的I/O流与该描述符相结合。因为这些特殊类型的文件不能用标准 I/O fopen函数打开,首先必须先调用设备专用函数以获得一个文件描述符,然后用 fdopen使一个标准I/O流与该描述符相结合。该对象通常是一个结 构,它包含了I/O库为管理该流所需要的所有信息:用于实际 I/O的文件描述符,指向流缓存的指针,缓存的长度,当前在缓存中的字符数,出错标志等等。
原创
发布博客 2023.05.04 ·
616 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

3 文件和目录

如果某个实现的处理是扩展该文件,则在以前的文件尾端和新的文件尾端之间的数据将读作0。给定一个pathname,stat函数返回一个与此命名文件有关的信息结构, fstat函数获得已在描述符filedes上打开的文件的有关信息。lstat函数类似于stat,但是当命名的文件是一个符号连接时, lstat返回该符号连接的有关信息,而不是由该符号连接引用的文件的信息。符号连接是对一个文件的间接指针,它与上一节所述的硬连接有所不同,硬连接直接指向文件和目录的i节点。此字段只对普通文件、目录文件和符号连接有意义。
原创
发布博客 2023.05.01 ·
1185 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

2 文件IO

例如, i节点包含了文件的所有者、文件长度、文件所在的设备、指向文件在盘上所使用的实际数据块的指针等等。我们假定第一个进程使该文件在文件描述符 3上打开,而另一个进程则使此文件在文件描述符 4上打开。打开此文件的每个进程都得到一个文件表项,但对一个给定的文件只有一个 v节点表项。每个进程都有自己的文件表项的一个理由是:这种安排使每个进程都有它自己的对该文件的当前位移量。假定进程A调用了lseek,进程B也调用了lseek,这时如果有一个进程写了数据,那么文件的长度就会发生改变,就会影响另一个进程的操作。
原创
发布博客 2023.04.28 ·
677 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

1 Unix基础知识

但是对于用户而言,使用名字比使用数值方便,所以口令文件包含了登录名和用户ID之间的映射关系,而组文件则包含了组名和组ID之间的映射关系。口令文件中的登录项由7个以冒号分隔的字段组成:登录名,加密口令,数字用户ID(224),注释字段,起始目录(/home/username),以及shell程序(/bin/ksh)。目录(directory)是一个包含目录项的文件,在逻辑上,可以认为每个目录项都包含一个文件名,同时还包含说明该文件属性的信息。文件属性是:文件类型,文件长度,文件所有这,文件的许可权。
原创
发布博客 2023.04.27 ·
520 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

8.5 数据结构——归并排序和基数排序

归并排序和基数排序
原创
发布博客 2022.11.26 ·
410 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

8.4 数据结构——选择排序

选择排序
原创
发布博客 2022.11.26 ·
280 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

8.3 数据结构——交换排序

交换排序
原创
发布博客 2022.11.26 ·
483 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

8.2 数据结构——插入排序

插入排序
原创
发布博客 2022.11.26 ·
304 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多