- 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)