Code Monkey home page Code Monkey logo

Comments (6)

pascalApple avatar pascalApple commented on May 25, 2024

而且从打印的log来看似乎有两个核心参与到了load数据的过程中

from quard_star_tutorial.

QQxiaoming avatar QQxiaoming commented on May 25, 2024

您好,我在作者 ch9 的时候遇到了一些问题,现象是 build.sh 可以编译,但是 qemu 的所有学生都没有打印,我在低级启动的开始打印。S中手动添加了一些日志的语句,这些语句能够在serial3中产生输出。 个人怀疑原因可能是opensbi或者uboot未能成功加载的情况你 不知道是否遇到过这种情况

我在开发过程中没遇到这个情况,一般如果类似的问题我会使用添加qemu选项-d in_asm -D qemu.log来跟踪一下boot启动阶段的关键跳转是否正确,你可以尝试下。

from quard_star_tutorial.

QQxiaoming avatar QQxiaoming commented on May 25, 2024

从的过程中看起来似乎有两个重要参与者打印到加载数据的中

我查了一下我打tag的ch9节的代码,有通过csrr a0, mhartid来确保只有一个核心load,我印象了之前确实存在你说的这个问题,然后我在某一版本修复了,最终可能和博客章节有点对不上,你根据我的tag对应一下。

	.section .text
	.globl _start
	.type _start,@function
_start:
        csrr    a0, mhartid
	beq		a0, zero, _no_wait
_loop:
	loop	0x1000
	la		t0, _pen
	lw		t0, 0(t0)
	beq		t0, zero, _run
	j       _loop
_no_wait:
	la		t0, _pen
	la		t1, 1
	sw		t1, 0(t0)
	//load opensbi_fw.bin 
	//[0x20200000:0x20400000] --> [0xBFF80000:0xC0000000]
    li		a0,	0x202
	slli	a0,	a0, 20
    li		a1,	0xbff
	slli	a1,	a1, 20
	li		a2,	0x800
	slli	a2,	a2, 8
	add 	a1,	a1, a2
	add 	a2,	a1, a2
	load_data a0,a1,a2

from quard_star_tutorial.

pascalApple avatar pascalApple commented on May 25, 2024

我对应了下本地的代码,和你上面发的那个一致
然后我这次加上了qemu的log,发现ch9,以及博客中的那个修复了文件缺失的commit,从log中打印的代码来看,都没能跑通启动的流程

from quard_star_tutorial.

QQxiaoming avatar QQxiaoming commented on May 25, 2024

我对应了下本地的代码,和你上面发的那个一致
然后我这次加上了qemu的log,发现ch9,以及博客中的那个修复了文件缺失的commit,从log中打印的代码来看,都没能跑通启动的流程

loop次数增大一点看呢?

from quard_star_tutorial.

QQxiaoming avatar QQxiaoming commented on May 25, 2024

关于ch9无法运行的问题,今天CSDN社区上的一位用户:lov1225给我发私信指出:lowlevelboot/startup.s:67的位置上,应将
slli a2, a2, 4
改为
slli a2, a2, 8
才能正确加载quard_star_sbi.dtb 512K的区域到ddr上,之前的错误导致只能加载32K。但我这边看到这节生成的dtb只有5k,所以我之前没有发现问题。所以是否你的环境生成的dtb超过32K导致这个问题出现?如果是这样的可以尝试修改此处。

from quard_star_tutorial.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.