SylixOS最小系统开发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SylixOS最小系统开发相关的知识,希望对你有一定的参考价值。
\
开发环境
操作系统:SylixOS
编程环境:RealEvo-IDE3.1.5
硬件平台:MPC8313E-RDB
16KB I-Cache,16KB D-Cache,8MB NOR Flash,128MB DDR2,32MB NAND Flash;
两路三速(10/100/100 Mbps)的以太网控制器(eTSECs);
一个 DDR1/DDR2 SDRAM内存控制器;
一个增强的本地总线控制器(eLBC);
一个32bit的PCI-2.3控制器;
1路USB 2.0 HS Device & HOST 二合一接口;
2路UART,2路I2C,1路SPI,一个4通道DMA;
软件看门狗定时器,电源管理控制器PMC;
最高可在333MHz的频率下运行。
图 2.2 config.h设置
第三步:在PowerPC的config.h文件中,还需要设置 BSP_CFG_OS_BASE。BSP_CFG_OS_BASE的作用是指定BSP文件的启动基址,如图 2.3所示。 图 2.3 BSP_CFG_OS_BASE的设置
第四步:修改config.ld文件,设置内存布局定义。把BSP_CFG_RAM_BASE改为BSP_CFG_OS_BASE。如图 2.4所示。
修改startup.S 系统引导文件
看门狗设置
看门狗定时器的设置可以在Uboot中获得,笔者使用的是经典的Uboot 1.1.6版本。在u-boot-1.1.6/include/ mpc83xx.h文件中可以获得看门狗的配置信息,如图 2.5所示。
图 2.5 uboot看门狗配置信息
在u-boot-1.1.6/cpu/mpc83xx/start.S文件中可以获得配置看门狗的汇编语句,如图 2.6所示。
图 2.6 uboot看门狗设置
异常向量表设置
异常向量中断表的内容在创建工程时是自动生成的,一般不用修改,但是对于MPC8313E需要设置减流器异常(Decrementer)需要跳转到的函数,如图 2.7所示。
图 2.7 Decrementer异常设置
当Startup.S中的初始化流程结束后,会进入到初始化的C程序入口函数bspInit。
修改bspMap.h地址映射文件
bspMap.h不需要修改。
编写系统公用头文件
编写公用寄存器地址头文件
MPC8313E所有设备的寄存器都映射到一块大小为1Mbyte的内存中,此内存叫做内存映射寄存器IMMR(Internal Memory Map Registers),IMMR的基址寄存器叫做IMMRBAR。IMMRBAR在u-boot中设置为0xE0000000。如图 2.8所示。
图 2.8 u-boot中IMMR的设置
在u-boot-1.1.6/cpu/mpc83xx/start.S中写入指定的寄存器,如图 2.9所示
图 2.9 start.S设置IMMRBAR
MPC8313E的芯片手册,2.3章节描述了IMMR Memory Map的相关信息。参照IMMR Memory Map笔者把所有设备的寄存器基址合并在immr.h头文件中,如图 2.10所示
参考资料无
本文出自 “逍遥蓝云的家” 博客,请务必保留此出处http://xiaoyaolanyun.blog.51cto.com/2586643/1926215
以上是关于SylixOS最小系统开发的主要内容,如果未能解决你的问题,请参考以下文章