wince计划

 作了wince移植也已经2-3个礼拜了,目前的状态: bootloader作的磕磕碰碰,主要是MMU,它的实现毛病多多,一开MMU,将PA映射到0x80000000以上时,在mcr寄存器c1后,就会跑飞,尝试过一下一些手段,都没能解决: 1、填nop,所谓的流水线prefetch,arm926ej-s的五级流水线,可以读入mcr后的几条指令,在mcr修改c1寄存器值以后,紧跟着的指令是否在VA空间?     2、武力修改地址。ldr r0,=main获得了main的相对link时候的地址(从00 01 10 00开始),自己动手将其转化到物理空间,  
                                                                       sub   r2,r2,#0x11000
                                                                       orr   r2, r2,#0x84000000           存在疑惑的地方有:1、build -c生成的eboot文件是什么格式?exe?pe?老K直接删除头文件有没有问题 2、为什么有时候串口的地址可以胡写,0x80006c00 0x83006c00 0x89006c00 都可以在串口调试助手的窗口接受到回显信息 3、bootloader实现将文件从串口接受,转而放到flash,启动时是否可以在flash直接运行,即所谓的XIP,如果可以的话, 注意到flash必然是固化信息比特,那么如果需要修改数据、或者全局变量什么的、怎么办? 加载到RAM中? 可以在config.bib中指定ram的大小和位置,是否就意味着可以直接由OSkernel来控制这些需要修改的变量? 4、bootloader是否只要完成将内核镜像下载到flash中,剩下的事就完全由重起时由0x00000000开始运行OAL的startup(),继而转到kernelstart?=?    5、编写OAL的代码要提供oem_addresstable.inc文件。 6、改写OAL 层还要修改哪些文件?? 7、驱动程序需要编写么? 有什么可以写的.?   8、编译内核的时候怎么选择只编译wince的命令行格式。
原文地址:https://www.cnblogs.com/googlegis/p/2979233.html