duduru

2024年6月27日

通信协议+知识点总结

摘要: UART 基本特点 异步,全双工 硬件组成 RX与TX相连,无需外接任何器件(空闲时为高电平) 通信过程 串口数据的发送与接收是基于帧结构的,即一帧一帧的发送与接收数据。每一帧除了中间包含 8bit 有效数据外,还在每一帧的开头都必须有一个起始位,且固定为 0;在每一帧的结束时也必须有一个停止位,且 阅读全文

posted @ 2024-06-27 21:16 duduru 阅读(0) 评论(0) 推荐(0)

Linux笔记

摘要: [root@VM-8-5-centos ~]# ls -d ... root:当前用户 VM-8-5-centos:主机名 ~:当前所在文件夹 #:命令提示符(root用户,$:普通用户) -:命令描述,-表简写,–表全称(directory) 挂载点 挂载概述 挂在实现了文件系统与硬盘物理结构的隔 阅读全文

posted @ 2024-06-27 21:13 duduru 阅读(0) 评论(0) 推荐(0)

2024年6月3日

全志H3uboot串口移植

摘要: 由于硬件设计错误,需要把串口从uart0更改到uart2。本实验基于友善之臂的nanopi进行串口移植 移植前需要了解uboot以及uboot-spl的启动流程,这里参考: tiny210(s5pv210)上电启动流程(BL0-BL2) uboot流程——uboot-spl代码流程 uboot流程— 阅读全文

posted @ 2024-06-03 10:14 duduru 阅读(0) 评论(0) 推荐(0)

2024年5月10日

buildroot添加ssh功能

摘要: 在制作了自己的buildroot生成的根文件系统之后,是没有ssh服务的,需要自行添加。 在buildroot的menuconfig里: Target packages -> Networking applications -> openssh 重新编译,还不能通过电脑连接,还需配置并打开ssh服务 阅读全文

posted @ 2024-05-10 15:46 duduru 阅读(0) 评论(0) 推荐(0)

2024年5月8日

Saving Environment to FAT... Card did not respond to voltage select!

摘要: 在移植uboot到全志H3时,出现了错误: Saving Environment to FAT… Card did not respond to voltage select! 判定与MMC有关。 同时还有报错: Error: ethernet@1c30000 address not set. No 阅读全文

posted @ 2024-05-08 14:39 duduru 阅读(0) 评论(0) 推荐(0)

2024年1月24日

xv6中的fork()和exec()

摘要: 状态机模型 在分析fork()和exec()之前,我们需要知道计算机的状态机模型。即从状态机的角度看程序的运行,理解进程和进程切换。 进程=状态机=内存+寄存器 换句话说,有了某一时刻的内存和寄存器值,我们就可以还原那一时刻的状态机状态 fork源码解析 fork()的作用是复制一个进程。所以在分析 阅读全文

posted @ 2024-01-24 15:58 duduru 阅读(0) 评论(0) 推荐(0)

2024年1月20日

Traps and system calls

摘要: 4 Traps and system calls 以系统调用write为例,深入trap的整体流程 Trap流程 ecall 执行ecall指令,它主要完成3件事: user mode -> supervisor modepc -> sepcstvec -> pc 按Robert的说法,由于gdb的 阅读全文

posted @ 2024-01-20 14:55 duduru 阅读(0) 评论(0) 推荐(0)

Interrupts and device drivers

摘要: 5 Interrupts and device drivers 我们以串口举例,从控制台初始化开始,以命令行显示"$ "和命令输入为例,分析控制台的整个输入输出过程以及中断在其中起的作用 控制台的硬件连接 qemu中模拟的硬件连接 驱动程序框架 书里面的原话: Many device drivers 阅读全文

posted @ 2024-01-20 14:09 duduru 阅读(0) 评论(0) 推荐(0)

Locking

摘要: 6 Locking 在了解锁之前,我们要熟悉这原子性这个概念。 什么是原子性 “原子”是物质的最小组成,即原子是不可分割的。虽然到现在科学家已经发现在原子内部有更小的成分,但是在广义上原子仍然保持“不可分割”的语义。那么在芯片中的原子性是什么呢?它延续了“不可分割”这个含义,表示该系列指令的执行是不 阅读全文

posted @ 2024-01-20 14:09 duduru 阅读(0) 评论(0) 推荐(0)

Scheduling

摘要: 7 Scheduling xv6调度器的实现是非常巧妙的,当然也有很多晦涩的点。本节主要讲解调度器的原理和实现。 7.2 Code:Context Switching 前置知识 线程:单个串行执行的代码单元xv6一个用户进程只能有一个线程(Linux有多个,所以在xv6中我们就说进程=线程),且每个 阅读全文

posted @ 2024-01-20 14:07 duduru 阅读(0) 评论(0) 推荐(0)

导航