1)但是为什么eboot起不来呢?至少有输出才对啊。
2)还有我知道block1中要写入一个tocblock1的文件,记录nk的信息,但是谁写入得呢,是eboot么?什么时候写的呢。我看wince4.2之前的版本都是把这个文件用jtag写进去的,但是我买的开发板给的手册没有这一项。现在是什么原理呢?
3)还有一个MBR的什么扇区信息,也是eboot写的么?
4)nboot写入的是nboot.bin文件,写eboot时候需要什么文件,.nb0还是.bin 他们有什么区别?
5)网上有两种常见的eboot,一种目录下有startup.s文件,初始化硬件cpu等可以在norflash上运行。还有一种没有startup.s文件,一般文件夹都是小写。我现在用的是第二种。想知道用nboot引导eboot,硬件还需要重新初始化么,因为nboot已经把最基本的都设置过了。如果需要的话在那个文件中?这种eboot的代码流程是怎么进行的?我怀疑串口没有输出是因为某个硬件初始化不对,但是找不到相关文件
回答单个问题也给分,谢谢了
20 个解决方案
#1
在初期最好找个好的来弄,不然开发一个bootloader涉及了ARM多方面,很难的。
优龙,立宇泰的都不错。
优龙,立宇泰的都不错。
#2
关于eboot啊,什么MBR,我的博客有一些介绍,楼主找些代码来看就更好。
#3
eboot要烧录.nb0文件
至于区别,你在论坛里搜索一下,已经回答过很多次了。
MBR,TOC可以用也可以不用,看你的nboot是怎么写的了。
至于区别,你在论坛里搜索一下,已经回答过很多次了。
MBR,TOC可以用也可以不用,看你的nboot是怎么写的了。
#4
mark
#5
1.估计是串口没起来。
2.你是指调试信息吗?那个是EBOOT打。3也是EBOOT的事
4.BIN和NB0一个是压缩的一个是没有压缩的
5.这种认识不太正确,要看代码的。
2.你是指调试信息吗?那个是EBOOT打。3也是EBOOT的事
4.BIN和NB0一个是压缩的一个是没有压缩的
5.这种认识不太正确,要看代码的。
#6
#7
up
#8
关于问题5,我看到网上介绍的eboot流程都是从startup.s开始的。但是有的eboot没有这个文件,那么nboot在把指针交给eboot时,第一个执行的是那个函数或者文件呢,不会是main()吧?eboot不需要对硬件再进行初始化了么
#9
没啊,从eboot。nbo最开始执行,就是从start。s开始执行
#10
我用的那个eboot没有这个文件啊(start。s)
#11
up
#12
你看看source文件中又没有包括这个文件或者相关的汇编文件,如果没的话真的就直接到c了
#13
我找到了,应该是先运行的arm文件夹下的一个fw.s的文件,这个文件引用了内核的硬件初始化文件,也就是eboot和内核共享代码。但是在我查看串口初始化的 时候,发现eboot引用的串口初始化函数UART_BASE0=0X1B00000,(大约是这个数,记不清),但是在nboot汇编中这个值初始化是0x50000000,这是为什么,内核把地址重新影射了么?
#14
检测 EBoot 里面的 MMU 配置,要是 EBoot 没有起来的话多半是 EBOOT 的 MMU 没有配置好,可以在 EBOOT 的初始化汇编中加两个 LED 看看程序跑到哪里了。
#15
谢谢,问题还没解决,过几天再结贴。我现在看eboot的源码,汇编部分,fw.s 是与内核公用的,内核写进去可以启动说明内核这部分代码没问题(用开发板自带的eboot.bin,无源码),但是为什么我的eboot没有显示呢。网上看到说微软的编译器有问题,编出来的文件前四k是空的,具体没看明白,这个有影响么?,
#16
fw.s 是与内核公用的??
________________________
估计是4.2BSP吧,我的5.0BSP没有这个文件,还有和内核公用的?我觉得这两个文件都差不多的。其实在OAL可以把这个文件删减一些。
________________________
估计是4.2BSP吧,我的5.0BSP没有这个文件,还有和内核公用的?我觉得这两个文件都差不多的。其实在OAL可以把这个文件删减一些。
#17
4.2和5.0的名字不同,5.0叫startup.s,4.2叫fw.s
#18
我用的是开发板提供的bsp包,可能他们也是从4.2移植到5.0的。
#19
问题解决,给分了,原来还是微软编译器的问题,用pb编译eboot,前四k代码是空的
#20
大虾们 什么是EBOOT ? NBOOT?
#21
#1
在初期最好找个好的来弄,不然开发一个bootloader涉及了ARM多方面,很难的。
优龙,立宇泰的都不错。
优龙,立宇泰的都不错。
#2
关于eboot啊,什么MBR,我的博客有一些介绍,楼主找些代码来看就更好。
#3
eboot要烧录.nb0文件
至于区别,你在论坛里搜索一下,已经回答过很多次了。
MBR,TOC可以用也可以不用,看你的nboot是怎么写的了。
至于区别,你在论坛里搜索一下,已经回答过很多次了。
MBR,TOC可以用也可以不用,看你的nboot是怎么写的了。
#4
mark
#5
1.估计是串口没起来。
2.你是指调试信息吗?那个是EBOOT打。3也是EBOOT的事
4.BIN和NB0一个是压缩的一个是没有压缩的
5.这种认识不太正确,要看代码的。
2.你是指调试信息吗?那个是EBOOT打。3也是EBOOT的事
4.BIN和NB0一个是压缩的一个是没有压缩的
5.这种认识不太正确,要看代码的。
#6
#7
up
#8
关于问题5,我看到网上介绍的eboot流程都是从startup.s开始的。但是有的eboot没有这个文件,那么nboot在把指针交给eboot时,第一个执行的是那个函数或者文件呢,不会是main()吧?eboot不需要对硬件再进行初始化了么
#9
没啊,从eboot。nbo最开始执行,就是从start。s开始执行
#10
我用的那个eboot没有这个文件啊(start。s)
#11
up
#12
你看看source文件中又没有包括这个文件或者相关的汇编文件,如果没的话真的就直接到c了
#13
我找到了,应该是先运行的arm文件夹下的一个fw.s的文件,这个文件引用了内核的硬件初始化文件,也就是eboot和内核共享代码。但是在我查看串口初始化的 时候,发现eboot引用的串口初始化函数UART_BASE0=0X1B00000,(大约是这个数,记不清),但是在nboot汇编中这个值初始化是0x50000000,这是为什么,内核把地址重新影射了么?
#14
检测 EBoot 里面的 MMU 配置,要是 EBoot 没有起来的话多半是 EBOOT 的 MMU 没有配置好,可以在 EBOOT 的初始化汇编中加两个 LED 看看程序跑到哪里了。
#15
谢谢,问题还没解决,过几天再结贴。我现在看eboot的源码,汇编部分,fw.s 是与内核公用的,内核写进去可以启动说明内核这部分代码没问题(用开发板自带的eboot.bin,无源码),但是为什么我的eboot没有显示呢。网上看到说微软的编译器有问题,编出来的文件前四k是空的,具体没看明白,这个有影响么?,
#16
fw.s 是与内核公用的??
________________________
估计是4.2BSP吧,我的5.0BSP没有这个文件,还有和内核公用的?我觉得这两个文件都差不多的。其实在OAL可以把这个文件删减一些。
________________________
估计是4.2BSP吧,我的5.0BSP没有这个文件,还有和内核公用的?我觉得这两个文件都差不多的。其实在OAL可以把这个文件删减一些。
#17
4.2和5.0的名字不同,5.0叫startup.s,4.2叫fw.s
#18
我用的是开发板提供的bsp包,可能他们也是从4.2移植到5.0的。
#19
问题解决,给分了,原来还是微软编译器的问题,用pb编译eboot,前四k代码是空的
#20
大虾们 什么是EBOOT ? NBOOT?