|
发表于 2009-3-25 09:39:25
|
显示全部楼层
基于ARM7的常用的开机流程分析
发布:小螃蟹 日期:6-19
1.ARM从地址0x00000000开始执行指令为ARM的6个运行模式设置栈
2.设置4个CS片选值如果WATCHDOG没到,重新设置BAI,否则跳过
3.初始化GPIO如果WATCHDOG没到,重新设置LCD(打开LCD),否则跳过
2.调用硬件初始化函数HardwareInit()
{
设置GPIO(GPIOCON,GPIODIR,GPIODAT)
设置GPON(PDCUC)
设置PWM(PWMP,PWM0,PWM1)
设置HANDFREE
禁止UART0和UART1上用于IRDA的脉冲波形
配置时钟频率OPCLK: clock frequency for SC core, DSP core,
初始化定时器TIMER0和TIMER1
初始化系统控制寄存器SYSCON
如果WATCHDOG已到达,则初始化DMA单元DMAU
配置PIO
配置中断控制器单元ICU(LIR0, LIR1, LIR2, LIR3, ICR, IMR)
初始化开关逻辑OOL,重新装载WATCHDOG
}
调用函数init_Main,进入主函数
{
设置V_MODE电压
设置LCD和MEMORY电压
设置UART0波特率,流量控制等
等待UART配置300us
向PC发送BOOT_INIT
初始化RTK
Rtk00Go();
初始化task和启动task
进入内核任务调度和消息处理}结束
}
??????????????????????????????????????????????/ |
|