- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
QSC60X0 体系结构和软件启动流程介绍.PDF
QSC60X0 体系结构和软件启动流程介绍 QSC60X0 是一个单芯片的平台,将电源管理芯片,射频芯片,基带芯片合成 到一块芯片上,节省了成本和功耗,提高了手机通话和待机时间,将很快会成为 CDMA 中底端市场的主流芯片。下面的框图是QSC60X0 芯片的大致结构: 主控芯片是一块 ARM926EJS 的处理器,Single-Chip 1X 芯片已经将基带,射频 和电源管理集成到一块。QDSP4000 是一块 DSP 处理芯片,主要是用来做语音, midi/mp3/aac 等多媒体的编解码功能的处理。外部的人机接口包括了 Speaker/ 耳机,振动,键盘,USB/UART,JTAG 调试接口等等,很方便的扩展外部功能。 下面介绍一下底层软件开机的大致流程。系统上电后,程序会自动跳转到复位 异常中断处理程序处执行。此时 PC 指针会指向 0。依据 ARM 体系的结构特征, 在0x00—0x20前32个字节的空间里面,分别存储着不同异常中断向量的入口地 址,在boot_vectors.s文件里依次如下: 0x0000 B Reset_Handler ;复位 0x0004 B Undefined_Handler ;未定义指令 0x0008 B SWI_Handler ;软件中断 0x000C B Prefetch_Handler ;指令预取中止 0x0010 B Abort_Handler ;数据访问中止 0x0014 B Reserved_Handler ; 0x0018 B RAM_IRQ_VECTOR ;外部中断请求 0x001C B RAM_FIQ_VECTOR ;快速中断请求 系统上电后,自动进入 Reset_Handler 复位异常处理程序,并依次完成以下调用 1. mmu_enable_instruction_cache 使能ARM926EJS的MMU 指令缓冲 2. boot_hw_tlmm_init 3. boot_hw_ctrl_init 初始化QSC6010 的控制寄存器。初始化完成后,可以访问ROM/RAM的地址空 间。 4. boot_rom_test ROM的自检,确保ROM是可以使用的。 5. boot_ram_test RAM的自检,确保RAM是可以使用的。 6. boot_ram_init RAM空间的初始化,将完成RW段从ROM到RAM里面的搬运和ZI段的清零。 7. boot_ram_initialized 设置ram 初始化的标志,当初始化完成后,就可以设置ARM的各种模式下的 堆栈的大小和堆栈的初始化了。 8. boot_hw_set_msm_wait_states 9. boot_hw_calculate_wait_states 设置flash,Psram的工作模式和wait state等等。 10. clk_regime_set_mclk_hi_clk 设置系统的工作时钟。 11. boot_cache_mmu_init 初始化MMU 寄存器。
文档评论(0)