【Freescale i.MX21项目】系列之--Eboot, OAL - 上海嵌入式家园 贺工
2008-04-13 22:45
633 查看
【Freescale i.MX21项目】系列之--Eboot, OAL
[b][b]Author: 贺工
上海嵌入式家园-开发板商城
嵌入式家园网址:http://www.embedclub.com/
淘宝商城网址:http://embedclub.taobao.com/
[/b][/b]
前段Team刚完成一个基于Freescale i.MX21,WinCE5平台的一个手持医疗设备系统开发项目。
由于开发周期“相当短”,呵呵,这里用“相当短”也不为过,实在有感于我们WinCE Team的强大啊!说实话,能在如此短的时间内,Enabe整个系统开发,而且客户相当满意,实属不易啊, 呵呵 , 所以,在此再吹吹Team的强大!
言归正传,我将就整个项目一个开发流程作为一个系列,回顾开发过程的点点滴滴......
Eboot和OAL
是说话,这两部分也没做很多修改了。只是在修改了eboot.bib文件中的EBOOT下载地址,这个很容易理解了。
接着,就是Enable Debug Port了。所要做的就是修改iMX21ADS.bat文件中环境变量BSP_SERIALDBG_INT=1, 这样就打开了debug.c文件中的三个操作debug port的函数OEMInitDebugSerial(),OEMReadDebugByte(),OEMWriteDebugByte(), sysgen就OK了。
由于, Freescale已经做好了BootStrap对系统已经做好了基本的配置,因此,我们可以直接使用HABTool工具来下载Eboot.nb0和NK.nb0至SDRAM.
我们通过打印调试消息来检验系统是否已经正常启动。
当然,这只是简单的把image下载到SDRAM,跑起系统,这个只是作为调试用的, 最终还是得把image下载到NANDFlash 或 NorFlash中保存。
项目使用的是16M的NorFlash,说实话,这种设计不是很合理了,建议使用NANDFlash 。这个把image下载到NorFlash过程是由Elton来完成的,很不幸本人没有直接参与,不过,这部分先放着,等我向Elton君学到后,再来show给大家,哈哈!
至此,系统虽然是进去了,但是DISPLAY没有起来,没有视觉冲击,呵呵
接下来要做的当然就是点亮BACKLIGHT, ENABLE LCD。
找到对应点亮BACKLIGHT模块的GPIO口PE5, 配置相应的GPIO控制寄存器,并且使得PE5输出来高电平1。这样,点亮BACKLIGHT。
同样,找到对应ENABLE LCD模块的GPIO口PA31, 配置相应的GPIO控制寄存器,并且使得PA31输出来高电平1。这样,ENABLE LCD。
接着,就是根据具体的DISPLAY controller芯片来设置相应的寄存器组值,我觉得最关键的就是PCR寄存器了,非常关键!
具体DISPLAY controller相应的寄存器组值的设置,请参考下期的【Freescale i.MX21项目】系列之--DISPLAY
[b][b]Author: 贺工
上海嵌入式家园-开发板商城
嵌入式家园网址:http://www.embedclub.com/
淘宝商城网址:http://embedclub.taobao.com/
[/b][/b]
前段Team刚完成一个基于Freescale i.MX21,WinCE5平台的一个手持医疗设备系统开发项目。
由于开发周期“相当短”,呵呵,这里用“相当短”也不为过,实在有感于我们WinCE Team的强大啊!说实话,能在如此短的时间内,Enabe整个系统开发,而且客户相当满意,实属不易啊, 呵呵 , 所以,在此再吹吹Team的强大!
言归正传,我将就整个项目一个开发流程作为一个系列,回顾开发过程的点点滴滴......
Eboot和OAL
是说话,这两部分也没做很多修改了。只是在修改了eboot.bib文件中的EBOOT下载地址,这个很容易理解了。
接着,就是Enable Debug Port了。所要做的就是修改iMX21ADS.bat文件中环境变量BSP_SERIALDBG_INT=1, 这样就打开了debug.c文件中的三个操作debug port的函数OEMInitDebugSerial(),OEMReadDebugByte(),OEMWriteDebugByte(), sysgen就OK了。
由于, Freescale已经做好了BootStrap对系统已经做好了基本的配置,因此,我们可以直接使用HABTool工具来下载Eboot.nb0和NK.nb0至SDRAM.
我们通过打印调试消息来检验系统是否已经正常启动。
当然,这只是简单的把image下载到SDRAM,跑起系统,这个只是作为调试用的, 最终还是得把image下载到NANDFlash 或 NorFlash中保存。
项目使用的是16M的NorFlash,说实话,这种设计不是很合理了,建议使用NANDFlash 。这个把image下载到NorFlash过程是由Elton来完成的,很不幸本人没有直接参与,不过,这部分先放着,等我向Elton君学到后,再来show给大家,哈哈!
至此,系统虽然是进去了,但是DISPLAY没有起来,没有视觉冲击,呵呵
接下来要做的当然就是点亮BACKLIGHT, ENABLE LCD。
找到对应点亮BACKLIGHT模块的GPIO口PE5, 配置相应的GPIO控制寄存器,并且使得PE5输出来高电平1。这样,点亮BACKLIGHT。
同样,找到对应ENABLE LCD模块的GPIO口PA31, 配置相应的GPIO控制寄存器,并且使得PA31输出来高电平1。这样,ENABLE LCD。
接着,就是根据具体的DISPLAY controller芯片来设置相应的寄存器组值,我觉得最关键的就是PCR寄存器了,非常关键!
具体DISPLAY controller相应的寄存器组值的设置,请参考下期的【Freescale i.MX21项目】系列之--DISPLAY
相关文章推荐
- 【Freescale i.MX21项目】系列之二-DISPLAY - 上海嵌入式家园 贺工
- 【SAMSUNG S3C2440A 项目开发】系列之--BootLoader - 上海嵌入式家园 贺工
- 【好消息】:上海嵌入式家园-开发板商城新年巨献,隆重推出Mini2440开发板实战项目套餐系列
- CMOS/USB摄像头选购链接 - 上海嵌入式家园 贺工
- 我是使用笔记本的,请问贺工还有什么配件需要购买吗?如何实现在线仿真调试呢? - 上海嵌入式家园 贺工
- 【转帖】/bin/sh与/bin/bash的细微区别 上海嵌入式家园 贺工
- 基于CE的嵌入式软件开发程序入门 - 上海嵌入式家园 贺工
- 简易JTAG调试小板与JLINK和OpenJTAG的区别 上海嵌入式家园-开发板代理商城 贺工
- Windows CE 编程的十点忠告 - 上海嵌入式家园 贺工
- 【转贴】在Solaris中使用用户态程序直接访问I/O端口 - 上海嵌入式家园 贺工
- OpenJTAG与JLINK有什么区别? 上海嵌入式家园-开发板代理商城 贺工
- 【申嵌视频-mini2440专题篇之Linux驱动开发基础班】下载地址 - 上海嵌入式家园贺工
- linux下export无效的原因与对策 - 上海嵌入式家园 贺工
- 对蓝牙的第一次亲密接触 - 上海嵌入式家园 贺工
- H-JTAG V1.0 Release.EXE新版本的CPU detect步骤 上海嵌入式家园贺工
- 虚拟机Linux 通过usb转串口线与开发板通信方法 上海嵌入式家园-开发板代理商城 贺工
- 连接USB转串口线,串口没有消息出来, 怎么办? 上海嵌入式家园-开发板代理商城 贺工
- 【申嵌视频-mini2440专题篇之ARM微处理器开发基础班】下载地址 - 上海嵌入式家园贺工
- RHEL5/Fedora下RPM的使用 - 上海嵌入式家园 贺工
- Fedora 9 下tftp的安装与配置步骤 - 上海嵌入式家园 贺工