全部博文(2005)
分类:
2008-03-20 09:44:15
chinaunix网友2008-05-30 13:46:08
------------startup.s------------ __main: 58 B ResetHandler 59 B UndefinedHandler 60 B SwiHandler 61 B PrefetchHandler 62 B AbortHandler 63 NOP @ Reserved Vector 64 B SaveProgramState @ B IRQ Interrupt SaveProgramState 65 B FiqHandler @ FIQ interrupts not anabled USB/UART驱动确实用的是中断传输方式,但是最后都导入startup.s中的中断向量表吗? 请教一下具体是哪个中断入口? SWI?
chinaunix网友2008-05-30 09:48:06
您好: 能否和您探讨一下pxa处理器的启动流程,您用的是TAVOR,我用的是pxa310。上电启动后各个模块的加载顺序: BOOTROM-> DKB ->OBM-> BLOB DKB接收主机发过来的TIM/OBM/BLOB这些镜像文件,将这些文件写入Flash,然后 将控制转给OBM,OBM在根据NTIM的信息,将Flash上blob的镜像写入NTIM中指定的load_addr,这个地址是在内存中。 整体流程就是这样,但是仔细看汇编代码发现: DKB在ISRAM中运行,为什么它要复制自身到DDR,打开MMU后在接收PC发过来的镜像文件,直接在ISRAM中运行不可以吗?在ISRAM中不也可以访问DDR内存吗? OBM也是按照DKB这样的方法,先从ISRAM中运行,在复制自己到DDR,找到NTIM中指定的BLOB信息后有复制自己到ISRAM,接着把BOLB复制到内存,打开MMU,直接跳到内存开始执行BLOB。 总而言之,我觉的DKB、OBM应该和成一个,要么在ISRAM中运行,要么在DDR中运行。功能就是接收PC发的NTIM/BLOB这些镜像文件,存在DDR中的起始地