DM365 spi_norflash无操作系统启动和sys_bios启动(一)
来源:互联网 发布:淘宝精品推荐券 编辑:程序博客网 时间:2024/05/16 17:29
项目需要:在TI的多媒体处理器DM365上跑SYS/BIOS系统,而不是通常的linux系统,而启动方式采用spi 的norflash启动。开发环境是CCS5.5
TI 官方在SPI flash启动上所提供的资料并不是很多,而且网上查找到的一些资料也基本上都是用来启动linux系统的,但是,启动的原理是一样的。也就是这样的一个流程。
RBL:ARM ROM Boot Loader,UBL:UserBootloader
RBL 是TI固化在芯片ROM中的bootloader。DM365 在上电启动后先会运行RBL,然后通过RBL加载UBL,再通过UBL加载应用程序。
UBL 是一段小的程序,这段程序用于初始化PLL,DDR以及其他的一些外设,然后进行将应用程序代码从flash拷贝到DDR的功能。然后跳转到应用程序的入口地址。
意思就是,UBL就是用来为想要启动的应用程序配置环境,然后将应用程序导入到DDR或者片内,然后进行执行,下面就介绍本次开发所做的主要的5个实验,从片内程序的启动到SYS/BIOS系统的启动。主要的介绍实验的目的和实验中所遇到的一些问题,及解决的方法。
二:UBL描述符
UBL 的描述符是用来描述整个UBL 的大小,起始地址,和UBL 的入口地址的一段字符,如果DM365配置为SPI flash启动的话,在芯片上电的时候,DM365会自动的寻找这个UBL 的描述符,根据描述符的设置,将UBL 拷贝到片内,然后跳转到UBL的入口地址,开始执行。
0-3 幻数 用来表示SPI 启动的SPI flash 的寻址方式。
4-7 入口地址,意思是编译生成的bin 文件的入口地址,可以问自己定义的boot的入口地址,也可以是_c_int00()的函数地址,经测试都是可以进行启动的。
8-11 UBL 的大小。
12 SPI 的频率配置。
13 SPI fastread模式是否开启配置。
14-15 伪字节,填零即可。
16-19 在flash中的UBL存放的起始的地址。
20-23 把flash中的UBL导入到片内的起始地址。
三:第一次启动实验(点亮LED,程序全部在片内)。
第一次的实验是将一个点灯的程序当做UBL来进行测试,程序全部放入片内,程序中只有一些psc使能,和PLL配置,以及gpio配置,然后拉高了LED对应的GPIO,需要注意到的问题是:
1:UBL 描述符在烧写工程中更改。
2:在UBL 的描述符里需要将入口地址更改为点灯程序的_c_int00,可以通过debug目录下的.map文件来找到程序的入口地址,也可以在工程属性中进行如下配置,使程序仿真的时候不直接跳到main函数。
3:程序要控制到30KB以内。
4:bin文件的生成
在command下输入:
"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin""${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin""${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex""${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
在工程编译之后会在debug目录下自动生成.bin文件,然后在烧录工程中添加UBL描述符,或者手动修改bin文件添加UBL描述符,生成最终的bin文件
5:整个UBL烧写到FLASH的首地址0x000000.
- DM365 spi_norflash无操作系统启动和sys_bios启动(一)
- DM365 spi_norflash无操作系统启动和sys_bios启动(二)
- DM365 spi_norflash无操作系统启动和sys_bios启动(三)
- dm365的串口启动模式
- DM365 NAND启动模式解析
- DM365 u-boot 启动分析
- DM365 u-boot启动分析
- DM365 u-boot 启动分析
- 操作系统安装和启动流程
- 无光驱和软区,又不支持U盘启动的笔记本安装操作系统技巧
- DM365启动之—RBL、UBL分析
- DM365启动之—RBL、UBL分析
- 一步步写操作系统(一) BOOT启动
- 操作系统一启动==就装入编译器==无操作系统的命令准备==再从以2加的BOOT。img后启动==形成的就是自我完成的操作系统==否则还是DOS和LIUNX.
- 操作系统启动过程----启动部分
- DM365视频处理流程/DM368 NAND Flash启动揭秘
- dm365启动分析以及RBL、UBL、Uboot的简单介绍
- DM365视频处理流程/DM368 NAND Flash启动揭秘
- [51]声波测距
- A master URL must be set in your configuration at org.apache.spark.SparkContext.<init>(SparkContext.
- php查找页面上的所有链接
- js学习笔记]PDF.js专题
- 堆排序
- DM365 spi_norflash无操作系统启动和sys_bios启动(一)
- VS2012调试"无法启动程序 拒绝访问"解决办法
- 遍历系统的所有ObjectType和TypeIndex
- C语言常量与变量
- Bitmap
- [51]L298N电机驱动
- php自动转换URL,跳转至超链接
- 做一个DBC文件到可标定CAN自动匹配的小工具
- 关于jqgrid的分页笔记