byd yes
码龄13年
关注
提问 私信
  • 博客:531,834
    社区:2,447
    动态:539
    视频:4
    534,824
    总访问量
  • 242
    原创
  • 23,086
    排名
  • 2,048
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2011-12-05
博客简介:

Do one thing at a time, and do well.

博客描述:
坚持坚持坚持
查看详细资料
  • 原力等级
    当前等级
    5
    当前总分
    1,679
    当月
    9
个人成就
  • 获得210次点赞
  • 内容获得78次评论
  • 获得813次收藏
  • 代码片获得680次分享
创作历程
  • 2篇
    2024年
  • 15篇
    2023年
  • 39篇
    2022年
  • 102篇
    2021年
  • 15篇
    2016年
  • 9篇
    2015年
  • 60篇
    2014年
  • 3篇
    2013年
  • 9篇
    2012年
成就勋章
TA的专栏
  • riscv-spl/opensbi/uboot源码解析
    付费
    8篇
  • Linux-riscv内存管理面试120问
    付费
    7篇
  • risc-v bare metal
    付费
    28篇
  • 操作系统实现
    6篇
  • linux.mm
    59篇
  • linux.network
    8篇
  • OpenSBI
    6篇
  • basic.armv8
    14篇
  • Linux.debug
    1篇
  • rpi
    3篇
  • tools
    2篇
  • linux.irq
    1篇
  • basic.x86-64
    1篇
  • Linux.Driver
    5篇
  • Linux.Kernel
    7篇
  • 嵌入式开发环境建立
    7篇
  • C/C++
    4篇
  • OpenWrt
    20篇
  • Introduction-to-Algorithms
    16篇
  • Basics.Embedded
    17篇
  • git
    5篇
  • iptables
    1篇
  • video
    12篇
  • socket
    3篇
  • linux.app
    3篇
  • Qt
  • shell
  • js
    8篇
兴趣领域 设置
  • 网络与通信
    tcp/ip
  • 操作系统
    risc-v
TA的社区
  • linux-riscv
    4 成员 4 内容
    创建者
  • richard.dai_2
    3 成员 2 内容
    创建者
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

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

openwrt出现rootfs只读原因

从新编译openwrt软件。openwrt启动时出现。rootfs未对齐。
原创
发布博客 2024.09.24 ·
411 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

vidoe

发布视频 2024.05.27

OrangePi AIpro 性能测试以及使用体验

OrangePi AIpro是一款单板计算机,主要用于人工智能应用。它的优点可以简单概述如下:强大的性能:OrangePi AIpro配备了高性能的处理器和GPU,能够处理复杂的人工智能任务和计算密集型应用。丰富的接口:它提供了丰富的接口,包括多个USB接口、网口、HDMI接口等,便于连接外部设备和扩展功能。支持多种人工智能框架:OrangePi AIpro支持多种流行的人工智能框架,如TensorFlow、PyTorch等,方便开发人员进行模型训练和推理。
原创
发布博客 2024.05.27 ·
963 阅读 ·
16 点赞 ·
0 评论 ·
12 收藏

0. linux-riscv内存管理120问大纲

内存管理之预备知识1.1 请简述内存架构中UMA和NUMA的区别1.2 CPU访问各级存储结构的速度是否一样?1.3 请绘制内存管理常用的数据结构的关系图,如mm_struct、VMA、vaddr、page、PFN、PTE、zone、paddr和pg_data等,并思考如下转换关系1.3.1 如何由mm_struct和vaddr找到对应的vma?1.3.2 如何由page和VMA找到vaddr?1.3.3 如何由page找到所有映射的VMA?1.3.4 如何由VMA和vaddr找出相应的p
原创
发布博客 2023.09.13 ·
557 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5. Linux-riscv内存管理21-24问

MIN水位以下的内存,只能被紧急情况下的用户申请到,最著名的紧急用户莫过于PF_MEMALLOC用户,task_struct设置了这个标记表示忽略MIN水位。在__alloc_pages函数中如果进入慢速分配路径( __alloc_pages_slowpath()函数),在__alloc_pages_slowpath()函数中,会调用。在__zone_watermark_ok函数中,由于ATOMIC有表示ALLOC_HIGH,并且会设置ALLOC_HARDER, 则会触及到5/8*min的内存。
原创
发布博客 2023.09.12 ·
472 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4. Linux-riscv内存管理17-20问

由于在prepare_alloc_pages()函数中会根据gfp-mask选取出合适的zone,在遍历zone时,会从刚选择的zone开始扫描zone,一般按照这个方向遍历ZONE_DEVICE->ZONE_MOVABLE->ZONE_HIGHMEM->ZONE_NORMAL->ZONE_DMA32->ZONE_DMA。zone有哪些类型:ZONE_DMA、ZONE_DMA32、ZONE_NORMAL、ZONE_HIGHMEM、ZONE_MOVABLE、ZONE_DEVICE。
原创
发布博客 2023.09.11 ·
473 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2.5 opensbi: riscv: opensbi源码解析

从sbi_trap_handler()函数中,我们可以看到其中处理的中断只有IRQ_M_TIMER和IRQ_M_SOFT,处理函数分别为sbi_timer_process()和sbi_ipi_process()。函数作用:设置所有hart状态为SBI_HSM_STATE_STARTED。函数位置:lib/sbi/sbi_timer.c。函数位置:lib/sbi/sbi_hart.c。函数位置:lib/sbi/sbi_hsm.c。函数位置:lib/sbi/sbi_ipi.c。
原创
发布博客 2023.09.06 ·
532 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

大美青海

发布动态 2023.09.01

riscv-linux中的多核启动流程

在注册sbi_ipi_event_create的时候ipi_ops_array[0]为ipi_smode_ops,ipi_ops_array[1]为ipi_halt_ops,异常处理函数sbi_trap_handler,判断为IRQ_M_SOFT,则调用软中断处理函数sbi_ipi_process,根据SBI_EXT_HSM和SBI_EXT_HSM_HART_START可以在opensbi找到对应的回调函数。找到cpu_ops_sbi结构体:sbi_cpu_start是我想找到的启动第二个核的函数。
原创
发布博客 2023.08.30 ·
672 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

2.4 opensbi: riscv: opensbi源码解析

当编程timer中断到来时,陷入m模式的异常,进入_trap_handler汇编函数,调用sbi_trap_handler()->sbi_timer_process(),在sbi_timer_process函数中触发一个s模式的timer中断,真正的timer中断处理函数是在s模式处理的。在aclint_mtimer_cold_init()函数中会初始化time_rd以及time_wr回调函数,64位系统为mtimer_time_rd64()函数和mtimer_time_wr64()函数。
原创
发布博客 2023.08.29 ·
382 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2.3 opensbi: riscv: opensbi源码解析

设置hart 的状态,如果是冷启动hart设置为PENDING,其他的hart设置为STOPPED,状态信息放在hsm_data的state字段中。sbi_platform_early_init(plat, TRUE) 函数,调用对应平台设置的回调函数,一般都没有设置。冷启动的hart为每个hart的extra space空间分配一个struct sbi_hsm_data结构体。如果热启动的hart则开启ipi,并且判断字节的状态不是PENDING的话则进入wfi状态。
原创
发布博客 2023.08.21 ·
420 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

2.2 opensbi: riscv: opensbi源码解析

函数位置:firmware/fw_base.S函数作用:重置寄存器 除了ra, a0, a1 和a2关闭和清理所有中断设置每个hartid的栈地址设置mscratch指向sbi_scatch结构体设置异常处理函数_trap_handler(所有hart 都会去设置)设置参数为sbi_scatch结构体,调用sbi_init/*1. 重置寄存器 除了ra, a0, a1 和a2*/li ra, 0/*2. 关闭和清理所有中断*//*3. 设置每个hartid的栈地址*/
原创
发布博客 2023.07.25 ·
592 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

3. Linux-riscv内存管理17-24问

由于在prepare_alloc_pages()函数中会根据gfp-mask选取出合适的zone,在遍历zone时,会从刚选择的zone开始扫描zone,一般按照这个方向遍历ZONE_DEVICE->ZONE_MOVABLE->ZONE_HIGHMEM->ZONE_NORMAL->ZONE_DMA32->ZONE_DMA。在__alloc_pages函数中如果进入慢速分配路径( __alloc_pages_slowpath()函数),在__alloc_pages_slowpath()函数中,会调用。
原创
发布博客 2023.07.20 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2.1 opensbi: riscv: opensbi源码解析

在spl跳转到opensbi执行的时候,携带了三个参数,分别保存在a0,a1,a2,三个参数的含义:hartid、fdt地址(u-boot的dtb文件)和struct fw_dynamic_info结构体地址。在这里我们使用的是dynamic负载,所有fw_boot_hart汇编函数位于firmware/fw_dynamic.S。opensbi第一条执行的指令是从_start开始(firmware/fw_base.S).代码如下。在执行make的时候可以指定是否开启FW_PIC,,如果开启FW_PIC,
原创
发布博客 2023.07.19 ·
1654 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

2. Linux-riscv内存管理13-16问

从下表可以看出内核映像文件是被映射到了0xffffffff80000000-0xffffffffffffffff此区域范围内,因为内核映射,可以能随机映射到这个范围的任意地方。linux启动后回去扫描dts文件中的所有节点,其中也包括dts文件中定义的物理内存大小。0xffffffc000000000-0xffffffffffffffff为内核空间,0x0000000000000000- 0xffffffbfffffffff为用户空间。
原创
发布博客 2023.07.17 ·
404 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

1.2 SPL:riscv:uboot-spl源码解析

问题:如何根据struct spl_image_loader *drv找到对应的代码加载u-boot答:在common/spl/spl_mmc.c中,可以看到宏会将每个驱动函数定义的struct spl_image_loader结构体链接到__u_boot_list_2_spl_image_loader_1和__u_boot_list_2_spl_image_loader_3段中间。分析展开**SPL_LOAD_IMAGE_METHOD()**宏。
原创
发布博客 2023.07.16 ·
1190 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

1.1 SPL: riscv: u-bool-spl源码解析

riscv spl分两部分,这是其中第一部分。
原创
发布博客 2023.07.15 ·
700 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

1. Linux-riscv内存管理1-11问

在匿名页面中:page->index表示在vma中的第几个物理页面(单位是PAGE_SIZE)。可能将vma->vm_pgoff 想成0的话,更好理解。
原创
发布博客 2023.07.11 ·
542 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

macbook m2 安装riscv-elf-gdb

macbook m2上远程单步调试linux内核。
原创
发布博客 2023.02.24 ·
700 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

学了差不多一年risc-v体系结构,还是感觉学习的不系统,发现笨叔叔出了risc-v系统结构的书籍和视频,一周就把视频刷了一遍。讲解的很系统,很细致。每一小节都有一个小实验,动手做实验才能够清楚的理解知识点。不错,值得推理,微信扫码

发布动态 2023.02.21
加载更多