您尚未登录。

楼主 # 2023-08-24 08:14:45

genius
会员
注册时间: 2023-08-08
已发帖子: 11
积分: 111

Xfel 如何启动内核

想请教一个问题,我用的D1开发版,我用xfel 初始化了串口和ddr ,此时直接把uboot放入了ddr的42000000地址,把kernel boot.img格式,放入了45000000地址,为什么用bootm 45000000去启动内核,只会显示start kernel?内核为啥不会正常启动跪求大佬帮帮忙

离线

#1 2023-08-24 09:27:15

哇酷小二
wechat微信:whycan_cn
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,378
积分: 1902
个人网站

Re: Xfel 如何启动内核

tina的sdk更复杂一些,我没有这么用过,为了节省时间建议还是按烧卡/烧flash流程来。





离线

楼主 #2 2023-08-24 10:25:52

genius
会员
注册时间: 2023-08-08
已发帖子: 11
积分: 111

Re: Xfel 如何启动内核

那还有一个问题,就是xfel 启动了opensbi,我把opensbi的跳转地址设为了0x4200000,然后把uboot下载到0x4200000上,但是启动opensbi后,无法正常驱动uboot,跳到0x42000000地址后好像会出错
  / __ \                  / ____|  _ \_   _|
| |  | |_ __   ___ _ __ | (___ | |_) || |
| |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
| |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name          : T-HEAD Xuantie Platform
Platform HART Features : RV64ACDFIMSUVX
Platform Max HARTs     : 1
Current Hart           : 0
Firmware Base          : 0x40000400
Firmware Size          : 99 KB
Runtime SBI Version    : 0.2

MIDELEG : 0x0000000000000222
MEDELEG : 0x000000000000b1ff
PMP0    : 0x0000000040000000-0x000000004001ffff (A)
PMP1    : 0x0000000040000000-0x000000007fffffff (A,R,W,X)
PMP2    : 0x0000000080000000-0x00000000bfffffff (A,R,W,X)
PMP3    : 0x0000000000020000-0x0000000000027fff (A,R,W,X)
PMP4    : 0x0000000000000000-0x000000003fffffff (A,R,W)
===========scratch->next_addr         : 0x42000000
[/data1/work/risc/c906/opensbi/lib/sbi/sbi_hart.c]: next_addr:42000000  sbi_hart_switch_mode: 303
[/data1/work/risc/c906/op
U-Boot 2018.05-g24521d6-dirty (Aug 22 2023 - 04:28:12 -0400) Allwinner Technology

[23.172]DRAM:  Unhandled exception: Load access fault
EPC: 000000004201318c TVAL: 0000000040010000
### ERROR ### Please RESET the board ###

最近编辑记录 genius (2023-08-24 10:26:40)

离线

#3 2023-08-24 11:04:43

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 367
积分: 316

Re: Xfel 如何启动内核

很明显没正对,Tina的uboot是一个打包文件需要分开解压一堆文件。可以看看boot0的代码,你得手动布好才行。
还不如直接用主线uboot启动,但是tina的linux会遇到一堆问题,非必要不建议折腾了

离线

楼主 #4 2023-08-24 11:37:57

genius
会员
注册时间: 2023-08-08
已发帖子: 11
积分: 111

Re: Xfel 如何启动内核

shaoxi2010 说:

很明显没正对,Tina的uboot是一个打包文件需要分开解压一堆文件。可以看看boot0的代码,你得手动布好才行。
还不如直接用主线uboot启动,但是tina的linux会遇到一堆问题,非必要不建议折腾了

主线uboot启动是什么意思,就是用pack打包好的文件吗,我这边起始就是想把uboot和内核分开启动,单独先加载uboot,然后需要的时候在启动kernel,这样的话应该如何操作

离线

楼主 #5 2023-08-24 11:54:14

genius
会员
注册时间: 2023-08-08
已发帖子: 11
积分: 111

Re: Xfel 如何启动内核

我这边只要用xfel 把 tina sdk 里面的opensbi 和uboot都编译出来了,把fw_jump.bin 放到了0x41f00000,uboot放到了0x42000000里面,然后正常启动可以发现opensbi会引导uboot成功启动,但是这个时候去bootm 内核发现内核还是启动不起来,感觉内里面的虚拟地址映射那边无法正常运行通过,不知道是什么原因,讲道理riscv已经被切换到S模式,内核不就可以被正常解压启动了吗

离线

#6 2023-08-24 13:15:41

shaoxi2010
会员
注册时间: 2019-06-13
已发帖子: 367
积分: 316

Re: Xfel 如何启动内核

全志那个boot_package.cfg那里面有所有运行需要的数据,然后再uboot.bin的header部分有部分数据是
boot0修改的,然后部分初始化比如显示需要现在uboot初始化再到内核才能正常。
最简单的就是写个xfel分payload直接装载内核和设备树这些,尽量绕开全志的tina引导

离线

楼主 #7 2023-08-24 19:11:36

genius
会员
注册时间: 2023-08-08
已发帖子: 11
积分: 111

Re: Xfel 如何启动内核

@shaoxi2010

xfel 写playload是什么意思,应该怎么操作来引导kernel;我现在理解的还比较少,确实不怎么懂;大佬能稍微讲的细一点吗;谢谢

离线

#8 2023-08-28 00:56:48

nikoladi
会员
注册时间: 2019-12-28
已发帖子: 23
积分: 5

Re: Xfel 如何启动内核

应该是一段代码,可以下载到sdram中执行。

genius 说:

@shaoxi2010

xfel 写playload是什么意思,应该怎么操作来引导kernel;我现在理解的还比较少,确实不怎么懂;大佬能稍微讲的细一点吗;谢谢

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn