FrostVista Tutorial -- (2) UART驱动编写
FrostVista Tutorial -- (2) UART驱动编写 我们在上一章中已经说明完如何进入OS并启动了,现在我们要做的事情就是要让OS可以开口说话,也就是UART驱动的编写。 要知道,在正常的OS中,是没人帮你配置好简单的UART的,所以,我们需要自己编写一个UART驱动,来完成这个功能。 而且只有实现了UART驱动,才能让OS开口说话,我们也可以正常的打印错误日志,消息等,否则的话...
Read moreMarkdown to HTML
A tiny, fast Markdown blog for GitHub Pages.
Posts grouped in this category.
FrostVista Tutorial -- (2) UART驱动编写 我们在上一章中已经说明完如何进入OS并启动了,现在我们要做的事情就是要让OS可以开口说话,也就是UART驱动的编写。 要知道,在正常的OS中,是没人帮你配置好简单的UART的,所以,我们需要自己编写一个UART驱动,来完成这个功能。 而且只有实现了UART驱动,才能让OS开口说话,我们也可以正常的打印错误日志,消息等,否则的话...
Read moreA beginner-friendly guide to building a minimal RISC-V OS boot framework with linker scripts, assembly startup code, UART output, and Makefile configuration.
Read moreAnalysis of xv6 trampoline implementation, page table switching, and sfence.vma usage in U/S mode transitions.
Read moreImplementing UART TX interrupts with buffer management, LSR register handling, and debugging ebreak interrupt issues.
Read more本文主要讲述我在实现SBI调用链实现CLINT中断定时时遇到的问题,以及如何解决。
Read moreImplementing CLINT timer interrupts with RISC-V privilege mode handling, mscratch usage, and interrupt delegation challenges.
Read moreClarifying IP vs IE interrupt concepts in RISC-V, hardware configuration issues, and trap entry point implementation lessons.
Read moreAddressing chicken-and-egg problems in high-address mapping, PTE allocation misconceptions, and implementing ekalloc for boot-time memory management.
Read moreChallenges in implementing high-half kernel mapping, modifying kalloc for pre/post-paging allocation strategies.
Read moreUnderstanding VA2PA translation in sv39 three-level page tables and building minimal MVP with xv6 reference.
Read moreExploring RISC-V privilege architecture for Sv39 paging, PMP configuration, and trap delegation from M-mode to S-mode.
Read moreBrief note on implementing cyclic lists with sentinel nodes for memory allocator modification.
Read moreDevelopment log covering directory structure setup, printf encapsulation challenges, and LD linker issues in kernel development.
Read moreDetailed analysis of UART 16650 registers in xv6's uart.c implementation, covering IER, FCR, LCR configurations and their manual specifications.
Read more实现UNIX find命令:递归遍历目录树查找指定文件,解析文件系统结构、目录项和inode操作。
Read more实现进程间通信的ping-pong程序:使用管道和fork创建父子进程,通过双向管道传递消息。
Read more实现质数筛选器:使用管道和递归进程创建筛选管道,每个进程过滤当前质数的倍数。
Read more实现sleep命令:解析命令行参数,调用系统调用暂停进程指定时间,深入分析系统调用机制。
Read more实现xargs命令:从标准输入读取参数,为每行参数创建子进程执行命令,深入理解进程创建和参数传递。
Read more