jzxnb521
码龄5年
关注
提问 私信
  • 博客:18,506
    动态:2
    18,508
    总访问量
  • 23
    原创
  • 41,266
    排名
  • 367
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:重庆市
  • 加入CSDN时间: 2019-10-15
博客简介:

jzxnb521的博客

查看详细资料
  • 原力等级
    当前等级
    1
    当前总分
    75
    当月
    13
个人成就
  • 获得294次点赞
  • 内容获得1次评论
  • 获得351次收藏
创作历程
  • 1篇
    2025年
  • 21篇
    2024年
  • 1篇
    2022年
成就勋章
兴趣领域 设置
  • 嵌入式
    单片机stm32物联网嵌入式硬件
  • 硬件开发
    arm开发
  • 操作系统
    linuxubuntu
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

freertos

当一个任务执行时,它会利用处理器/微控制器寄存器,并像其他程序一样访问 RAM 和 ROM。这些资源(处理器寄存器,堆栈等)一起组成了任务执行。
原创
发布博客 2025.03.27 ·
830 阅读 ·
9 点赞 ·
0 评论 ·
21 收藏

嵌入式内核&驱动(下)

仅devfs,导致开发不方便以及一些功能难以支持:热插拔不支持一些针对所有设备的统一操作(如电源管理)不能自动mknod用户查看不了设备信息设备信息码,导致驱动代码通用性差,即没有分离设备和驱动从 硬编 -> (2.0)总线式驱动开发 -> (3.0)设备树。
原创
发布博客 2024.07.28 ·
992 阅读 ·
8 点赞 ·
0 评论 ·
19 收藏

嵌入式内核&驱动(中下)

一种硬件上的通知机制,用来通知CPU发生了某种需要立即处理的事件CPU执行程序的过程中,发生的一些硬件出错、运算出错事件(如分母为0、溢出等等),不可屏蔽外设发生某种情况,通过一个引脚的高、低电平变化来通知CPU (如外设产生了数据、某种处理完毕等等)//参数:t:tasklet的结构体。
原创
发布博客 2024.07.24 ·
839 阅读 ·
30 点赞 ·
0 评论 ·
16 收藏

嵌入式内核&驱动(中上)

/ 主设备号// 次设备号// 设备数量// 定义一个字符设备结构体通过这种方式,用户空间的程序能够与内核空间的模块交互,从而不是简单地使用库文件中的open和close实现,而是实际上调用了内核模块中定义的特定函数。这就是用户空间如何触发内核模块中定义的打印信息的基本机制。字符设备驱动开发步骤:如果设备有自己的一些控制数据,则定义一个包含struct cdev cdev成员的结构体struct mydev,其它成员根据设备需求,设备简单则直接用struct cdev。
原创
发布博客 2024.07.21 ·
755 阅读 ·
20 点赞 ·
0 评论 ·
18 收藏

嵌入式内核&驱动(上)

狭义的操作系统:给应用程序提供运行环境的裸机程序,也被称为操作系统内核广义的操作系统:一组软件集合,它包含:内核 (kernel)app开发常用的一些功能库(如:C语言标准函数库、线程库、C++标准类库、QT类库等等)一些管理用的特殊app(如桌面、命令行、app包管理器、资源管理器、系统设置、一些常用后台服务程序)驱动(Driver)设备驱动(Device Driver)一种添加到操作系统中的特殊程序,主要作用是协助操作系统完成应用程序与对应硬件设备之间数据传送的功能。
原创
发布博客 2024.07.14 ·
1039 阅读 ·
9 点赞 ·
0 评论 ·
27 收藏

系统移植喝喝

编译完成后会在源码顶层目录下生成u-boot.bin文件,但该文件还不能在我们的开发板上运行,因为以上操作我们只是把origen相关的文件的名字改成了fs4412,使uboot能识别fs4412开发板,但文件中的代码还是origen的,和我们的开发板不匹配,所以我们还需要进一步进行修改和配置。Linux是一个通用的内核,并不是为某一个特定的处理器架构或板卡设计的,所以从官方获取Linux源码后,我们要先经过相应的配置,使其与我们当前的硬件平台相匹配后,才能进行编译和安装。
原创
发布博客 2024.07.10 ·
960 阅读 ·
18 点赞 ·
1 评论 ·
9 收藏

IIC(Inter-Integrated Circuit)

简介简介IIC总线是Philips公司在八十年代初推出的一种总线,主要用于近距离、低速的芯片之间的通信;IIC总线有两根双向的信号线一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步;IIC总线硬件结构简单,成本较低,因此在各个领域得到了广泛的应用IIC总线是一种总线,连接在IIC总线上的器件分为主机和从机主机有权发起和结束一次通信,而从机只能被主机呼叫;当总线上有多个主机同时启用总线时,IIC也具备和仲裁的功能来防止错误产生;每个连接到IIC总线上的器件都有一个唯一的地址(
原创
发布博客 2024.07.04 ·
1113 阅读 ·
20 点赞 ·
0 评论 ·
22 收藏

exynos4412开发

目录目录FS4412硬件资源原理交叉开发环境搭建地址映射 硬件控制原理GPIOLED实验C工程与寄存器封装 逻辑运算解决问题 UART通信基础 并行通信串行通信 单工通信双工通信 波特率UART帧格式UART硬件连接​编辑UART控制器 引脚功能设置Exynos4412下的UART控制器 UART 寄存器详解UART编程WDTExynos4412下的WDT控制器WDT寄存器详解WDT编程中断CPU与硬件的交互方式轮训方式实现按键实验GPIO中断中断控制器中断控制器作用 Exynos4412的中断控制器
原创
发布博客 2024.07.02 ·
956 阅读 ·
22 点赞 ·
0 评论 ·
17 收藏

ARM体系结构与编程

计算机基础知识——认识寄存器 内核有三种含义:一个公司的名称一类处理器的通称一种技术> 成立于1990年11月,前身为Acorn计算机公司> 主要设计ARM系列RISC处理器内核> 授权ARM内核给生产和销售半导体的合作伙伴,ARM公司并不生产芯片> 提供基于ARM架构的开发设计技术软件工具、评估板、调试工具、应用软件、总线架构、外围设备单元等。
原创
发布博客 2024.06.11 ·
1402 阅读 ·
14 点赞 ·
0 评论 ·
33 收藏

域名解析&HTTP

<body></body>
原创
发布博客 2024.05.18 ·
706 阅读 ·
17 点赞 ·
0 评论 ·
22 收藏

套接字属性设置&广播、组播

基本概念:设置套接字的选项对套接字进行控制,除了设置选项外,还可以获取选项 ,选项的概念相当于属性,所以套接字选项也可说是套接字属性,有些选项(属性)只可获取,不可设置;有些选项既可设置也可获取。
原创
发布博客 2024.05.16 ·
890 阅读 ·
24 点赞 ·
0 评论 ·
5 收藏

I/O模型

阻塞式IO在进行数据读取时,如果内核中没有数据(发送端可能还没有发送数据或者发送的数据还没有达到),此时内核就开始等待数据,同时用户进程也进入阻塞状态,整个进程就会被挂起等待,不能做其他的事情。(单线程多线程根据具体业务要求),线程每次询问操作系统是否准备好数据时不再向阻塞IO那样,要把自己挂起,而是每次询问,操作系统直接返回结果,有数据就返回数据,没有数据就返回异常,但同时造成大量地空沦陷,不是所有的连接都有数据到来,进程也会一直占用CPU。在Linux中,默认所有的socket都是阻塞式的。
原创
发布博客 2024.05.13 ·
659 阅读 ·
9 点赞 ·
0 评论 ·
10 收藏

TCP(传输控制协议)详解

答:不能简化为“两报文握手”建立TCP连接,原因如下:(1)TCP客户进程发出一个TCP连接请求报文段。但该报文段在某些网络节点长时间滞留了。这必然会造成该报文段的超时重传,假设重传的连接请求报文段被TCP服务器进程正常接收。(2) TCP服务器进程给TCP客户进程发送一个TCP连接请求确认报文段,并进入连接已建立状态。
原创
发布博客 2024.04.25 ·
1319 阅读 ·
7 点赞 ·
0 评论 ·
28 收藏

UDP通信

数据被复制到缓冲区中,但不会从输入队列中删除。:处理带外(OOB)数据。(带外数据是TCP内容)2. 后两个参数是通信结构体和结构体的宽度;1. 前四个参数同recv/send一样;socket接口拓展:详可见。
原创
发布博客 2024.04.25 ·
208 阅读 ·
6 点赞 ·
0 评论 ·
3 收藏

实现TCP通信(含地址快速重用介绍)

通信地址族:AF_INET: 使用IPv4 互联网协议 AF_INET6: 使用IPv6 互联网协议 ......TCP唯一对应流式套接字,所以选择SOCK_STREAM(数据报套接字:SOCK_DGRAM)指定协议 流式套接字唯一对应TCP,所以无需要指定协议,设为0即可。
原创
发布博客 2024.04.24 ·
238 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

网络编程笔记

*创建套接字*///type:套接字类型/*绑定通信结构体*//*监听套接字*//*处理客户端发起的连接,生成新的套接字*//*向服务器发起连接请求*/
原创
发布博客 2024.04.23 ·
814 阅读 ·
9 点赞 ·
0 评论 ·
29 收藏

消息队列&信号灯/信号量(semaphore)

cmd 要执行的操作 IPC_STAT / IPC_SET / IPC_RMID(删除)msgtype=0:收到的第一条消息,任意类型。IPC_NOWAIT:如果没有返回条件的消息调用立即返回,此时错误码为ENOMSG。msgtype>0:收到的第一条 msg_type类型的消息。IPC_NOWAIT:当消息队列已满的时候,msgsnd函数不等待立即返回。1 .消息结构必须有long类型的msg_type字段,表示消息的类型。0:当消息队列满时,msgsnd将会阻塞,直到消息能写进消息队列。
原创
发布博客 2024.04.19 ·
788 阅读 ·
17 点赞 ·
0 评论 ·
18 收藏

进程间通信 - 信号机制

0:发送信号给跟调用kill函数的那个进程处于同一进程组的进程。< -1: 取绝对值,发送信号给该绝对值所对应的进程组的所有组员。SIG_IGN 代表忽略信号;sa_sigaction: 另一个信号处理函数,它有三个参数,可以获得关于信号的更详细的信息。信号递达(Delivery ):实际信号执行的处理过程(3种状态:忽略,执行默认动作,捕获)SA_NODEFER:使对信号的屏蔽无效,即在信号处理函数执行期间仍能发出这个信号。
原创
发布博客 2024.04.18 ·
983 阅读 ·
20 点赞 ·
0 评论 ·
12 收藏

内存映射的概念与使用

共享内存可以通过mmap()映射普通文件;使一个磁盘文件与内存中的一个缓冲区相映射,进程可以像访问普通内存一样对文件进行访问,不必再调用read,write。mmap()mmap()的函数定义:功能:创建共享内存映射函数返回值:成功返回创建的映射区首地址,失败返回MAP_FAILED( ((void *) -1) ),设置errno值参数说明:addr:指定要映射的内存地址,一般设置为 NULL, 让操作系统自动选择合适的内存地址。length:必须>0。
原创
发布博客 2024.04.18 ·
1007 阅读 ·
9 点赞 ·
0 评论 ·
15 收藏

进程间通信

对于以只写方式(O_WRONLY)打开的FIFO文件,如果open调用是阻塞的(即第二个参数为O_WRONLY),open调用将被阻塞,直到有一个进程以只读方式打开同一个FIFO文件为止;如果open调用是非阻塞的(即第二个参数为O_WRONLY | O_NONBLOCK),open总会立即返回,但如果没有其他进程以只读方式打开同一个FIFO文件,open调用将返回-1,并且FIFO也不会被打开。(2) 写端没有全部被关闭,read阻塞等待(不久的将来可能有数据递达,此时会让出cpu)
原创
发布博客 2024.04.16 ·
890 阅读 ·
10 点赞 ·
0 评论 ·
9 收藏
加载更多