应用于DM648的FLASH自动加载实现方法
3]全部为低电平,FASTBOOT为高电平,选择芯片的启动方式为仿真器启动。连接仿真器、DM648核心板和PC机,配置仿真器驱动保证CCS可以配合硬件环境完成程序调试。
3)烧写UBL及应用程序AIS文件
在CCS环境下打开TI公司的DVSDK中的DM648_NORWriter.pjt,该工程实现将UBL及应用程序AIS文件烧写到FLASH中。首先通过CFI接口读取FLASH芯片的参数并自动选择操作FLASH所用的命令字是AMD模式或是Intel模式。在实际开发时所选FLASH芯片可能不支持CFI接口,此时需要使用者参考自己使用的硬件系统中FLASH芯片数据手册,指定操作FLASH所用的指令字。
由于烧写程序需要将AIS镜像文件完全烧写到FLASH中而不需要对内容作解析,因此在CCS环境下以文件操作的形式,使用二进制格式将镜像文件打开,获得文件指针并读取文件内容。文件操作代码如下:
//输入UBL.ais文件路径
DEBUG_printString(“Enter thc binary AIS file name:
\r\n”);
DEBUG_readString(fileName);
fflush(stdin);
//以二进制形式打开UBL.ais文件,获取文件指针fPtr
fPtr=fopen(fileName,“rb”);
//读取AIS文件的长度(字节数)
fseek(fPtr,0,SEEK_END);
ublFileSize=ftell(fPtr);
程序运行后会弹出对话框要求输入AIS文件路径。在CCS环境中连接DM648核心板,编译并运行DM648_NORWriter.pjt工程完成烧写。
4)重新配置启动模式实现系统自启动
烧写完成后,断开CCS连接,DM648核心板断电并且重新设置引脚BOOTMODE[0:3]状态为0100,FASTBOOT为高电平,以此选择芯片的启动模式为EMIFA ROM快速启动。DM648核心板重新上电后自动运行UBL程序实现应用程序的自动加载。可以使用串口线连接DM648和PC机,UBL会在执行过程中将启动信息通过串行接口发送到PC机。
5 结论
实现DM648系统的自动加载需要经过编写二次引导程序,将二次引导程序和应用程序编译结果转换为可用于烧写的AIS文件,最终将AIS烧写到FLASH中。整个过程有一定的复杂性。本文给出的方法和程序为实现这一功能提供了简明的方法,通过在DM648核心板上实现FLASH烧写和自启动过程证明了该方法有效,同时文中提出的格式转换方法可以推广到DM648的其他启动方式中。
用户引导程序 公共目标文件格式 应用镜像脚本 TMS320DM648 自举加载 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)