Comments (13)
init exiting 请问是什么问题 _init文件也导入sd卡中了
在之前的修改中,默认是使用init
作为启动程序的名称,而不是原本使用的_init
。可以尝试将_init
改为init
,将_sh
改为sh
来避免这个问题。
from xv6-k210.
系统启动的时候,第一个用户进程initcode
会尝试通过exec
系统调用来运行init
程序,同样的,init
程序会通过exec
调用运行sh
程序。所以为了能让系统正确地运行起来,需要保证init
和sh
两个程序在文件系统中是有效的。
from xv6-k210.
谢谢大佬 初始进程加载进去了 顺便问一下我更改init中的进程调用 把sh换成了其他elf文件会报r_scause寄存器错误是什么原因怎么解决
from xv6-k210.
报错的程序是initcode
,估计是exec
调用不成功。从sepc
的值来看,已经超出原initcode
的代码段了(initcode
只有几条指令)
from xv6-k210.
不是initcode 我讲init文件换成二进制导入到原initcode数组中没改名字 大小为2.7KB没超页表大小 请问我如何更改他获取的数据段大小不让他超出范围
from xv6-k210.
堆大小需要通过sbrk
系统调用扩增,栈大小可以直接在exec.c
中修改相关代码设置,大概是下面这一段(截取自main分支)
......
sz = PGROUNDUP(sz);
uint64 sz1;
if((sz1 = uvmalloc(pagetable, kpagetable, sz, sz + 2*PGSIZE)) == 0)
goto bad;
sz = sz1;
uvmclear(pagetable, sz-2*PGSIZE);
sp = sz;
stackbase = sp - PGSIZE;
......
from xv6-k210.
不过如果你是直接修改initcode
数组的话,应该是需要修改userinit()
函数(在proc.c中)
from xv6-k210.
谢谢大佬 在qemu上已经成功将init加载到了内核中并成功运行 但是到k210上运行有时候会有scause=5的加载异常报错 经复位可以避免 请问是什么问题 附init程序
from xv6-k210.
from xv6-k210.
谢大佬 观察了下发现可能是在init里顺位调用elf造成的撞车问题 经加入循环后发生以下错误请问是什么原因
from xv6-k210.
如截图所示,是所执行的代码中包含非法指令。可以先在QEMU下进行测试,OK了以后再上板测试。建议仔细检查
一下源代码的反汇编结果,以及内核中的硬编码是否正确。
同时,建议检查一下sfence()
中的代码是否正确。K210下的MMU和TLB存在一些未知的问题,直接使用sfence.vma
无法有效地更新TLB。可以看一下Issue #16,里面有讨论这个问题。
from xv6-k210.
我觉得提问的好方法是分别寻找或者发一个issue,而不是在同一个issue下面追着作者问。更多个issue会促进用户们帮助寻找问题。我们的成员并非全职工作,平时还有自己的研究和生活,如果还是以“谢大佬,但是我……这个问题怎么办”的提问方式,你过于打扰朋友们的生活了,极有可能达不到解决问题的效果。
如果还追着我们的成员不放,我将关闭你的所有issue。
@potato-particle
from xv6-k210.
我觉得提问的好方法是分别寻找或者发一个issue,而不是在同一个issue下面追着作者问。更多个issue会促进用户们帮助寻找问题。我们的成员并非全职工作,平时还有自己的研究和生活,如果还是以“谢大佬,但是我……这个问题怎么办”的提问方式,你过于打扰朋友们的生活了,极有可能达不到解决问题的效果。
如果还追着我们的成员不放,我将关闭你的所有issue。
@cgxtudou
抱歉 之前解决问题心切 多有打扰各位
from xv6-k210.
Related Issues (20)
- make build编译过程中报错 HOT 8
- 代码清洗 HOT 2
- mount SD card HOT 6
- SD卡初始化时timeout问题 HOT 1
- 向调度器引入任务的概念
- K210多核情况下串口输出偶尔会出现混淆
- K210 无法进行 SD 卡读取 HOT 6
- 修改物理内存最大值引起的问题 HOT 1
- 关于proc页表的合并 HOT 4
- 对fat32.c中eput函数实现的疑问 HOT 1
- QEMU下初始化PLIC会panic HOT 1
- tf卡启动失败 HOT 2
- ROM regions overlapping when running on qemu HOT 4
- qemu模拟器 HOT 4
- 用opensbi启动出错 HOT 2
- make build过程报错,报错是在xv6-user/sh.c的runcmd函数上 HOT 9
- 无法在qemu7.0.0上运行 HOT 1
- 报错:Some ROM regions are overlapping HOT 3
- k210 是否实现了缓存一致性? HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xv6-k210.